whenever i try to download a video, im hit with a bad gateway error.
this is the code:
<code>import telebot
from pytube import YouTube
bot = telebot.TeleBot("7297640965:AAETe0hgv98gOnJININNfczEeBMRJyI9b7s", parse_mode=None)
# Variable to keep track of the state
awaiting_link = False
# Command handler for /start
@bot.message_handler(commands=['start'])
def send_welcome(message):
bot.reply_to(message, "Howdy, how are you doing?")
# Command handler for /help
@bot.message_handler(commands=['help'])
def send_help(message):
bot.reply_to(message, "This is a test bot! Send /yt_download to download a YouTube video.")
# Command handler for /yt_download
@bot.message_handler(commands=['yt_download'])
def request_video_link(message):
global awaiting_link
awaiting_link = True
bot.send_message(message.chat.id, "Please send the YouTube video link you want to download.")
# Message handler for text messages
@bot.message_handler(func=lambda message: True)
def handle_message(message):
global awaiting_link
if awaiting_link:
try:
yt = YouTube(message.text)
highest_quality_stream = yt.streams.get_highest_resolution()
bot.send_message(message.chat.id, f"Downloading video: {yt.title}")
video_path = highest_quality_stream.download() # Downloads the video to the local directory
with open(video_path, 'rb') as video:
bot.send_video(message.chat.id, video)
os.remove(video_path) # Remove the video file after sending
awaiting_link = False # Reset the state
except Exception as e:
bot.send_message(message.chat.id, f"An error occurred: {e}")
awaiting_link = False # Reset the state
else:
bot.reply_to(message, message.text)
# Start the bot
print("Listening ...")
bot.infinity_polling()
</code>
<code>import telebot
from pytube import YouTube
bot = telebot.TeleBot("7297640965:AAETe0hgv98gOnJININNfczEeBMRJyI9b7s", parse_mode=None)
# Variable to keep track of the state
awaiting_link = False
# Command handler for /start
@bot.message_handler(commands=['start'])
def send_welcome(message):
bot.reply_to(message, "Howdy, how are you doing?")
# Command handler for /help
@bot.message_handler(commands=['help'])
def send_help(message):
bot.reply_to(message, "This is a test bot! Send /yt_download to download a YouTube video.")
# Command handler for /yt_download
@bot.message_handler(commands=['yt_download'])
def request_video_link(message):
global awaiting_link
awaiting_link = True
bot.send_message(message.chat.id, "Please send the YouTube video link you want to download.")
# Message handler for text messages
@bot.message_handler(func=lambda message: True)
def handle_message(message):
global awaiting_link
if awaiting_link:
try:
yt = YouTube(message.text)
highest_quality_stream = yt.streams.get_highest_resolution()
bot.send_message(message.chat.id, f"Downloading video: {yt.title}")
video_path = highest_quality_stream.download() # Downloads the video to the local directory
with open(video_path, 'rb') as video:
bot.send_video(message.chat.id, video)
os.remove(video_path) # Remove the video file after sending
awaiting_link = False # Reset the state
except Exception as e:
bot.send_message(message.chat.id, f"An error occurred: {e}")
awaiting_link = False # Reset the state
else:
bot.reply_to(message, message.text)
# Start the bot
print("Listening ...")
bot.infinity_polling()
</code>
import telebot
from pytube import YouTube
bot = telebot.TeleBot("7297640965:AAETe0hgv98gOnJININNfczEeBMRJyI9b7s", parse_mode=None)
# Variable to keep track of the state
awaiting_link = False
# Command handler for /start
@bot.message_handler(commands=['start'])
def send_welcome(message):
bot.reply_to(message, "Howdy, how are you doing?")
# Command handler for /help
@bot.message_handler(commands=['help'])
def send_help(message):
bot.reply_to(message, "This is a test bot! Send /yt_download to download a YouTube video.")
# Command handler for /yt_download
@bot.message_handler(commands=['yt_download'])
def request_video_link(message):
global awaiting_link
awaiting_link = True
bot.send_message(message.chat.id, "Please send the YouTube video link you want to download.")
# Message handler for text messages
@bot.message_handler(func=lambda message: True)
def handle_message(message):
global awaiting_link
if awaiting_link:
try:
yt = YouTube(message.text)
highest_quality_stream = yt.streams.get_highest_resolution()
bot.send_message(message.chat.id, f"Downloading video: {yt.title}")
video_path = highest_quality_stream.download() # Downloads the video to the local directory
with open(video_path, 'rb') as video:
bot.send_video(message.chat.id, video)
os.remove(video_path) # Remove the video file after sending
awaiting_link = False # Reset the state
except Exception as e:
bot.send_message(message.chat.id, f"An error occurred: {e}")
awaiting_link = False # Reset the state
else:
bot.reply_to(message, message.text)
# Start the bot
print("Listening ...")
bot.infinity_polling()
i tried using chat gpt to get help but it didnt do much help. i found a bunch of other telegram bots that do the same thing on git hub bit ive got the same issue with them too.
New contributor
Abtin is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.