Seite 1 von 2

msnp-Probleme

Verfasst: Freitag 7. Dezember 2007, 18:20
von lordmyder
Hallo,
ich habe vor einen MSN Messenger mit dem Modul msnp zu programmieren.
Ich habe auf der Seite des Programmieres ein kurzes Tutorial gefunden.
Jetzt habe ich das Problem, dass selbst das Demo-Prog. des Entwicklers bei mir nicht läuft. Es soll sich nur bei MSN anmelden und wenn es angeschrieben wird den Text zurück schreiben.
Das Programm schmeißt mich auch aus meinem MSN Account raus, jedoch erscheint es bei niemanden als "Online". Und auch anschreiben kann man es nicht.
Hat einer von euch eine Idee, was ich falsch mache?

Code: Alles auswählen

import msnp
import time

class MsnChatListener(msnp.ChatCallbacks):
    def message_received(self, passport_id, display_name, text, charset):
        print '%s: %s' % (passport_id, text)
        self.chat.send_message(text, charset)

class MsnListener(msnp.SessionCallbacks):
    def chat_started(self, chat):
        callbacks = MsnChatListener()
        chat.callbacks = callbacks
        callbacks.chat = chat

msn = msnp.Session(MsnListener())
msn.login('tester@hotmail.de', '123456')

while True:
    msn.process(chats = True)
    time.sleep(1)

Verfasst: Freitag 7. Dezember 2007, 18:47
von mitsuhiko
Haha. Das Problem kenn ich. Ich hab die Library bis letzte Woche für ein Projekt von mir genutzt und musste feststellen, dass das Ding nicht sonderlich viel taugt weil die Microsoft Leute anscheinend das Protokoll geändert haben.

Verfasst: Freitag 7. Dezember 2007, 18:49
von lordmyder
So ein mist. Hattest du das Problem irgendwie alternativ lösen können? Beispielsweise mit nem anderen Modul?

Verfasst: Freitag 7. Dezember 2007, 18:59
von mitsuhiko
lordmyder hat geschrieben:So ein mist. Hattest du das Problem irgendwie alternativ lösen können? Beispielsweise mit nem anderen Modul?
Ich wrappe gerade libpurple als Python Modul. Allerdings für meinen Arbeitsgeber, der das zwar mit der Zeit OSS machen will, aber momentan ist es noch Closed Source. Sorry :-(

Verfasst: Freitag 7. Dezember 2007, 19:01
von lordmyder
Schade, aber kann man wohl nix machen;-)

Verfasst: Freitag 7. Dezember 2007, 19:09
von BlackVivi
Schau dir mal Emesene an, Open Source Python MSN Client. Dort müsste alles drin sein:

http://emesene.org/trac/wiki/WikiStart

Verfasst: Freitag 7. Dezember 2007, 21:08
von Costi

Verfasst: Freitag 7. Dezember 2007, 23:32
von lunar
mitsuhiko hat geschrieben:
lordmyder hat geschrieben:So ein mist. Hattest du das Problem irgendwie alternativ lösen können? Beispielsweise mit nem anderen Modul?
Ich wrappe gerade libpurple als Python Modul. Allerdings für meinen Arbeitsgeber, der das zwar mit der Zeit OSS machen will, aber momentan ist es noch Closed Source.
Mich würde jetzt interessieren, auf welcher rechtlichen Grundlage der Quellcode zurückgehalten wird. Soweit ich weiß, steht der gesamte Pidgin Code einschließlich libpurple doch unter der GPL, oder täusche ich mich da?

Verfasst: Freitag 7. Dezember 2007, 23:40
von Leonidas
Wenn du GPL-Binaries nicht veröffentlichst brauchst du auch den Code nicht zu veröffentlichen.
Wo ich mir nicht sonderlich sicher bin, ist wie das mit `ctypes` ausschaut - abgeleitetes Werk oder nicht?

Wie auch immer, ein Grund für MIT/X11, BSD etc. ist dass man so eine Überlegung gar nicht aufstellen muss. Mich ärgert es immer wieder wenn ein Programm keine readline-Unterstützung hat, weil es die Lizenz nicht erlaubt. Habe nun rlwrap genommen, aber wenn ich gucke dass MzScheme in Sarge readline-fähig war und in Etch nicht mehr, dann fehlen mir einfach die Worte.

Verfasst: Samstag 8. Dezember 2007, 12:05
von lunar
Leonidas hat geschrieben:Wenn du GPL-Binaries nicht veröffentlichst brauchst du auch den Code nicht zu veröffentlichen.
Dann kann man diese Bibliothek aber nur für inhouse Entwicklungen nutzen. Sobald irgendein veröffentlichtes Programm dieses libpurple Binding nutzt, greift die GPL.
Wo ich mir nicht sonderlich sicher bin, ist wie das mit `ctypes` ausschaut - abgeleitetes Werk oder nicht?
Ich würde im Zweifel eher darauf tippen, dass das auch ein abgeleitetes Werk ist... allerdings bin ich kein Jurist. Das wäre vielleicht mal was für den Rechtsrat des LinMag ;)
Wie auch immer, ein Grund für MIT/X11, BSD etc. ist dass man so eine Überlegung gar nicht aufstellen muss.
Ein Grund gegen diese Lizenzen ist, dass sie Freiheit nicht erzwingen.
Mich ärgert es immer wieder wenn ein Programm keine readline-Unterstützung hat, weil es die Lizenz nicht erlaubt.
Tja, beim readline Modul in Python gilt allerdings die Python-Lizenz, zumal man sich bei "import readline" gar nicht sicher sein kann, welche Bibliothek mit welcher Lizenz letztendlich verwendet wird.

