If wird nicht beachtet
Verfasst: Mittwoch 24. März 2010, 22:52
Hallo,
Ich befasse mich erst seid kurzem mit Python und muss mich infolge dessen noch an einiges gewöhnen... aber was ich gar nicht verstehe ist der Fehler in folgendem Programm:
Es soll ein Bot für einen IRC Channel werden. Den größten Teil des Codes habe ich aus dem Internet. Möchte ihn halt jetzt selber erweitern.
Das komische ist nur das, auch wen ich "wie geht es dir bacy?" in den Channel schreibe, immer "else" raus kommt... Ich hoffe einer von euch kann mich über meinen Fehler aufklären
BTW: Kann mir vielleicht einer ganz ganz kurz die Zeilen 15 - 23 erklären? Nur damit ich überprüfen kann ob ich es richtig verstanden habe.
Grüße Baconman
Ich befasse mich erst seid kurzem mit Python und muss mich infolge dessen noch an einiges gewöhnen... aber was ich gar nicht verstehe ist der Fehler in folgendem Programm:
Code: Alles auswählen
import socket
message = str
network = 'irc.iz-smart.net'
port = 6667
irc = socket.socket ( socket.AF_INET, socket.SOCK_STREAM )
irc.connect ( ( network, port ) )
irc.recv ( 4096 )
irc.send ( 'NICK Bacy\r\n' )
irc.send ( 'USER Baconman Baconman Baconman :My IRC\r\n' )
irc.send ( 'JOIN #channel\r\n' )
irc.send ( 'PRIVMSG #channel :Halloele!\r\n' )
while True:
data = irc.recv ( 4096 )
if data.find ( 'PING' ) != -1:
irc.send ( 'PONG ' + data.split() [ 1 ] + '\r\n' )
elif data.find ( 'PRIVMSG' ) != -1:
nick = data.split ( '!' ) [ 0 ].replace ( ':', '' )
message = ':'.join ( data.split ( ':' ) [ 2: ] )
destination = ''.join ( data.split ( ':' ) [ :2 ] ).split ( ' ' ) [ -2 ]
if destination == 'My IRC':
destination = 'PRIVATE'
print '(', destination, ')', nick + ':', message
if message == 'wie geht es dir bacy?':
irc.send( 'PRIVMSG #channel :Gut, danke! und dir?\r\n' )
else:
print 'else'
Das komische ist nur das, auch wen ich "wie geht es dir bacy?" in den Channel schreibe, immer "else" raus kommt... Ich hoffe einer von euch kann mich über meinen Fehler aufklären

BTW: Kann mir vielleicht einer ganz ganz kurz die Zeilen 15 - 23 erklären? Nur damit ich überprüfen kann ob ich es richtig verstanden habe.

Grüße Baconman