All pastes #203817 Raw Edit

Stuff

public text v1 · immutable
#203817 ·published 2006-10-15 13:03 UTC
rendered paste body
import socket
import sys
import os
import string
import math

botnick = 'libproog'
ident = 'libproog'
realname = 'teh proog library'
server = 'irc.openstormnet.org'
channel = '#openstorm'
port = 6667
mather1 = 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 %s\r\n' % (channel, sqrtnum)
				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))
def main():
	try:
		ex_start()
	except:
		main()
ex_start()