@dobrozor

Как сделать отправку нескольких фотографий и видео telebot?

Есть два файла bot.py и database.py
В целом всё работает, по одной фотографии я отправить могу, и по одному видео могу. но когда отправляю например сразу две фотографии программа падает. Что делать?

Код сообщений
@bot.message_handler(content_types=['sticker', 'voice', 'photo', 'video', 'video_note'])
def handle_media(message):
    if message.chat.type == 'private':
        chat_info = db.get_active_chat(message.chat.id)

        if chat_info is not False:
            if message.content_type == 'sticker':
                bot.send_sticker(chat_info[1], message.sticker.file_id)

            elif message.content_type == 'voice':
                bot.send_voice(chat_info[1], message.voice.file_id)

            elif message.content_type == 'photo':
                photo_id = message.photo[-1].file_id  # Берем файл с максимальным качеством
                bot.send_photo(chat_info[1], photo_id, caption=message.caption or message.text)

            elif message.content_type == 'video':
                file_id = message.video.file_id
                bot.send_video(chat_info[1], file_id, caption=message.caption or message.text)

            elif message.content_type == 'video_note':
                file_id = message.video_note.file_id
                bot.send_video_note(chat_info[1], file_id)
        else:
            bot.send_message(message.chat.id, sms.no_sms)


Вот из database
def get_active_chat(self, chat_id):
        with self.connection:
            # Пытаемся найти чат по chat_one
            chat = self.cursor.execute("SELECT * FROM `chats` WHERE `chat_one` = ?", (chat_id,)).fetchone()
            if chat:
                return [chat[0], chat[2]]  # Возвращаем id и chat_two

            # Пытаемся найти чат по chat_two
            chat = self.cursor.execute("SELECT * FROM `chats` WHERE `chat_two` = ?", (chat_id,)).fetchone()
            if chat:
                return [chat[0], chat[1]]  # Возвращаем id и chat_one

            # Если ничего не найдено, возвращаем False
            return False
  • Вопрос задан
  • 38 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы