from src import ModuleManager, utils BASE_URL = "https://m.xkcd.com/" class Module(ModuleManager.BaseModule): @utils.hook("received.command.x", alias_of="xkcd") @utils.hook("received.command.xkcd") @utils.kwarg("help", "get an xkcd by number. defaults to latest") def xkcd(self, event): query = event["args"] or "" try: url = BASE_URL + query page = utils.http.request(url) if page: title = page.soup().title.contents[0] if title.startswith("xkcd: "): title = title[6:] event["stdout"].write("%s: %s" % (title, url)) else: event["stderr"].write("Unable to fetch xkcd") except ValueError: event["stderr"].write("Please provide positive integer.")