main.py 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. import logging
  2. from telegram import InlineKeyboardMarkup
  3. from telegram.ext import Updater, CallbackQueryHandler, MessageHandler, Filters
  4. from vid_utils import Video
  5. logging.basicConfig(format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
  6. level=logging.INFO)
  7. logger = logging.getLogger(__name__)
  8. video = None
  9. def get_format(bot, update):
  10. logger.info(update.message.text) # "history"
  11. global video
  12. video = Video(update.message.text, update.message.chat_id)
  13. reply_markup = InlineKeyboardMarkup(video.keyboard)
  14. update.message.reply_text('Choose format:', reply_markup=reply_markup)
  15. def download_choosen_format(bot, update):
  16. query = update.callback_query
  17. bot.edit_message_text(text="Downloading...",
  18. chat_id=query.message.chat_id,
  19. message_id=query.message.message_id)
  20. video.download(query.data)
  21. with video.send() as files:
  22. for f in files:
  23. bot.send_document(chat_id=query.message.chat_id, document=open(f, 'rb'))
  24. updater = Updater(token=YOUR_TOKEN)
  25. updater.dispatcher.add_handler(MessageHandler(Filters.text, get_format))
  26. updater.dispatcher.add_handler(CallbackQueryHandler(download_choosen_format))
  27. # Start the Bot
  28. updater.start_polling()
  29. updater.idle()