Vor ca. einer Woche ein paar Tagen habe ich Ryuzaki im IRC-Channel von GFX-Dose mit seinem neuen Bot gesehen! Ich habe ihn sofort gefragt, in welcher Sprache der geschrieben wurde, er meinte Python! Da ich sowieso bald in der Schule Python lerne(n muss?), habe ich mir gedacht, dass ich ja auch schon früher anfangen könnte. Innerhalb von ein paar tagen ist dabei ein IRC-Bot entstanden, auch wenn Ryuzaki anfangs soviel helfen musste, dass er eigentlich die Hauptarbeit leistete! Aber egal, Ich wollte euch einfach mal ein paar funktionierende Codeschnipsel “zeigen”, die “überlebenswichtg” für meinen Bot waren sind:

Zum Connecten:

import socket
network = 'irc.quakenet.org'
port = 6667
nick = "eSlave"
irc = socket.socket ( socket.AF_INET, socket.SOCK_STREAM )
irc.connect ( ( network, port ) )
irc.send ( 'USER eSlave eSlave eSlave : Python Bot\n' )
irc.send ( 'NICK ' + nick + '\r\n')

Danach gibts eine endlose WhileSchleife, in der das Skript die “Eingaben” überprüft:

while True:
    text = irc.recv(4096)
    data = text.split() # damit bekommst du alles nach whitespaces getrennt
    if text.find('PING') != -1:
        irc.send('PONG ' + data[1] + '\r\n')
    if text.find('Message of the Day') != -1:
        irc.send ( 'JOIN ' + channel + '\r\n')

Damit hätte man immerhin eine “Standard” IRC-Bot! Nun kann man in der Schleife Befehle überprüfen und ausführen, usw.

Etwas ganz einfaches wäre z.B.:

if len(data) >= 4:
    if data[3] == ':!say':
        msg = "Hallo!"
        irc.send('PRIVMSG ' + channel + ' :' + msg + '\r\n')

Natürlich geht das alles auch viel komplexer, aber da ich selbst erst seit ein paar Tagen Python kann, bin ich auch nicht so sehr gut! Das hier sollen ja auch nur Codeschnipsel sein, und es sollte kein Tutorial werden!

UPDATE:

Das einfach in eine Datei kopieren, mit der Endung .py, und z.b. unter Ubuntu mit python datei.py aufrufen! Außerdem wurde die Einrückung ncht richtig dargestellt, ich hoffe es klappt nun.

Tags: , , , , , ,