#!/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( "NICKSERV : IDENTIFY " + Pswd + "\n" ) #---Regex necessaires :--- PingRegex = re.compile( '^PING :(.*)$', re.IGNORECASE ) InfosReg = re.compile('^:(.+)!~?(.+)@([a-zA-Z0-9\-\.]+) (\w+) (#?[^ ]*) :(.*)\r\n') QuitReg = re.compile('^Quit$') #--- Boucle Principale :--- while 1: Buffer = Sock.recv(512) print Buffer PingOuPas = PingRegex.match (Buffer) Infos = InfosReg.match (Buffer) Quit = QuitReg.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 = InfosReg.group(1) NickUser = InfosReg.group(2) Host = InfosReg.group(3) Commande = InfosReg.group(4) Aki = InfosReg.group(5) Kwa = InfosReg.group(6) if NickName == Mwa and Kwa == "Quit" : Sock.send ("QUIT :bye bye !") Sock.close() sys.exit(0)