#!/usr/bin/python import socket, string, re #--- Params de Connex :--- Nick = "R0xy" Nick2 = "Crafouine" Nick3 = "Chi-Chi" UserName = "R0xy" RealName = "Chichiteuz" NDChan = "#bot" Server = "irc.worldnet.net" Port = 6667 #Pswd = Mwa = "Enila" #--- Creation de la socket + connexion au serv :--- Sock = socket.socket(socket.AF_INET,socket.SOCK_STREAM) Sock.connect((Server, Port)) Sock.send( "NICK " + Nick + "\n" ) Sock.send( "USER " + Nick2 + " " + Nick3 + " " + UserName + " " + RealName + "\n" ) Sock.send( "JOIN " + NDChan + "\n" ) Sock.send( "PRIVMSG " + NDChan + " :Pwait !" + "\n" ) #Sock.send( "NICKSERV : IDENTIFY " + Pswd + "\n" ) #--- Regex necessaires :--- PingRegex = re.compile('^PING :(.*)$', re.IGNORECASE) InfosReg = re.compile('^:(.+)!~?(.+)@([a-zA-Z0-9\-\.]+) (\w+) (#?[^ ]*) :(.*)\r\n') ModeReg = re.compile('^:(.+)!~?(.+)@([a-zA-Z0-9\-\.]+) (\w+) (#?[^ ]*) (.*) (.+)\r\n', re.IGNORECASE) RoxyReg = re.compile('R0xy') #--- Boucle Principale :--- while 1: Buffer = Sock.recv(512) print Buffer PingOuPas = PingRegex.match(Buffer) Infos = InfosReg.match(Buffer) Mode = ModeReg.match(Buffer) if PingOuPas is not None : Sock.send("PONG :" + PingOuPas.group(1) + "\n") print "Un PING a ete recu !" elif Infos is not None : NickName = Infos.group(1) NickUser = Infos.group(2) Host = Infos.group(3) Commande = Infos.group(4) Aki = Infos.group(5) Kwa = Infos.group(6) Roxy = RoxyReg.match(Kwa) if NickName == Mwa and Kwa == "Quit" : Sock.send( "QUIT " + NDChan + " :Babaiiii !\n" ) Sock.close() sys.close(0) elif Roxy is not None : Sock.send( "PRIVMSG " + NDChan + " :Hmmm ?\n" ) elif Mode is not None : Ki = Mode.group(1) Cmd = Mode.group(4) Ou = Mode.group(5) Quoi = Mode.group(6) Qui = Mode.group(7) if Cmd == "MODE" and Ou == NDChan and Quoi == "+v" and Qui == Nick or Nick2 or Nick3 : Sock.send( "PRIVMSG " + NDChan + " :Huw, thx :)\n" ) Sock2 = socket.socket(socket.AF_INET,socket.SOCK_STREAM) Sock2.connect((Host, Port)) Host =