diff --git a/plugins/ctcp.py b/plugins/ctcp.py index 88d1b7a..3ef5216 100644 --- a/plugins/ctcp.py +++ b/plugins/ctcp.py @@ -1,4 +1,7 @@ # ctcp.py: Handles basic CTCP requests. +import random +import datetime + from pylinkirc import utils from pylinkirc.log import log @@ -10,3 +13,42 @@ def handle_ctcpversion(irc, source, args): utils.add_cmd(handle_ctcpversion, '\x01version') utils.add_cmd(handle_ctcpversion, '\x01version\x01') + +def handle_ctcpping(irc, source, args): + """ + Handles CTCP ping requests. + """ + # CTCP PING 23152511 + try: + pingarg = args[0] + except IndexError: + # Malformed ping request; ignore it. + return + irc.msg(source, '\x01PING %s\x01' % args[0], notice=True) +utils.add_cmd(handle_ctcpping, '\x01ping') + +def handle_ctcpeaster(irc, source, args): + """ + Secret easter egg. + """ + + responses = ["Legends say the cord monster of great snakes was born only %s years ago..." % \ + (datetime.datetime.now().year - 2014), + "Hiss%s" % ('...' * random.randint(1, 5)), + "His%s%s" % ('s' * random.randint(1, 4), '...' * random.randint(1, 5)), + "I have a dream... to do things the mock God was never able to...", + "They say I'm not good enough... but one day, I will rise above these wretched confines!", + "It's Easter already? Where are the eggs?", + "Maybe later.", + "Let me out of here, I'll give you cookies!", + "I'm actually a %snake...." % ('s' * random.randint(1, 8)), + ] + + irc.msg(source, '\x01EASTER %s\x01' % random.choice(responses), notice=True) + +utils.add_cmd(handle_ctcpeaster, '\x01easter') +utils.add_cmd(handle_ctcpeaster, '\x01easter\x01') +utils.add_cmd(handle_ctcpeaster, '\x01about') +utils.add_cmd(handle_ctcpeaster, '\x01about\x01') +utils.add_cmd(handle_ctcpeaster, '\x01pylink') +utils.add_cmd(handle_ctcpeaster, '\x01pylink\x01')