@Asriel

Как мне отправить все картинки из папки через бота на питоне?

Я пишу этот код и мне выдает ошибку 'NoneType' object has no attribute 'file_id'
Я просто с гайда скопировал код и вставил себе. Хочу узнать id файлов, чтобы потом заново их не отправлять, но мне выдает ошибку. Что я делаю не нет? Помогите

@bot.message_handler(commands=['test'])
def find_file_ids(message):
    for file in os.listdir('photo/'):
        if file.split('.')[-1] == 'jpg':
            f = open('photo/'+file, 'rb')
            msg = bot.send_photo(message.chat.id, f, None)
            # А теперь отправим вслед за файлом его file_id
            bot.send_message(message.chat.id, msg.photo.file_id, reply_to_message_id=msg.message_id)
        time.sleep(3)
  • Вопрос задан
  • 215 просмотров
Решения вопроса 1
@o5a
Потому что в msg.photo содержится не одно, а список вариантов с разными разрешениями. Так что сначала нужно выбрать нужное. Например так
photo = max(msg.photo, key=lambda x: x.height)
file_id = photo.file_id

P.S. хотя я упустил, что ругается на 'NoneType', т.е. информации о фото вообще нет (msg.photo = None), причина еще в чем-то
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@stasersmailov
попробуй msg.media_group_id
Ответ написан
Ваш ответ на вопрос

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

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