From 8a218472f7cd100a9a075c116ed439bb5cff91db Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Fri, 20 Oct 2023 04:05:47 +0000 Subject: [PATCH] Copy over some gag commands from old zodbot --- fedora/__init__.py | 5 +++++ fedora/gags.py | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 fedora/gags.py diff --git a/fedora/__init__.py b/fedora/__init__.py index 33a1c79..d2bc233 100644 --- a/fedora/__init__.py +++ b/fedora/__init__.py @@ -14,6 +14,7 @@ from .db import upgrade_table from .distgit import DistGitHandler from .fas import FasHandler +from .gags import MiscHandler from .oncall import OnCallHandler from .pagureio import PagureIOHandler @@ -35,6 +36,7 @@ async def start(self) -> None: self.register_handler_class(BugzillaHandler(self)) self.register_handler_class(OnCallHandler(self)) self.register_handler_class(CookieHandler(self)) + self.register_handler_class(MiscHandler(self)) async def stop(self) -> None: pass @@ -77,6 +79,9 @@ async def bothelp(self, evt: MessageEvent, commandname: str) -> None: else: # list all the commands with the help arg from command.new for cmd in self._get_handler_commands(): + # Skip undocumented commands + if cmd.__mb_help__ is None: + continue output.append( f"* `{cmd.__mb_prefix__} {cmd.__mb_usage_args__}` - {cmd.__mb_help__}" ) diff --git a/fedora/gags.py b/fedora/gags.py new file mode 100644 index 0000000..cdbed14 --- /dev/null +++ b/fedora/gags.py @@ -0,0 +1,32 @@ +from __future__ import annotations + +from maubot import MessageEvent +from maubot.handlers import command + +from .handler import Handler + +""" +Old zodbot had a lot of fun little gags. +Why not carry (some of) them over? +""" + + +class MiscHandler(Handler): + @command.new(name="fire") + @command.argument("firee", required=True) + async def fire(self, evt: MessageEvent, firee: str) -> None: + await evt.mark_read() + await evt.react("🔥") + await evt.reply(f"adamw fires {firee}") + + @command.new(name="cake") + async def cake(self, evt: MessageEvent) -> None: + await evt.mark_read() + await evt.react("🍰") + await evt.reply(f"here {evt.sender}, take your slice of cake") + + @command.new(name="beefymiracle") + async def beefymiracle(self, evt: MessageEvent) -> None: + await evt.mark_read() + await evt.react("🌭") + await evt.reply("ALL HAIL THE BEEFY MIRACLE!! (The mustard indicates progress)")