add xkcd.py

merged from
https://github.com/BlitzKraft/bitbot/blob/master/modules/xkcd.py

also adds debug logging to ttm.py
This commit is contained in:
Ben Harris 2020-07-14 01:45:28 -04:00
parent 8055e9ff94
commit 823ca9eeb4
2 changed files with 24 additions and 0 deletions

3
ttm.py
View File

@ -6,12 +6,15 @@ class Module(ModuleManager.BaseModule):
def on_load(self):
self.exports.add("shorturl-s-ttmsh", self._shorturl)
def _shorturl(self, url):
self.log.info("url to shorten:", url)
if len(url) < 18:
return None
page = utils.http.request(URL, method="POST",
post_data={"shorten": url})
self.log.info("page:", page)
if page and page.data:
return page.decode("utf8").rstrip("\n")
return None

21
xkcd.py Normal file
View File

@ -0,0 +1,21 @@
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]
event["stdout"].write("%s: %s" % (title, url))
else:
event["stderr"].write("Unable to fetch xkcd")
except ValueError:
event["stderr"].write("Please provide positive integer.")