AttributeError: 'NoneType' object has no attribute 'text', при вводе команды в телеграм боте /set_titlе. бот должен менять заголовок но вылазит ошибка
Смотрю курс по разработке телеграм ботов, код беру из этого же курса, но этот код у меня не работает, в учителя работает
@dp.message_handler(IsGroup(), Command('set_title'), AdminFilter())
async def set_title_groups(message: types.Message):
source_message = message.reply_to_message
title = source_message.text
await message.chat.set_title(title)
AttributeError: 'NoneType' object has no attribute 'text'
Также ошибка появляется когда пытаюсь заменить фото групы
@dp.message_handler(IsGroup(), Command('set_photo'), AdminFilter())
async def set_photo_groups(message: types.Message):
source_message = message.reply_to_message
photo = source_message.photo[-1]
photo = await photo.download(destination=io.BytesIO())
input_file = types.InputFile(path_or_bytesio=photo)
await message.chat.set_photo(photo=input_file)
AttributeError: 'NoneType' object has no attribute 'photo'
Как быть, что нужно поменять в коде?
Ответы (1 шт):
Автор решения: MyZik
→ Ссылка
Исходя из Вашего кода
source_message = message.reply_to_message
Эту команду нужно использовать ответом на сообщение. Т.е., выберите сообщение в мессенджере, и в поле сообщения напишите /set_title.
В таком случае, Вашу функцию можно дополнить:
@dp.message_handler(IsGroup(), Command('set_title'), AdminFilter())
async def set_title_groups(message: types.Message):
source_message = message.reply_to_message
if not source_message:
return await.message.reply("Использовать эту команду можно только ответом на сообщение!")
title = source_message.text
await message.chat.set_title(title)