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?
IRC Ein- und Ausgabe
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] |
Wenn `incoming_text` die Eingabe enthält:
Ohne ``else``, oder soll der jedesmal was "sagen" wenn kein Kommando mit einem '!' eingegeben wurde!?
Code: Alles auswählen
if incoming_text.startswith('!'):
# Befehl erkennen und entsprechend antworten
also das schaut nach einer if/elif/else anweisung aus
ich bau mal auf BlackJacks Code auf:
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.
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"
Cool! Aber wie ist es möglich, dass der Bot sich zu einem Netzwerk connected und in einen Raum joint?
Grüße, noxx
Grüße, noxx
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Mit den entsprechenden IRC-Kommandos? Allerdings ist es angeraten eine fertige IRClib zu verwenden, die python-irclib funktioniert recht gut.noxx hat geschrieben:Cool! Aber wie ist es möglich, dass der Bot sich zu einem Netzwerk connected und in einen Raum joint?
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
- Sr4l
- User
- Beiträge: 1091
- Registriert: Donnerstag 28. Dezember 2006, 20:02
- Wohnort: Kassel
- Kontaktdaten:
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? ^^
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? ^^