IRC Ein- und Ausgabe

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
Gast

Samstag 14. Mai 2005, 23:12

Hi,

ich will einen Bot für den IRC schreiben, der etwas bestimmtes sagt sobald bestimmte Wörter von Usern in den Channel geschrieben werden. Zum Beispiel sagt ein User im Channel "!hallo", dann sollte der Bot "Grüß dich" oder sowas schreiben. Ich dahcte da an die if/else-Lösung. Die Ausgabe habe ich schon hingekriegt (er sagt ein Standardausdruck bei Anweisungen die er nicht kennt). Der Else-Befehl funktioniert also.

Aber was schreib ich bei dem if-Befehl rein, damit er die Wörter erkennt die er erkennen soll?

Achso, der Bot sollte nur antworten sobald man ein ! vor den Befehl schreibt. Er sollte also nicht auf "hallo", sondern auf "!hallo" antworten. Wie gebe ich das in den Quelltext ein?
Vortec
User
Beiträge: 52
Registriert: Dienstag 10. Dezember 2002, 11:54

Donnerstag 19. Mai 2005, 15:13

Ohne Code wird dir hier wohl keiner helfen können...
| [url=http://www.sourceforge.net/projects/propolice/]propolice[/url] | [url=http://del.icio.us/vortec/]bookmarks[/url] | [url=http://www.BlowIRC.net/]irc[/url] | [url=irc://irc.BlowIRC.net/python]#python[/url] |
BlackJack

Donnerstag 19. Mai 2005, 21:45

Wenn `incoming_text` die Eingabe enthält:

Code: Alles auswählen

if incoming_text.startswith('!'):
    # Befehl erkennen und entsprechend antworten
Ohne ``else``, oder soll der jedesmal was "sagen" wenn kein Kommando mit einem '!' eingegeben wurde!?
marco_
User
Beiträge: 78
Registriert: Freitag 25. März 2005, 12:24

Freitag 20. Mai 2005, 18:42

also das schaut nach einer if/elif/else anweisung aus
ich bau mal auf BlackJacks Code auf:

Code: Alles auswählen

if incoming_text.startswith('!'):
    # Befehl erkennen und entsprechend antworten
    if incoming_text == "!hallo":
        #Mach was mit Befehl
        print "Grüß dich"
    elif incoming_text == "!ciao":
        #Mach was mit Befehl
        print "Auf wiedersehen!"
    elif incoming_text == "!test":
       #Mach was mit Befehl
        print "TEST"
     else: print "Diesen Befehl kenne ich nicht"
es kann natürlich auch mehrere elif's als diese drei geben. du kannst auch nachdem geklärt wurde ob der text mit einem ! startet, das ! wegstreichen dann sparst du dir das ! in der anderen if Anweisung.
noxx
User
Beiträge: 1
Registriert: Donnerstag 18. Januar 2007, 22:31
Wohnort: Potsdam
Kontaktdaten:

Mittwoch 24. Januar 2007, 20:42

Cool! Aber wie ist es möglich, dass der Bot sich zu einem Netzwerk connected und in einen Raum joint?


Grüße, noxx
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Mittwoch 24. Januar 2007, 21:06

noxx hat geschrieben:Cool! Aber wie ist es möglich, dass der Bot sich zu einem Netzwerk connected und in einen Raum joint?
Mit den entsprechenden IRC-Kommandos? Allerdings ist es angeraten eine fertige IRClib zu verwenden, die python-irclib funktioniert recht gut.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Benutzeravatar
Sr4l
User
Beiträge: 1091
Registriert: Donnerstag 28. Dezember 2006, 20:02
Wohnort: Kassel
Kontaktdaten:

Donnerstag 25. Januar 2007, 15:05

Guckst du hier: http://777.damnsite.net/single72.html
Problem ist das du je nach IRC Server das Login optimieren musst merkst du anhand von Fehlern die auftreten.

Ich dachte du könntest schon antworten? wie kannst du das haben ohne das du connecten kannst? ^^
Antworten