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

L I V E Stammtisch ab 20:30 Uhr im Chat

  • Klar, dass muss jeder der die neue Konsolenfunktion bei seinem existierenden Code einpflegen will. Sollte aber mit meld und dem 3-Wege merge relativ einfach gehen. Die Änderungen sind auch ziemlich lokal und ueberschaubar.

    ja , wobei vlt wechsel ich auf deine Version und pflege meine nach :)

    hab ja zu 90% nur die Listener geändert

  • Mit dem Pi über WhatsApp Nachrichten, etc. senden!? Schau mal ob du hier fündig wirst!


  • ... hier ist aktuell deine aktuelle Version Framp? Dann patch ich meine mal damit :) ...


    Ja. Ab sofort stelle ich da immer meine Updates und die Beschreibung dazu hin. Ist etwas anstrengend hier im Thread alle meine CodeEinzelteile- und -beschreibungen zu finden und up to date zu halten. So steht alles zentral an einer Stelle.

    Es ist allerdings noch eine Erweiterung in Form eines weiteren Clients in der Pipeline: Ein WhatsUpDaemonClient, den man über Pipes mit Meldungstext füttern kann bzw aus einer Pipe die empfangenen Meldungen lesen kann. Läuft allerdings momentan noch nicht so ganz rund. Wenn Du das gebrauchen kannst würde das später nochmal ein Merge bedeuten. Allerdings ist da nur das yowsup-cli bentroffen sowie ein voellig neuer Client. D.h. der Mergeaufwand ist eher minimal.

  • Das klingt ja mal Super ;)

    Nette Idee
    Ich werd wenn ich meld am laufen habe mal auf deine Version gehen und meine quasi am Ende hinzufügen
    Dann ist das patchen besser

  • hey Framp du hast glaube ich nen tippfehler

    self.auhorizedCommandSenderList=authorizedCommandSenderList.split(",")

    sollte das erste nicht authorized sein? ;)

  • @ masterpete
    hast du es mit -m nummer aufgerufen?`

    weil so wie ich den Code lese muss man die authorized nummern mitgeben, ich werd sie wohl im Code vernudeln ;)


  • self.auhorizedCommandSenderList=authorizedCommandSenderList.split(",")

    Das Pendent ist in handleCommand

    Code
    +        callerNumber=jid.split("@")[0]
    +        if not callerNumber in self.auhorizedCommandSenderList:
    +            print("ATTENTION: Invalid access request from %s [%s]: Command '%s'"%(jid, formattedDate, messageContent))

    Dort wird geprüft ob sich die Nummer des Callers in der Liste die bei -m mitgegeben wurde, befindet. Ist einfach eine Sicherheitsabfrage damit nicht jeder einfach Commands absetzen kann.

    masterpete : Die Nummern nach dem -m muessen mit 49xxx beginnen. Sprich wenn Du die zitierte Felermeldung bekommst musst Du 4924324234234234 noch angeben.


    weil so wie ich den Code lese muss man die authorized nummern mitgeben, ich werd sie wohl im Code vernudeln ;)


    Ich wuerde den yowsup-cli Aufruf mit seinen Parametern in ein kleines shell einmal mit der/den Nummern ins Script schreiben und den Code so variabel aufrufbar lassen. Aber Du kannst natuerlich in Deinem Code tun und lassen was Du willst :)

  • Ja vlt werd ichs auch so machen, dann bleibt das Skript sauber, wobei ichs benutze um die einzelnen Befehle wieder zu unterteilen.

    Ich hab quasi 3 Anwender Gruppen ;) das klappt dann nicht so ganz

    ps. den Schreibfehler haste aber gesehen oben oder is das extra?

  • Das ist kein Schreibfehler. Mit split wird der kommaseparierte String "4912345,4998765" in die Liste [4912345, 4998765] aufgeteilt. Somit kann mit dem

    Code
    if not callerNumber in self.auhorizedCommandSenderList


    getestet werden ob die Callenummer in der Liste drin ist. Das funktioniert auch wenn nur eine Nummer angegeben wurde.
    Test z.B. mal

    Code
    3 in [1, 2, 3] 
    sowie
    5 in [1, 2, 3]


    in der PythonCmdLine.

  • python yowsup-cli -c config.example -l -a -k -m 49123456783

    framp
    Geht um das auhorized das sollte ja authorized heißen mit t ;)
    Aber ok :)

    Aber ja das is ne gute Idee frag ich das so ab in Zukunft ;)

    Einmal editiert, zuletzt von StillResonance1614 (13. Dezember 2013 um 10:34)


  • Geht um das auhorized das sollte ja authorized heißen mit t ;)

    Oh Mann :blush: ... jetzt habe ich Dich verstanden. Jupp, ist ein Typo - führt aber zu keinem Fehler da sowohl an der Deklaration wie auch Benutzung derselbe Typo drin ist. Werde es aber mal im nächsten Codedrop ändern.

    masterpete : Die Fehlermeldung sagt es ja: Es geht nur entweder -l oder -m. Mit -m schaltest Du den CommandClientmodus ein.

    Code
    python yowsup-cli -c config.example -a -k -m 49123456783
  • jap kein Stress, kenne sowas, passiert mir auch, und suche dann aber ewig den Fehler, wobei du es ja wenisgtens durchgezogen hast ;)

    nochmal zum Verständnis der .patch funktion, wenn ich eigenen Text habe "zwischen" deinem ignoriert er ihn oder bringt er einen Fehler?


    masterpete ja wie framp gesagt -m statt -l ;)

Jetzt mitmachen!

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