Задать вопрос
@fright002

Как отправить случайную песню с помощью бота в телеграм?

elif message.text == 'Случайная песня':
			files = os.listdir('songs1')

			for x in files:
				list = [x]
				song = random.choice(list)

			bot.send_audio(message.chat.id, song)

В итоге ошибка
(__init__.py:688 MainThread) ERROR - TeleBot: "A request to the Telegram API was unsuccessful. Error code: 400. Description: Bad Request: invalid file HTTP URL specified: Wrong URL host"
  • Вопрос задан
  • 464 просмотра
Подписаться 1 Простой Комментировать
Ответ пользователя soremix К ответам на вопрос (3)
SoreMix
@SoreMix Куратор тега Python
yellow
Во-первых неправильно построен цикл, во-вторых listdir возвращает только название файла, даже не полный путь к нему, а отправить нужно сам объект

elif message.text == 'Случайная песня':
    song_path = os.path.join(os.getcwd(), "songs1", random.choice(os.listdir("songs1")))
    bot.send_audio(message.chat.id, open(song_path, "rb"))
Ответ написан
Комментировать