Mit dem Pi über WhatsApp Nachrichten, etc. senden!


  • [quote pid='40746' dateline='1383316818']
    Sollte jemand dieselbe Funktion benoetigen - der Patch steht hier zum download. Nach dem Runterladen in das Examples Verzeichnis als CmdClient.patch dort den Patch mit

    Code
    patch < CmdClient.patch


    [/quote]


    Ist die rede von diesem Patch?

  • habe alles wie im Tutorial gemacht, doch wenn ich nun eine Nachricht versende, kommt am pi, das er sie gesendet hat, aber am Zielhandy kommt nichts an.


    Ausgaben des Pi:


    Code
    pi@ServerPi ~/yowsup-master/src $ python yowsup-cli -c config.example -s 49123456789 "Test"
    Detected cc: 49
    Authed 49987654321
    Sent message


    Doch am Handy kommt nichts an


    Hat sich erleditg!
    Hatte die Ziel-Nr falsch eingetragen :blush:

    Ich bin root! Ich darf das! :D



    Diese Signatur könnte jetzt sinnvoll sein ... ist sie aber nicht! :denker:

    Edited once, last by AltBen ().

  • Ist die rede von diesem Patch?


    Ja, Ich habe vor zwei Tagen meine Webseite von unten nach oben gekrempelt und der Link ist nicht mehr korrekt :-/ ... werde das fixen. Bis dahin
    nimm diesen Link

    Sichere Deine Raspbberry regelmäßig mit raspiBackup . Sicher ist sicher ;-)


    Darum gebe ich keinen Support per PN


    "Really, I'm not out to destroy Microsoft. That will just be a completely unintentional side effect." Linus Benedict Torvalds, 28.9.2003


    Edited once, last by framp ().


  • [quote pid='47596' dateline='1385666413']
    Ja, Ich habe vor zwei Tagen meine Webseite von unten nach oben gekrempelt und der Link ist nicht mehr korrekt :-/ ... werde das fixen. Bis dahin
    nimm diesen Link


    [/quote]
    Hatte mich schon gewundert da dort die rede von DHCP war :-/
    [hr]


    Also ich habe


    Code
    sudo python yowsup-master/src/yowsup-cli -c yowsup-master/src/config.example -l -a


    und trotzdem werden immer beim aufbau alle nachrichten als NEU behandelt und nur ein haken

    Edited once, last by Fillip13 ().


  • Hatte mich schon gewundert da dort die rede von DHCP war :-/
    [hr]


    ... ich mich auch dass dieser Link plötzlich auf meinen DHCP Beitrag zeigt. Ist jetzt aber gefixed :)

    Sichere Deine Raspbberry regelmäßig mit raspiBackup . Sicher ist sicher ;-)


    Darum gebe ich keinen Support per PN


    "Really, I'm not out to destroy Microsoft. That will just be a completely unintentional side effect." Linus Benedict Torvalds, 28.9.2003


    Edited once, last by framp ().

  • Mal was anderes: Weiß jemand, wie ich in der CmdClient.py die Reihenfolge der Befehle ändere, die im Prompt angezeigt wird, wenn ich einen Befehl abgesetzt habe? Sie stimmt nämlich nicht mit dem überein, was in self.commandMappings angezeigt wird. Ich möchte z. B. den Befehl /exit ans Ende setzen.


    Gruß
    Hans

  • Suche mal nach sort. Die Liste wird sortiert ausgegeben. Den sort einfach entfernen.

    Sichere Deine Raspbberry regelmäßig mit raspiBackup . Sicher ist sicher ;-)


    Darum gebe ich keinen Support per PN


    "Really, I'm not out to destroy Microsoft. That will just be a completely unintentional side effect." Linus Benedict Torvalds, 28.9.2003


  • Ich hab grad dieses Thema entdeckt und hab das natürlich direkt ausprobieren wollen, es klappt eigentlich auch alles, nur das reagieren auf nachrichten nicht so wirklich ( http://www.forum-raspberrypi.d…senden?pid=38436#pid38436 ) - soll ich die Datei einzeln starten oder wird sie gestartet nachdem das yowsup-cli mit --listen hört? und muss ich sie irgendwohin verschieben?


    Ich hoffe die Frage wurde nicht schon irgendwo gestellt, denn ich hab noch nicht alle 25 Seiten durch.


    Greetz

    Edited once, last by Tasty ().

  • Du musst den listener selber starten. Schau mal zwei drei Seiten vorher da hatte ich das auch gefragt und da ist ein Code dazu

  • Hm .. vermutlich weisst Du nicht wo genau die Änderung ist:

    Code
    def getPrompt(self):
            message=[ "%s%s%s" % (i," " if self.commandMappings[i][1] else "", self.commandMappings[i][1]) for i in sorted(self.commandMappings, lambda x,y: cmp(x,y), lambda x: self.commandMappings[x][2])]                                                                                            
            return "Enter Message or command: (/%s)" % ", /".join(message).replace(" ,",",")[/i][/i]


    Die Änderungen sind auch in den Patch eingeflossen. Also falls es nicht klappt einfach den Patch applyen.

    Sichere Deine Raspbberry regelmäßig mit raspiBackup . Sicher ist sicher ;-)


    Darum gebe ich keinen Support per PN


    "Really, I'm not out to destroy Microsoft. That will just be a completely unintentional side effect." Linus Benedict Torvalds, 28.9.2003


    Edited once, last by framp ().


  • Hm .. vermutlich weisst Du nicht wo genau die Änderung ist:

    Code
    def getPrompt(self):
            message=[ "%s%s%s" % (i," " if self.commandMappings[i][1] else "", self.commandMappings[i][1]) for i in sorted(self.commandMappings, lambda x,y: cmp(x,y), lambda x: self.commandMappings[x][2])]                                                                                            
            return "Enter Message or command: (/%s)" % ", /".join(message).replace(" ,",",")[/i][/i]


    Die Änderungen sind auch in den Patch eingeflossen. Also falls es nicht klappt einfach den Patch applyen.


    Ich habe das mit den Parametern in self.commandMappings schon weg gelassen. Ich denke, dass es dann doch mit meiner Version auch funktionieren müsste, oder muss ich dann bei der def getPrompt(self) auch was ändern?
    [hr]
    Also noch mal zur Verdeutlichung. Ich habe jetzt oben:

    Code
    self.commandMappings = {"lastseen": (lambda: self.methodsInterface.call("presence_request", (self.jid,)),"",6),
    "available": (lambda: self.methodsInterface.call("presence_sendAvailable"),"",1),
    "unavailable": (lambda: self.methodsInterface.call("presence_sendUnavailable"),"",2),
    "setprofile": (lambda: self.methodsInterface.call("profile_setPicture", (self.profileName,)),"",4),
    "setstatus": (lambda: self.methodsInterface.call("profile_setStatus", (self.profileStatus,)),"",3),
    "getcontact": (lambda: self.methodsInterface.call("contact_getProfilePicture", (self.jid,)),"",5),
    "exit": (self.done,"",7)
     }


    … und unten:

    Code
    def getPrompt(self):
    message=[ "%s%s%s" % (i," " if self.commandMappings[1] else "", self.commandMappings[1]) for i in sorted(self.commandMappings, lambda x,y: cmp(x,y), lambda x: self.commandMappings[x][2])]                                                                  
    return "Enter Message or command: (/%s)" % ", /".join(message).replace(" ,",",")

    Edited once, last by HaSch ().

  • Keine Ahnung wie Dein Code momentan aussieht. Dein Fehler wg 2 kommt wegen falschem Code. Applye meinen Patch. Dann hast Du den Stand der bei mir funktioniert.

    Sichere Deine Raspbberry regelmäßig mit raspiBackup . Sicher ist sicher ;-)


    Darum gebe ich keinen Support per PN


    "Really, I'm not out to destroy Microsoft. That will just be a completely unintentional side effect." Linus Benedict Torvalds, 28.9.2003



  • Keine Ahnung wie Dein Code momentan aussieht. Dein Fehler wg 2 kommt wegen falschem Code. Applye meinen Patch. Dann hast Du den Stand der bei mir funktioniert.


    Das habe ich gerade gemacht. Das Problem ist nur, dass ich viele "kosmetische" Veränderungen und andere Änderungen gemacht habe, die dann weg sind. Ich habe z. B. den reconnect eingebaut sowie das automatische available beim Start und beim reconnect, das dann weg ist.


    Am liebsten würde ich Deine Änderungen händisch in meine CmdClient.py eingeben, was bis auf die letzten Zeilen (getPrompt) auch funktioniert. Bei dieser Funktion blicke ich aber nicht durch, wie ich die ändern muss, damit es bei mir auch funktioniert. Ich muss doch eigentlich nur die Sache mit den Parametern weg lassen, oder?


    Meine self.commandMappings sehen so aus:

    Code
    self.commandMappings = {"lastseen": lambda: self.methodsInterface.call("presence_request", (self.jid,)),
    "available": lambda: self.methodsInterface.call("presence_sendAvailable"),
    "unavailable": lambda: self.methodsInterface.call("presence_sendUnavailable"),
    "setprofile": lambda: self.methodsInterface.call("profile_setPicture", (self.profileName,)),
    "setstatus": lambda: self.methodsInterface.call("profile_setStatus", (self.profileStatus,)),
    "getcontact": lambda: self.methodsInterface.call("contact_getProfilePicture", (self.jid,)),
    "exit": self.done
     }


    nach der Änderung müssten sie dann so aussehen (ohne Parameterübergabe):

    Code
    self.commandMappings = {"lastseen": (lambda: self.methodsInterface.call("presence_request", (self.jid,)),"",6),
    "available": (lambda: self.methodsInterface.call("presence_sendAvailable"),"",1),
    "unavailable": (lambda: self.methodsInterface.call("presence_sendUnavailable"),"",2),
    "setprofile": (lambda: self.methodsInterface.call("profile_setPicture", (self.profileName,)),"",4),
    "setstatus": (lambda: self.methodsInterface.call("profile_setStatus", (self.profileStatus,)),"",3),
    "getcontact": (lambda: self.methodsInterface.call("contact_getProfilePicture", (self.jid,)),"",5),
    "exit": (self.done,"",7)
     }


    Wie muss ich denn die Zeilen von getPrompt abändern, damit das wieder passt (wie gesagt, ich blicke durch die Funktion leider nicht durch):

    Code
    def getPrompt(self):
    message=[ "%s%s%s" % (i," " if self.commandMappings[1] else "", self.commandMappings[1]) for i in sorted(self.commandMappings, lambda x,y: cmp(x,y), lambda x: self.commandMappings[x][2])]
    return "Enter Message or command: (/%s)" % ", /".join(message).replace(" ,",",")