IRC Ein- und Ausgabe

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

IRC Ein- und Ausgabe

Beitragvon 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

Beitragvon Vortec » Donnerstag 19. Mai 2005, 15:13

Ohne Code wird dir hier wohl keiner helfen können...
BlackJack

Beitragvon 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

Beitragvon marco_ » 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:

...

Beitragvon noxx » 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
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Re: ...

Beitragvon Leonidas » 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:

Beitragvon Sr4l » 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? ^^

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder