from telegram import InlineQueryResultPhoto, InlineQueryResultGif
from telegram.ext import InlineQueryHandler, Updater
from uuid import uuid4
import requests
import imgurpython
import logging
import random

logging.basicConfig(format=logging.BASIC_FORMAT, level=logging.DEBUG)

TOKEN = "211957224:AAGA_wCbJM2TBkzoqSDoScFJcgXtonZMI5o"
IMGUR_PYTHON = imgurpython.ImgurClient('3f2dededfdc1bde', '54b0f7608033af674655d96da7b6df9d5e5e0b52')

def get_random_image():
    images = IMGUR_PYTHON.gallery_random(page=random.randint(0,50))

    results = []

    for image in images:
        if ('gif' in image.link):
            IQR = InlineQueryResultGif
        else:
            IQR = InlineQueryResultPhoto
        irqp = IQR(uuid4(), image.link, image.link.rsplit('.', 1)[0] + 't.jpg', caption=image.title)
        results.append(irqp)

    return results[:10]

def inline_handler(bot, update):
    query = update.inline_query.query

    results = get_random_image()
    bot.answerInlineQuery(update.inline_query.id, results, cache_time=1)

def error(bot, update, error):
    print(update)
    print(error)

def main():
    updater = Updater(token=TOKEN)
    updater.dispatcher.add_handler(InlineQueryHandler(inline_handler))
    updater.dispatcher.add_error_handler(error)
    updater.start_polling()
    updater.idle()

if __name__ == '__main__':
    main()
