All pastes #435844 Raw Edit

Untitled

public text v1 · immutable
·published 2007-04-12 05:11 UTC
rendered paste body
import 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()