diff --git a/dr.botzo.py b/dr.botzo.py index 0f2c196..967eb0c 100755 --- a/dr.botzo.py +++ b/dr.botzo.py @@ -6,6 +6,7 @@ import os import re import sys +from dateutil.parser import * from dateutil.relativedelta import * from dateutil.tz import * import irclib @@ -129,6 +130,22 @@ def sub_change_nick(connection, event, nick, userhost, replypath, what, admin_un config.set('IRC', 'nick', newnick) connection.privmsg(replypath, 'changed nickname') +##### +# sub_add_countdown +# add a countdown item to the bot +##### + +def sub_add_countdown(connection, event, nick, userhost, replypath, what, admin_unlocked): + whats = what.split(' ') + if whats[0] == 'countdown' and len(whats) >= 4: + if whats[1] == 'add': + item = whats[2] + target = parse(' '.join(whats[3:])) + if not config.has_section('countdown'): + config.add_section('countdown') + + config.set('countdown', item, target.astimezone(tzutc()).isoformat()) + ##### # on_connect # handler for when the bot has connected to IRC @@ -177,6 +194,7 @@ def on_privmsg(connection, event): # standard commands sub_report_seen(connection, event, nick, userhost, replypath, what, admin_unlocked) + sub_add_countdown(connection, event, nick, userhost, replypath, what, admin_unlocked) ##### # on_pubmsg @@ -217,6 +235,7 @@ def on_pubmsg(connection, event): # standard commands sub_report_seen(connection, event, nick, userhost, replypath, what, admin_unlocked) + sub_add_countdown(connection, event, nick, userhost, replypath, what, admin_unlocked) ##### # init