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

L I V E Stammtisch ab 20:30 Uhr im Chat
  • Mit dem Pi über WhatsApp Nachrichten, etc. senden!? Schau mal ob du hier fündig wirst!

  • 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:

    Einmal editiert, zuletzt von AltBen (28. November 2013 um 22:20)


  • [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 :-/

    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

    Einmal editiert, zuletzt von Fillip13 (28. November 2013 um 22:57)

  • 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

  • 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 ( https://www.forum-raspberrypi.de/Thread-tutoria…=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

    Einmal editiert, zuletzt von Tasty (30. November 2013 um 14:10)

  • 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.


  • 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?

    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(" ,",",")

    Einmal editiert, zuletzt von HaSch (30. November 2013 um 20:24)


  • 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(" ,",",")

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!