diff options
Diffstat (limited to 'src/core_modules/ctcp.py')
| -rw-r--r-- | src/core_modules/ctcp.py | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/core_modules/ctcp.py b/src/core_modules/ctcp.py new file mode 100644 index 00000000..678cf833 --- /dev/null +++ b/src/core_modules/ctcp.py @@ -0,0 +1,29 @@ +#--depends-on config + +import datetime +from src import IRCBot, ModuleManager, utils + + +@utils.export("serverset", utils.BoolSetting("ctcp-responses", + "Set whether I respond to CTCPs on this server")) +class Module(ModuleManager.BaseModule): + @utils.hook("received.ctcp.request.version") + def ctcp_version(self, event): + default = "BitBot %s (%s)" % (IRCBot.VERSION, IRCBot.SOURCE) + + event["user"].send_ctcp_response("VERSION", + self.bot.config.get("ctcp-version", default)) + + @utils.hook("received.ctcp.request.source") + def ctcp_source(self, event): + event["user"].send_ctcp_response("SOURCE", + self.bot.config.get("ctcp-source", IRCBot.SOURCE)) + + @utils.hook("received.ctcp.request.ping") + def ctcp_ping(self, event): + event["user"].send_ctcp_response("PING", event["message"]) + + @utils.hook("received.ctcp.request.time") + def ctcp_time(self, event): + event["user"].send_ctcp_response("TIME", + datetime.datetime.now().strftime("%c")) |
