- Offizieller Beitrag
Das verzeichnis musst du nicht wechseln, da er ja absolute Pfade benutzt. Allerdings muss sichergestellt werden das www-data (der user unter dem der webserver läuft), dieses auch ausführen darf.
Das verzeichnis musst du nicht wechseln, da er ja absolute Pfade benutzt. Allerdings muss sichergestellt werden das www-data (der user unter dem der webserver läuft), dieses auch ausführen darf.
Mit dem Pi über WhatsApp Nachrichten, etc. senden!? Schau mal ob du hier fündig wirst!
Bei mir disconnectet er immer wenn ich eine Nachricht zurück schicken will wie in dem beispiel von Exayte.
Normale os.system Befehle für skripte klappen aber sobald er ne Nachricht zurücksendet klappt das mit der -a Option nicht und es stribt
Edit:
Aktuell disconnectet er immer, wenn ich einen Befehl ausführe
Ja, das Problem habe ich auch. Ich kam aber noch nicht dazu, nach einer Lösung zu suchen...
Könnt ihr das Problem noch kurz zusammenfassen? dann fahre ich meine Python skillz mal hoch :), und teste es mal.
Könnt ihr das Problem noch kurz zusammenfassen? dann fahre ich meine Python skillz mal hoch :), und teste es mal.
Also wenn in der ListenerClient z.B. folgendes steht:
if "!test" in messageContent:
os.system('python yowsup-cli -c config.example -s 4916096753820 "Befehl "!test" erfolgreich ausgelesen."')
kommt nach dem Senden der Antwort:
Dies passiert aber nur, wenn man den "Senden" Befehl ausführt.
Ich denke, dass in der EchoClient( Das scheint der Code zum Senden zu sein) irgendwo steht, dass die Verbindung nach dem Senden getrennt werden soll.
Auch wenn ich den "Senden Befehl" mit dem Keepalive Attribut ausführe ändert sich nichts
Könnt ihr das Problem noch kurz zusammenfassen? dann fahre ich meine Python skillz mal hoch :), und teste es mal.
Beim Listen hab ich ein If-Befehl eingebaut, der einen Befehl (Os.System() ) ausführen soll. In dem Fall etwas zurückschreiben.
Sobald jedoch yowsup erneut durch den Befehl Os.System aufgerufen wird, schließt er die erste Verbindung (also den Listen), was ein weiteres Reagieren auf andere Befehle unmöglich macht.
also
statt
edit: ganz vergessen DANKE
hilft aber leider nichts gleicher fehler:
pi@raspberrypi /opt/yowsup/src $ python yowsup-cli -l -c config.example -a -k
Detected cc: 49
Authed 4968219315241
asdasdasdasdad@s.whatsapp.net [30-10-2013 14:04]:Sup?
Detected cc: 49
Authed 4968219315241
Sent message
Disconnected because closed
if "Sup?" in messageContent:
try:
os.system('sudo /opt/yowsup/src/ok.sh')
except:
pass
if "!Wohnzimmer Licht an" in messageContent:
try:
os.system('sudo /opt/rcswitch-pi/send 01011 1 1')
os.system('sudo /opt/rcswitch-pi/send 01011 3 1')
except:
pass
Hey, Danke erstmal.
Aber es scheint ein Übergabewert zu fehlen um new_thread zu starten:
TypeError: start_new_thread expected at least 2 arguments, got 1
Die Doku sagt:
thread.start_new_thread ( function, args[, kwargs] )
Aber leider weiss ich nicht was fehlt
Jooaaa, also das o.g. Problem hab ich behoben.
Es ging, als ich aus dem ganzen os.open eine Funktion gemacht habe und diese dann mit new_thread geöffnet.
Allerdings muss ich dir leider sagen, dass sich das urprüngliche Problem nicht verändert hat
Nach dem Senden ist immer noch Feierabend.
Als erstes wird ne funktion verlangt, als zweites ein Argument!
Ja, das hab ich auch hinbekommen.
Wäre aber wirklich froh über eine Möglichkeit, dass nach dem Senden der ListenClient weiterhin aktiv bleibt.
endlich hat mal jemand geschnallt wie es richtig geht!
Moin,
installiert und den SMS-Code per Festnetz habe ich mir schicken lassen.
Nach dem Registieren kommt folgendes zurück:
Detected cc: 49
status: ok
kind: free
pw: ***************
price: 0,89 €
price_expiration: ****
currency: EUR
cost: 0.89
expiration: *****
login: ******
type: new
Alles anzeigen
Preis?
Kostet das die 0.89€/Jahr wie bei Android? Wenn ja, wie werden die denn abgerechnet?
Mfg
es würde nach einem jahr was kosten...abgerechnet würde per paypal!
Hey,
auf die Möglichkeit mit dem Raspberry Pi Nachrichten über Whatsapp zu versenden habe ich schon lange gewartet. Genial, dass es jetzt so einfach möglich ist!
Das I-Tüpfelchen für mein Vorhaben wäre, wenn ich aus einer Liste von Handynummern prüfen könnte, welche davon Whatsapp haben und welche nicht.
Ich habe schon geschaut, welche Ausgabe ich erhalte, wenn ich eine Nachricht an eine fiktive Nummer schicke. Aber die unterscheidet sich leider nicht von der Ausgabe beim Senden an eine existierende Nummer.
Danke schon mal!
Gruss
matt
Alles anzeigen
Ich glaubs nicht..
Ich habs gelöstViel Gefummel, aber im Prinzip ganz einfach.
Ich nutze nicht den Client, den ich in der Shell aufrufe, sondern einfach die Senden-Funktion aus EchoClient.
Das ganze sieht dann so aus:
Codeif "!Test" in messageContent: message ="Test" self.methodsInterface.call("message_send", (jid, message))
Natürlich muss dies weiterhin in der ListenerClient stehen.
Die Variable jid behinhaltet, so wie ich das sehe die ID des Absenders.
Da sie zuvor in "onMessageRecieved" die Absender ID beinhaltete.Möchte man an eine beliebige Adresse senden, so muss die ID komplett ausgeschrieben werden:
"12324526165@s.whatsapp.net"
Falls Ihr irgendwelche Fehler bei diesem Weg findet, gebt sie ruhig bekannt.
Danke! Funktioniert problemlos, so kann ich auch endlich mit zwei verschiedenen Nummern den Raspi ansprechen und bin nicht auf eine Adresse festgelegt. Habe jedoch weiterhin das Problem, dass der Listener nicht aktiv bleibt und die Connection nach einer Weile dicht macht?!
Du musst den Listener dann auch mit dem Attribut -k oder --keepalive starten, dann bleibt er ewig verbunden.
Hatte ihn heut so 2h am Stück online.
Du musst den Listener dann auch mit dem Attribut -k oder --keepalive starten, dann bleibt er ewig verbunden.Hatte ihn heut so 2h am Stück online.
Und genau das macht der Listener bei mir leider nicht. Mit -k oder --keepalive bleibt er so ca. 30 sek. online, dann disconnected er wieder.
30sek sind schon ein bisschen sehr wenig. Der Ping von WhatsApp erfolgt nur alle 3min.
Was steht denn als Grund für den Disconnect da?
SUPER Christopf
es klappt
damits alle mal sehen wie es geht ich habs folgend:
für Befehle abgeben hab ichs so:
import thread
if "!Wazzup" == messageContent:
try:
os.system('sudo /opt/webcam/foto.sh')
except:
pass
für Nachrichten antworten so:
if "Sup?" in messageContent:
message = "Alles Klar, Meister"
self.methodsInterface.call("message_send",(jid, message))
Wenn jemand jetzt noch weiß wie ich ne Nachricht und einen os.system befehl mache Bescheid sagen oder klappt es da den os.system befehl einfach vor der zeile self.methods ... einfügen?!!
und meine Frage, wie gehts mit Bildern?
weil so gehts nicht
if "Sup?" in messageContent:
message = "Alles Klar, Meister"
self.methodsInterface.call("message_send",(jid, message))
url = "/opt/webcam/31-10-13_08-43-41.jpg to raspi/Foto/31-10-13_08-43-41.jpg"
name = "foto"
size = "800"
preview = "/opt/webcam/31-10-13_08-43-41.jpg to raspi/Foto/31-10-13_08-43-41.jpg"
self.methodsInterface.call("message_imageSend",(jid, url, name, size, preview))
Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!