#!/bin/python
# vim:et:ts=4

import re, os
from IRCClient import *

class CarolBot(LogAllMixin, IRCClient):
    def __init__(self, server = "veloci", port = 6667, nick = "Carol", channel = "#cs"):
        self.channel = channel
        IRCClient.__init__(self, server, port)
        self.connect(nick, "CarolBot")
        self.join(channel)
        self.re = re.compile(".*numbers: (\d+), (\d+), (\d+), (\d+), (\d+), (\d+)\.  Your target is (\d+)\..*")
        self.answer = "Um, Richard, I didn't see the question."
        
    def handle_say(self, source, to, message):
        if to != self.channel: return
        m = self.re.search(message)
        if m is not None:
            nums = map(int, m.group(1, 2, 3, 4, 5, 6, 7))
            f = os.popen("~/Code/carol " + (" ".join(map(str, nums))))
            self.answer = f.readline().strip()
        elif message == "Duh dum, duh dum, duh-da-da-dum!  Your 30 seconds are up!":
            self.say(self.channel, self.answer)
        
if __name__ == "__main__":
    bot = CarolBot()
    bot.mainloop()

