Als Lernübung schreibe ich ein Python-Programm, um eine Verbindung zu einem Kanal in einem IRC-Netzwerk herzustellen, damit ich Nachrichten im Kanal auf stdout ausgeben kann. Ich verwende asynchat und sende die Protokollnachrichten manuell, anstatt etwas wie Twisted oder vorhandenen Bot-Code aus dem Netz zu verwenden - auch das ist eine nützlichere Lernerfahrung.
Ich kann problemlos JOIN- und USER-Befehle senden und bei Bedarf PING/PONG ausführen. Ich habe jedoch festgestellt, dass ich beim Öffnen eines Sockets an Port 6667 einige Meldungen erhalte:
NOTICE AUTH :*** Looking up your hostname...
NOTICE AUTH :*** Checking ident
NOTICE AUTH :*** Found your hostname
NOTICE AUTH :*** No identd (auth) response
auch wenn ich die JOIN/USER-Befehle noch nicht gesendet habe.
Ist diese Eröffnungssequenz von Meldungen irgendwo angegeben? Soweit ich sehen kann, ist im RFC nicht festgelegt, dass etwas Bestimmtes passieren muss, bevor der Client den JOIN-Befehl sendet, und ich war mir nicht sicher, ob ich den Empfang dieser Benachrichtigungen abwarten soll, bevor ich den JOIN-Befehl sende, und wenn ja, wie kann ich feststellen, dass ich alle Benachrichtigungen erhalten habe?
0 Stimmen
Hrm, ich meinte NICK, wo ich oben JOIN geschrieben habe. Offensichtlich erfolgt der Kanalbeitritt später im Spiel.