rendered paste bodyimport irclib
import random
import re
import os
import sys
commands = ['ping']
def processCommand(command, query):
print "'%s'" % command
print "'%s'" % query
os.execlp(command, query)
def handlePubMessage(connection, event):
sender = event.source().split('!')[0]
message = event.arguments()[0]
cmd_check = re.compile('^!')
m = cmd_check.match(message)
if m:
elements = message.split(' ', 1)
command = elements[0][1:]
if command in commands:
processCommand(command, elements[1])
botid = random.randint(1, 100)
network = 'irc.freenode.net'
port = 6667
channel = '#mirwin'
nick = "mirwin_%d" % botid
name = "Mirwin %d" % botid
irc = irclib.IRC()
irc.add_global_handler('pubmsg', handlePubMessage)
server = irc.server()
server.connect(network, port, nick, ircname = name)
server.join(channel)
irc.process_forever()