All pastes #839117 Raw Edit

Something

public python v1 · immutable
#839117 ·published 2007-12-30 21:19 UTC
rendered paste body
#!/usr/bin/pythonimport 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')RoxyReg2 = re.compile('(.*) R0xy', re.IGNORECASE)ChoixHoroReg = re.compile('^.Horo (.+)$')HoroscopeReg = re.compile('<b>(\w)</b><br>\r\n\t\t\t(.+)<p>')#--- 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)					Roxy2 = RoxyReg2.match(Kwa)				ChoixHoro = ChoixHoroReg.match(Kwa)							  	if NickName == Mwa and Kwa == ".Quit" :					Sock.send( "QUIT :RoX-y\n" )					Sock.close()					sys.close(0)								if Roxy is not None :					Sock.send( "PRIVMSG " + NDChan + " :.\n" )				if Roxy2 is not None :					Hu = Roxy2.group(1)					if Hu == "Lu" :						Sock.send( "PRIVMSG " + NDChan + " :Coucou " + NickName + "\n")					if Hu != "Lu": 						Sock.send( "PRIVMSG " + NDChan + " :Hu ?\n" )				if ChoixHoro is not None : 					Signe = ChoixHoro.group(1)					Sock.send( "PRIVMSG " + NDChan + " :Vous avez demande l'horoscope quotidien pour le signe du :" + Signe + "\n" )												#--- Creation de la deuxieme socket :---					Sock2 = socket.socket(socket.AF_INET,socket.SOCK_STREAM)					Sock2.connect(('astro-free.com', 80)) #Se connecte 					Sock2.send ("GET /horo/jour/journalier.php HTTP/1.1\r\nHost: astro-free.com\r\nConnection: close\r\n\r\n") #Requete 					PageWeb = Sock2.read(8192) #Recup les donnees demandees					Sock2.close() 					#----					print PageWeb										HoroNeeded = HoroscopeReg.match(PageWeb)										if HoroNeeded is not None :						Zodiac = HoroNeeded.group(1)						Horo = HoroNeeded.group(2)						if Zodiac == Signe:							Sock.send( "PRIVMSG " + NDChan + " " + Horo + "\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" or "+o" and Qui == Nick or Nick2 or Nick3 :					Sock.send( "PRIVMSG " + NDChan + " :Huw, thx :)\n" )