Browse Source

Create main.py

Hodza Alban 6 years ago
parent
commit
148286d6aa
1 changed files with 36 additions and 0 deletions
  1. 36 0
      main.py

+ 36 - 0
main.py

@@ -0,0 +1,36 @@
+import os
+import logging
+from glob import glob
+
+import youtube_dl
+from telegram.ext import Updater, MessageHandler, Filters
+
+logging.basicConfig(format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
+					level=logging.INFO)
+logger = logging.getLogger(__name__)
+
+updater = Updater(token='TOKEN') # put here the bot's token
+dispatcher = updater.dispatcher
+
+ydl_opts = {
+	'restrictfilenames': True,
+}
+
+def download(bot, update):
+    for f in glob('*.mp4'):
+        os.remove(f) # remove old video(s)
+    try:
+        with youtube_dl.YoutubeDL(ydl_opts) as ydl:
+            ydl.download([update.message.text])
+        
+        for f in glob('*.mp4'): # TODO this way for find the file(s) IMHO is not elegant
+            bot.send_document(chat_id=update.message.chat_id, document=open(f, 'rb'))
+    except Exception as e:
+        bot.sendMessage(chat_id=update.message.chat_id, text='Error')
+        logger.info(e)
+
+download_handler = MessageHandler(Filters.text, download)
+dispatcher.add_handler(download_handler)
+
+updater.start_polling()
+updater.idle()