All pastes #204083 Raw Edit

proog

public python v1 · immutable
#204083 ·published 2006-10-15 17:17 UTC
rendered paste body
import socketimport sysimport osimport stringimport mathbotnick = 'libproog'ident = 'libproog'realname = 'teh proog library'server = 'irc.openstormnet.org'channel = '#openstorm'port = 6667mather1 = math.sqrt(987654321)poc = 0 # If server's ping on connect function is on, set this to one, else to anything else. def irc_connect():	global irc	irc = socket.socket(socket.AF_INET, socket.SOCK_STREAM)	irc.connect((server, int(port)))	irc.send('NICK %s\r\n' % botnick )	irc.send('USER %s 8 * :%s\r\n' % (ident, realname) )	if poc == 1:		while 1:			buffer2 = irc.recv(1024)			data = string.split(buffer2)			if 'PING' in data:				a = len(data) - 1				irc.send("PONG %s\r\n" % data[a])				break;	irc.send('JOIN %s\r\n' % channel)	irc.send('PRIVMSG %s :%s initialized on %s on %s\r\n' % (channel, botnick, channel, server))def ex_start():	irc_connect()	while 1:		buffer = irc.recv(1024)		msg = string.split(buffer)		print >> sys.stdout, buffer		global nick		try:			nick = msg[0].split('!')[0] # :nick			nick = nick.strip(':') # nick		except:			pass;		if len(msg) > 0:			if msg[0] == 'PING':				irc.send("PONG %s\r\n" % msg[1])			if msg[0] == "ERROR":				irc.close()				irc_connect()		if len(msg) > 3: # [0] = Full user info, [1] = IRC Command, [2] = Channel, [3] 1st parameter, [4] second...			if msg[3] == ':diemuch':				print msg[0]				irc.send('PRIVMSG %s Dies\r\n' % channel)				sys.exit(0)			if msg[3] == ':kimperhill':				irc.send('PRIVMSG %s :tom tom bomberdill\r\n' % channel)			if msg[3] == ':gle2':				irc.send('PRIVMSG %s :%s\r\n' % (channel, mather1))			if msg[3] == ':moklop':				irc.send('PRIVMSG %s :python > java\r\n' % channel)			if msg[3] == ':peacey':				irc.send('PRIVMSG %s :python fatty\r\n' % channel)			if msg[3] == ':sqrt':				try:					sqrtnum = msg[4]					sqrtsum = math.sqrt(float(sqrtnum))					irc.send('PRIVMSG %s :%s\r\n' % (channel, sqrtsum))				except:					irc.send('PRIVMSG %s :Error cannot calculate\r\n' % (channel)					pass;			if msg[3] == ':multiply':				try:					multinum1 = msg[4]					multinum2 = msg[5]					multisum = multinum1 * multinum2					irc.send('PRIVMSG %s :%s\r\n' % (channel, multisum)				except:					irc.send('PRIVMSG %s :Error: cannot calculate %s * %s\r\n' % (channel, multinum1, multinum2))					pass;			if msg[3] == ':add':				try:					addnum1 = msg[4]					addnum2 = msg[5]					addsum = addnum1 + addnum2					irc.send('PRIVMSG %s :%s\r\n' % (channel, addsum))				except:					irc.send('PRIVMSG %s :Error: cannot calculate %s + %s\r\n' % (channel, addnum1, addnum2))					pass;def main():	try:		ex_start()	except:		main()ex_start()