CursedImagesBot/bot.py

42 lines
1.4 KiB
Python
Raw Normal View History

2019-03-31 20:34:48 +02:00
#!/usr/bin/env python3
from telegram.ext import Updater, CommandHandler
import config
import requests
import json
import logging
from PIL import Image
from io import BytesIO
logging.basicConfig(format='%(asctime)s - %(name)s - %(levelname)s - \
%(message)s', level=logging.INFO)
2019-04-01 12:04:48 +02:00
def cursed(bot, update, args, subreddit):
2019-03-31 20:34:48 +02:00
try:
lim = args[0]
except(IndexError):
lim = 1
2019-04-01 12:04:48 +02:00
url = f"https://www.reddit.com/r/{subreddit}/top.json?limit={lim}"
2019-03-31 20:34:48 +02:00
headers = {
'user-agent': ('windows / chrome 67 [desktop]: mozilla/5.0 '
'(windows nt 10.0; win64; x64)')}
res = json.loads(requests.get(url, headers=headers).text)
image_url = res["data"]["children"][-1]["data"]["url"]
image = requests.get(image_url, headers=headers)
Image.open(BytesIO(image.content)).save('test.webp')
chat_id = update.message.chat_id
bot.send_sticker(chat_id, open('test.webp', 'rb'))
updater = Updater(token=config.api_key)
dispatcher = updater.dispatcher
2019-04-01 12:09:59 +02:00
dispatcher.add_handler(CommandHandler('hmmm', lambda x, y, args:
cursed(x, y, args, "hmmm"),
2019-04-01 12:04:48 +02:00
pass_args=True))
2019-04-01 12:09:59 +02:00
dispatcher.add_handler(CommandHandler('cursed', lambda x, y, args:
cursed(x, y, args, "CursedImages"),
2019-04-01 12:04:48 +02:00
pass_args=True))
2019-03-31 20:34:48 +02:00
updater.start_polling()