@alikk_python
Кратко о себе

Как переслать фото из частной группы в бот Telebot?

Здравствуйте. Как вы? Как ваши дела? Чем заняты? Как настроение? Что планируете делать сегодня?
Тут такая дилемма...
Нужен был бот для пересылки рандомных фото и видео из частной группы в ЛС с пользователем.

Не могу понять, как получить ID фото и видео, и научить бота рандомно их выбирать и пересылать пользователю.

@bot.message_handler(content_types=['text'])
def media_frwrd(message):
    if message.chat.type == 'private':
        group_id_1 = 'MYGROUP_ID'
        if message.text == 'Фото':
            bot.forward_message(message.chat.id, from_chat_id=group_id_1, #дальше должен идти ID фотографии по идее, но я не понял как его получить и рандомно выбрать)


В просторах интернета не нашел годных объяснений. Надеюсь вы сможете мне помочь.
  • Вопрос задан
  • 102 просмотра
Пригласить эксперта
Ответы на вопрос 1
grantur5707
@grantur5707
Full Stack Web Developer
import random

media_ids = {
    'photos': [],
    'videos': []
}

@bot.message_handler(content_types=['photo', 'video'])
def save_media(message):
    group_id_1 = 'MYGROUP_ID'
    if message.chat.id == int(group_id_1):
        if message.content_type == 'photo':
            file_id = message.photo[-1].file_id
            media_ids['photos'].append(file_id)
        elif message.content_type == 'video':
            file_id = message.video.file_id
            media_ids['videos'].append(file_id)

@bot.message_handler(content_types=['text'])
def media_frwrd(message):
    if message.chat.type == 'private':
        if message.text == 'Фото':
            if media_ids['photos']:
                random_photo_id = random.choice(media_ids['photos'])
                bot.send_photo(message.chat.id, random_photo_id)
            else:
                bot.send_message(message.chat.id, "Нет доступных фото.")
        elif message.text == 'Видео':
            if media_ids['videos']:
                random_video_id = random.choice(media_ids['videos'])
                bot.send_video(message.chat.id, random_video_id)
            else:
                bot.send_message(message.chat.id, "Нет доступных видео.")
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы