Added command to post xkcd comics
parent
3d01d00289
commit
86d900dfe9
|
@ -9,3 +9,6 @@
|
||||||
**!ups**: Print the status of the main UPS. Updated once a minute.
|
**!ups**: Print the status of the main UPS. Updated once a minute.
|
||||||
**!tohru**: Posts a random pic of the one and only Tohru!
|
**!tohru**: Posts a random pic of the one and only Tohru!
|
||||||
**!setplaying**: Sets the bot's Now Playing status to whatever you say (eg !setplaying with Tohru)
|
**!setplaying**: Sets the bot's Now Playing status to whatever you say (eg !setplaying with Tohru)
|
||||||
|
**!xkcd**: Posts a random xkcd comic
|
||||||
|
**!xkcd latest**: Posts the latest xkcd comic
|
||||||
|
**!xkcd x**: Posts xkcd comic number x (if it exists)
|
26
pocketbot.py
26
pocketbot.py
|
@ -4,6 +4,7 @@ import asyncio
|
||||||
import configparser
|
import configparser
|
||||||
import datetime
|
import datetime
|
||||||
import random
|
import random
|
||||||
|
import xkcd
|
||||||
|
|
||||||
#Import config file
|
#Import config file
|
||||||
config = configparser.ConfigParser()
|
config = configparser.ConfigParser()
|
||||||
|
@ -67,6 +68,31 @@ def on_message(message):
|
||||||
elif message.content.lower().startswith('!setplaying'):
|
elif message.content.lower().startswith('!setplaying'):
|
||||||
yield from client.change_presence(game=discord.Game(name=message.content.partition(' ')[2]))
|
yield from client.change_presence(game=discord.Game(name=message.content.partition(' ')[2]))
|
||||||
|
|
||||||
|
#xkcd comic fetcher
|
||||||
|
elif message.content.lower().startswith('!xkcd'):
|
||||||
|
args = message.content.partition(' ')[2]
|
||||||
|
if (args is ''):
|
||||||
|
comic = xkcd.getRandomComic()
|
||||||
|
comicnum = str (comic.number)
|
||||||
|
xkmessage = 'xkcd #' + comicnum + ': ' + comic.getTitle() + '\n' + comic.getImageLink() + '\n' + 'Alt Text: '+comic.getAltText()
|
||||||
|
yield from client.send_message(message.channel, xkmessage)
|
||||||
|
else:
|
||||||
|
if ('latest' in args):
|
||||||
|
comic = xkcd.getLatestComic()
|
||||||
|
comicnum = str (comic.number)
|
||||||
|
xkmessage = 'The most recent xkcd is #' + comicnum + ': ' + comic.getTitle() + '\n' + comic.getImageLink() + '\n' + 'Alt Text: '+comic.getAltText()
|
||||||
|
yield from client.send_message(message.channel, xkmessage)
|
||||||
|
elif (args.isdigit()):
|
||||||
|
comic = xkcd.getComic(args)
|
||||||
|
if (comic.number == -1):
|
||||||
|
yield from client.send_message(message.channel, 'There is no xkcd comic #' + args + '. Please try again.')
|
||||||
|
else:
|
||||||
|
comicnum = str (comic.number)
|
||||||
|
xkmessage = 'xkcd is #' + comicnum + ': ' + comic.getTitle() + '\n' + comic.getImageLink() + '\n' + 'Alt Text: '+comic.getAltText()
|
||||||
|
yield from client.send_message(message.channel, xkmessage)
|
||||||
|
else:
|
||||||
|
yield from client.send_message(message.channel, '`'+args+'`' + 'is not a valid option. Please leave blank for a random comic, say "latest" for the latest comic or put the number of the comic you want.' )
|
||||||
|
|
||||||
|
|
||||||
client.loop.create_task(ups_check())
|
client.loop.create_task(ups_check())
|
||||||
client.run(token)
|
client.run(token)
|
Loading…
Reference in New Issue