]> jfr.im git - erebus.git/blobdiff - modules/nitterize.py
nitterize - farm out to urls to fetch titles for generated nitter links
[erebus.git] / modules / nitterize.py
index 1802d625ae4ac8e0a09575aba3755b3807ff9f9e..07695a3a220e217efbc457939f0861ae43c4014a 100644 (file)
@@ -10,7 +10,7 @@ modinfo = {
        'author': 'Erebus Team',
        'license': 'public domain',
        'compatible': [0], # compatible module API versions
-       'depends': [], # other modules required to work properly?
+       'depends': ['urls'], # other modules required to work properly?
        'softdeps': [], # modules which are preferred but not required
 }
 
@@ -33,6 +33,17 @@ def privmsg_hook(bot, line):
 
        replaced = ""
        for mo in re_findtwitter.finditer(msg):
-               replaced += re_findtwitter.sub(r"https://nitter.projectsegfau.lt/\1", mo.group(0)) + " "
+               replaced += re_findtwitter.sub(bot.parent.cfg.get('nitterize', 'instance', 'https://nitter.net') + r"\1", mo.group(0)) + " "
        if replaced:
-               bot.msg(chan, "%s" % (replaced))
+               bot.msg(chan, replaced)
+               titles = lib.mod('urls').process_line(replaced)
+               lib.mod('urls').send_response(bot, chan, titles)
+
+@lib.hook(glevel=lib.STAFF, needchan=False)
+@lib.argsEQ(1)
+def setnitter(bot, user, chan, realtarget, *args):
+       newnitter = args[0]
+       if newnitter[-1] != "/":
+               newnitter += "/"
+       bot.parent.cfg.set('nitterize', 'instance', newnitter)
+       return 'Done'