Verfasst: Samstag 8. Dezember 2007, 12:10
von mitsuhiko
lunar hat geschrieben:Mich würde jetzt interessieren, auf welcher rechtlichen Grundlage der Quellcode zurückgehalten wird. Soweit ich weiß, steht der gesamte Pidgin Code einschließlich libpurple doch unter der GPL, oder täusche ich mich da?
Wir haben nicht vor den Quellcode weiterzugeben. Von daher ist die GPL nicht sonderlich relevant.

Verfasst: Samstag 8. Dezember 2007, 12:11
von mitsuhiko
lunar hat geschrieben:
Mich ärgert es immer wieder wenn ein Programm keine readline-Unterstützung hat, weil es die Lizenz nicht erlaubt.
Tja, beim readline Modul in Python gilt allerdings die Python-Lizenz, zumal man sich bei "import readline" gar nicht sicher sein kann, welche Bibliothek mit welcher Lizenz letztendlich verwendet wird.
Wage ich zu bezweifeln. Nicht umsonst kommt Python auf OS X ohne readline.

Verfasst: Samstag 8. Dezember 2007, 12:42
von lunar
mitsuhiko hat geschrieben:
lunar hat geschrieben:Mich würde jetzt interessieren, auf welcher rechtlichen Grundlage der Quellcode zurückgehalten wird. Soweit ich weiß, steht der gesamte Pidgin Code einschließlich libpurple doch unter der GPL, oder täusche ich mich da?
Wir haben nicht vor den Quellcode weiterzugeben. Von daher ist die GPL nicht sonderlich relevant.
Uh? Dieser Satz ist so wie er dasteht schlicht falsch. Ob du den Quellcode weitergeben willst oder nicht, berührt die Gültigkeit der GPL gar nicht. Die GPL zwingt dich zur Freigabe des Quellcodes, sobald du dein Binding in welcher Form auch immer verteilst.

Ansonsten wäre die GPL ja sinnlos, dann könnte ja jeder sagen, "ich will nicht", und die GPL wäre hinfällig.

Ich deute den Satz also mal so: "Wir haben nicht vor das Binding weiterzugeben. Von daher ist die GPL nicht sonderlich relevant."

So würde der Satz auch Sinn machen.
mitsuhiko hat geschrieben:
lunar hat geschrieben:
Mich ärgert es immer wieder wenn ein Programm keine readline-Unterstützung hat, weil es die Lizenz nicht erlaubt.
Tja, beim readline Modul in Python gilt allerdings die Python-Lizenz, zumal man sich bei "import readline" gar nicht sicher sein kann, welche Bibliothek mit welcher Lizenz letztendlich verwendet wird.
Wage ich zu bezweifeln. Nicht umsonst kommt Python auf OS X ohne readline.
Mag sein. Allerdings erwähnt die Doku nirgendwo eine gesonderte Lizenz für readline. Außerdem gelten für alternative Readline-Implementierungen (z.B. pyreadline) andere Lizenzen. Auf einem Windows-System mit installiertem pyreadline würde die BSD Lizenz bei "import readline" greifen.

Nicht zuletzt baut ipython stark auf readline auf, und unterliegt trotzdem der BSD Lizenz.

Verfasst: Samstag 8. Dezember 2007, 12:48
von Leonidas
ipython ist aber auch kein abgeleitetes Werk von readline.

Verfasst: Samstag 8. Dezember 2007, 13:00
von lunar
Leonidas hat geschrieben:ipython ist aber auch kein abgeleitetes Werk von readline.
Woran machst du das fest?

ipython importiert readline, was man ja nach Auffassung durchaus als das Python-Äquivalent zum Linken ansehen kann. Aus dieser Perspektive besehen kann man also durchaus von einem abgeleiteten Werk sprechen.

Allerdings ist die Situation im Bezug auf Python-Module sowieso unklar, da die in der GPL verwendeten Termini (Linken, Compilieren, Binär, etc.) bei Python nicht anwendbar sind.

Wie dem auch sei, es geht ja hier nicht um ipython, sondern um mitsuhikos Binding. Und das fällt - sofern es als Erweiterung realisiert ist - definitiv in die Kategorie "abgeleitetes Werk". Bei Verwendung von ctypes ist die Situation zwar schwieriger, aber ich würde auch hier von einem abgeleiteten Werk ausgehen.

Verfasst: Samstag 8. Dezember 2007, 13:04
von mitsuhiko
s/Quellcode/Anwendung/

Verfasst: Samstag 8. Dezember 2007, 13:34
von lordmyder
Sorry, wenn ich diese Diskution, welche ich zu 90% nicht verstehe, kurz unterbreche. Aber kann mir jemand sagen ob msnlib für windows überhauptnoch verfügbar ist, und wenn ja wo?
Ich finde es nämlich nirgends...
Danke euch;-)

Verfasst: Samstag 8. Dezember 2007, 13:47
von Leonidas
lordmyder hat geschrieben:Aber kann mir jemand sagen ob msnlib für windows überhauptnoch verfügbar ist, und wenn ja wo?
Hast du schon mal auf der Homepage unter Download geschaut?

Verfasst: Samstag 8. Dezember 2007, 13:56
von lordmyder
Mich habem diese .tar-Dateien abgeschreckt...danke, habs gefunden=)

Verfasst: Samstag 8. Dezember 2007, 14:17
von lunar
mitsuhiko hat geschrieben:s/Quellcode/Anwendung/
Ok, dann macht der Satz auch Sinn ;)