Python, как отправить аудио телеграмм ботом?
Пишу телеграмм бота, суть которого в том, чтобы отправлять пользователю песни по его выбору.
Вот код, что я написал:
import telebot
bot = telebot.TeleBot('MyToken')
keyboard1 = telebot.types.ReplyKeyboardMarkup(True, True)
keyboard1.row('"Bad guy" - Billie Eilish', '"Вечная тема" - Alik')
@bot.message_handler(commands = ['start'])
def start_message(message):
bot.send_message(message.chat.id, 'Привет! Ты написаk мне /start\n Выбери песню, что ты хочешь послушать', reply_markup = keyboard1)
@bot.message_handler(content_types = ['text'])
def send_songs(message):
if message.text == '"Bad guy" - Billie Eilish':
audio = open(r'C:/Users/Alex Komissarov/Downloads/Billie Eilish - bad guy.mp3', 'rb')
bot.send_chat_action(message.from_user.id, 'upload_audio')
bot.send_audio(message.from_user.id, audio)
audio.close()
bot.polling()
Проблема в том, что когда пользователь выбирает песню, бот пытается ее отправить, написано "отправка аудио сообщения", но в итоге отправка прекращается и ничего не присылается. Не могли бы вы подсказать, что можно сделать, чтобы все до конца работало и присылалось? Заранее спасибо.
Ответы (1 шт):
Автор решения: Aleksandr
→ Ссылка
Так работает:
audio = open(r'/Users/filename.mp3', 'rb')
bot.send_audio(message.chat.id, audio)
audio.close()