Skype4Py Fragen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Nocta
User
Beiträge: 290
Registriert: Freitag 22. Juni 2007, 14:13

Hallo,

ich versuche mich derzeit am Skype4Py Modul, welches erst mal eine tolle Sache ist. Leider findet man nicht viele Beispiele und schon gar keine Erklärungen. Die Dokumentation hilft mir auch nur bedingt weiter, da fehlt irgendwo der Überblick.

Ich habe es hinbekommen, eine Funktion zu definieren, die jedesmal aufgerufen wird, wenn eine Nachricht empfangen wird.
Dazu muss ich nur eine Funktion der folgenden Art definieren:

Code: Alles auswählen

def OnMessageStatus(Message, Status):
    if Status == 'RECEIVED':
        ... mycode ...
Und wie folgt an das Skype4Py Objekt binden:

Code: Alles auswählen

skype.OnMessageStatus = OnMessageStatus
Ich habe jedoch 2 Probleme.
Erstens: Wie kann ich das Programm am Leben erhalten? Das Event arbeitet zwar korrekt und jedes mal, wenn eine Nachricht geschickt wird, wird auch die oben genannte Funktion aufgerufen und abgearbeitet, aber zur Zeit mache ich ein ``while True: pass`` um das Programm am Leben zu halten und die Events abarbeiten zu können. Das geht doch sicherlich schöner. Ein sleep(1) würde mir auch erst mal mein Gewissen erleichtern, aber dann scheint auch das Event so lange nicht zu reagieren.

Zweitens:
Message hat wohl folgenden Typ: http://skype4py.sourceforge.net/doc/htm ... class.html
Allerdings habe ich keine Ahnung, wie ich jetzt eine Antwort schicken kann. Eine Antwort an eine Person sollte wohl gehen, da man dafür nur den Namen des Senders braucht, welchen ich empfange. Aber es soll auch in Gruppen funktionieren. Das heißt: Rausfinden, ob es eine Gruppe ist, wenn ja an Gruppe senden, wenn nein, an einzelne Person senden.

Weiß jemand rat?
BlackJack

@Nocta: Kurzer Blick in die Beispiele von dem Paket zeigt, dass man anscheinend tatsächlich Schleifen mit `sleep()` verwendet. Der Package Index verweist mittlerweile übrigens auf GitHub statt auf Sourceforge: https://github.com/awahlig/skype4py
Nocta
User
Beiträge: 290
Registriert: Freitag 22. Juni 2007, 14:13

Zum Sleep: Stimmt, dann teste ich das noch mal mit sleep(1.0). Als ich das drin hatte und testweise in schneller Folge Nachrichten mit Nummern von 1-9 geschickt habe, kam beim Programm nur jedes 2. an, bei einem sleep(0.01) kamen alle Nachrichten an.
Wenn es jetzt nicht am Sleep liegen sollte, ist da trotzdem etwas komisch, schließlich soll das Programm jede Nachricht erhalten.
Antworten