пишу своего телеграмм бота на telebot и когда пользователь нажимает на кнопку получить тренировки для женщины или мужчины, то у него долго грузятся видео, как сделать так, как на скриншоте, чтобы видео сразу появлялись и их можно было бы загрузить?
import telebot
from telebot import types
from telebot.types import KeyboardButton
from pytube import YouTube
bot = telebot.TeleBot('TOKEN')
@bot.message_handler(commands=['start'])
def start(message):
markup = main_menu_markup() # Используем функцию для создания разметки
bot.send_message(message.chat.id,
'Привет, {0.first_name}! Я бот БезВреда, чем могу быть обязан?'.format(message.from_user),
reply_markup=markup)
def main_menu_markup():
markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
item1 = types.KeyboardButton('Наши соцсети и сайт')
item2 = types.KeyboardButton('Получить скидку')
item3 = types.KeyboardButton('Задать вопрос по товару')
item4 = types.KeyboardButton('Получить тренировки')
markup.row(item1)
markup.row(item2)
markup.row(item3)
markup.row(item4)
return markup
photosm = ['https://ibb.co/MkrwBBD', 'https://ibb.co/T0NQ9Dc', 'https://ibb.co/DpdQ3gV', 'https://ibb.co/wwW6P2n',
'https://ibb.co/xCT8hcZ', 'https://ibb.co/VvK9phm', 'https://ibb.co/0XKdyyZ', 'https://ibb.co/p3SLS8V',
'https://ibb.co/nPx51Mv', 'https://ibb.co/74nXhRW', 'https://ibb.co/mtqy69b', 'https://ibb.co/qpvdmPy']
photosw = ['https://ibb.co/DWkrq3X', 'https://ibb.co/K6j5QfC', 'https://ibb.co/CKMPWYs', 'https://ibb.co/FXH4kJP',
'https://ibb.co/WB28DTc', 'https://ibb.co/Pt6HRbT', 'https://ibb.co/CMmqFxx', 'https://ibb.co/mFXrXf6',
'https://ibb.co/X3zqd4j', 'https://ibb.co/k3bkn5Q', 'https://ibb.co/3zyXv9f', 'https://ibb.co/q5kY9TQ',
'https://ibb.co/Jn4FqW2']
videow = ['https://youtu.be/zB7DVYSltGM?si=ldHqem6B4FfW1nEN', 'https://youtu.be/cYmmA3UOCnk?si=AST3dBqX56OWL1zM',
'https://youtu.be/8BS9MPIEn_o?si=KqIkA43KbxcFXqtE', 'https://youtu.be/gif2xzzGcT0?si=Fh9oeAXkFPXLHv4K',
'https://youtu.be/nNG4zOgOLCw?si=DkhW_1mxbZcLoKZX', 'https://youtu.be/D53V5HF9JRc?si=HKgKf7vlWEYI-g-O',
'https://youtu.be/Fp4FxZiDvLI?si=L-qdY9vYCOrKriUR', 'https://youtu.be/eeMV_OMKm8Y?si=Etmqcx4jrhJ8zt4M',
'https://youtu.be/Hh0XdqNWPPY?si=cOWBywjbeI6pTAe1', 'https://youtu.be/7cyRSkiOBTM?si=orHY4wTEbWtWLAqn',
'https://youtu.be/H3dTGZyF6Rg?si=lB9mCm2px9ZFw8bI', 'https://youtu.be/rar8LZx-qQ8?si=CNIPXpTlneoN1LXj',
'https://youtu.be/E2gzxNek918?si=FB5OnjdpXNhyFKDU', 'https://youtu.be/wMKigF6ravQ?si=T5Cvnv-kLehtxknS',
'https://youtu.be/7q93t7Ev4j8?si=1Y2p0Poq4sVva9K2', 'https://youtu.be/JDx-Ggm3oWk?si=R5_BY7ZoIEu3Bl5m']
videom = ['https://youtu.be/rBnsfJQm3hI?si=jHkYZsjD5BghMna9', 'https://youtu.be/rI2K0aIcevY?si=HhOwPtWike2ynlfI',
'https://youtu.be/bN7MHzqL7qM?si=MIfCqPRQz_YaHjX0', 'https://youtu.be/Im5zP08xkd8?si=ueVvQeXC7jPjCoG8',
'https://youtu.be/qPM5Ce7fzRI?si=sPM_f-dKhqm_KGb_', 'https://youtu.be/Ts9HaWcCBx8?si=UmaYY_1IClbr9NJI',
'https://youtu.be/zB7DVYSltGM?si=nwNO5kHwkH_7EVh1', 'https://youtu.be/cYmmA3UOCnk?si=B6BZaFuqAYyi1uh8',
'https://youtu.be/TxwfsYfjUjQ?si=RCORQa4ncgI6wcCN', 'https://youtu.be/Wds8doK8TAs?si=PreXR2GSehxD0LNA',
'https://youtu.be/nNG4zOgOLCw?si=QIjfpI-215R1fQO2', 'https://youtu.be/4-7MtP1LzDc?si=WNt7rqeuQuKjXnHV',
'https://youtu.be/C9sde0W-ccc?si=1cjNSSek0j8KW4IW', 'https://youtu.be/rZQbiLKjX0Q?si=KuUx8tRZGUCJtDd3',
'https://youtu.be/Hh0XdqNWPPY?si=CvnS4QmN9L0wQELK', 'https://youtu.be/7cyRSkiOBTM?si=lUcTJRWPDh13tduS',
'https://youtu.be/MvGMzovqTvc?si=gxsAmK3M3Lo80x-2', 'https://youtu.be/srgu9Slf5Oc?si=8AlXQSj2VCmB8FU5',
'https://youtu.be/E2gzxNek918?si=AHoukyC9dmaUhAVr', 'https://youtu.be/wMKigF6ravQ?si=oretIPEa-S0LDOcE']
def send_youtube_video(chat_id, video_url):
yt = YouTube(video_url)
video = yt.streams.filter(file_extension='mp4').first()
video.download(filename='video.mp4')
video_file = open('video.mp4', 'rb')
bot.send_video(chat_id, video_file)
video_file.close()
@bot.message_handler(content_types=['text'])
def bot_message(message):
if message.chat.type == 'private':
if message.text == 'Наши соцсети и сайт':
keyboard = types.InlineKeyboardMarkup()
url_btn = types.InlineKeyboardButton(text='Наш сайт', url='https://bezvreda.shop/')
url_btn1 = types.InlineKeyboardButton(text='Ozon', url='https://www.ozon.ru/category/varene-31561/bezvreda-101005855/')
url_btn2 = types.InlineKeyboardButton(text='Wildberries', url='https://www.wildberries.ru/brands/310609804-bezvreda')
url_btn3 = types.InlineKeyboardButton(text='Instagram', url='https://www.instagram.com/bezvreda.shop?igsh=OHhmYzFlbm5uMHp1')
url_btn4 = types.InlineKeyboardButton(text='Яндекс Маркет', url='https://market.yandex.ru/business--otel-park-krestovskii-restoran/110479582')
url_btn5 = types.InlineKeyboardButton(text='ВКонтакте', url='https://vk.com/bezvreda.shop')
keyboard.row(url_btn)
keyboard.row(url_btn1)
keyboard.row(url_btn2)
keyboard.row(url_btn3)
keyboard.row(url_btn4)
keyboard.row(url_btn5)
bot.send_message(message.chat.id, 'Пожалуйста, мы много где есть', reply_markup=keyboard)
elif message.text == "Получить скидку":
bot.send_message(message.chat.id, 'Введите промокод ILYA и получите скидку в размере 100 рублей')
elif message.text == 'Задать вопрос по товару':
bot.send_message(message.chat.id, "все четко")
elif message.text == 'Назад':
markup = main_menu_markup() # Используем функцию для создания разметки
bot.send_message(message.chat.id, 'Вы вернулись в главное меню. Выберите опцию:', reply_markup=markup)
# Добавляем обработку для 'Получить тренировки'
elif message.text == 'Получить тренировки':
markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
item1: KeyboardButton = types.KeyboardButton('Получить тренировки для женщин')
item2 = types.KeyboardButton('Получить тренировки для мужчин')
item3 = types.KeyboardButton('Назад')
markup.row(item1)
markup.row(item2)
markup.row(item3)
bot.send_message(message.chat.id, f'Выберите категорию тренировок:', reply_markup=markup)
elif message.text == 'Получить тренировки для женщин':
for photo_url in photosw:
bot.send_photo(message.chat.id, photo_url)
for video_url in videow:
send_youtube_video(message.chat.id, video_url)
elif message.text == 'Получить тренировки для мужчин':
for photo_url in photosm:
bot.send_photo(message.chat.id, photo_url)
for video_url in videom:
send_youtube_video(message.chat.id, video_url)
bot.polling(none_stop=True)