import telebot
from telebot import types
from youtube_dl import YoutubeDL
import os
bot = telebot.TeleBot('ТОКЕН', skip_pending=True)
@bot.message_handler(commands=['start'])
def start(message):
#клава
markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
item1 = types.KeyboardButton('Что ты умеешь?')
item2 = types.KeyboardButton('Начнем работать!')
markup.add(item1, item2)
bot.send_message(message.chat.id, 'Привет мой новый друг!', reply_markup=markup)
@bot.message_handler(content_types=['text'])
def keyboard(message):
if message.chat.type == 'private':
if message.text == 'Что ты умеешь?':
bot.send_message(message.chat.id, 'Я умею скачивать видео в разных форматах!')
elif message.text == 'Начнем работать!':
bot.send_message(message.chat.id, 'Присылай мне ссылку на видеоролик и укажи нужный формат файла для установки согласно примеру! \n\nПример: <b>mp3/mp4</b> ссылка', parse_mode='html')
def get_audio(name, link):
if os.path.exists(name):
os.remove(name)
if 'mp3' in name:
audio_downloader = YoutubeDL({'format':'bestaudio', 'outtmpl' : name})
audio_downloader.extract_info(link)
elif 'mp4' in name:
audio_downloader = YoutubeDL({'format':'bestvideo', 'outtmpl' : name})
audio_downloader.extract_info(link)
@bot.message_handler(content_types=['text'])
def get_rait(message):
args = message.text.split()
if args[0].lower() != 'mp3' and args[0].lower() != 'mp4':
bot.send_message(message.chat.id, 'Недопустимый формат файла.')
return
if len(args) == 1:
bot.send_message(message.chat.id, 'Вы не указали ссылку.')
return
if 'youtu' in args[1]:
name = str(message.chat.id)+'.'+args[0].lower()
get_audio(name,args[1])
if args[0] == 'mp3':
bot.send_audio(message.chat.id,open(name, 'rb'))
else:
bot.send_video(message.chat.id,open(name, 'rb'))
else:
bot.send_message(message.chat.id, 'Мне нужна ссылка на ютуб.')
bot.polling()