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

Как исправить «AttributeError: 'Message' object has no attribute 'id'»?

Пишу Telegram бота, у меня будет вкладка 'Игры'. Написал игру но вылезает ошибка, типа 'Объект 'Message' не имеет атрибута 'id''. Попробовал все. Не получается. Пишу при помощи библиотеки aiogram.

@dp.callback_query_handler(lambda call: True)
async def callback_func(query):
	user_data = maps[query.message.chat.id]
	new_x, new_y = user_data['x'], user_data['y']

	if query.data == 'left':
		new_x -= 1
	if query.data == 'right':
		new_x += 1
	if query.data == 'up':
		new_y -= 1
	if query.data == 'down':
		new_y += 1

	if new_x < 0 or new_x > 2 * cols - 2 or new_y < 0 or new_y > rows * 2 - 2:
		return None
	if user_data['map'][new_x + new_y * (cols * 2 - 1)]:
		return None

	user_data['x'], user_data['y'] = new_x, new_y

	if new_x == cols * 2 - 2 and new_y == rows * 2 - 2:
		bot.edit_message_text(chat_id=query.message.chat.id,
							  message_id=query.message.id,
							  text="Вы выиграли")
		return None

	bot.edit_message_text(chat_id=query.message.chat.id,
						  message_id=query.message.id,
						  text=get_map_str(user_data['map'], (new_x, new_y)),
						  reply_markup=keyboard)

if __name__ == '__main__':
	executor.start_polling(dp, skip_updates=True)
  • Вопрос задан
  • 553 просмотра
Подписаться Простой 3 комментария
Пригласить эксперта
Ответы на вопрос 1
drygdryg
@drygdryg
Python-разработчик
Объект aiogram.types.message.Message не имеет атрибута id. Используйте вместо него Message.message_id
https://docs.aiogram.dev/en/dev-3.x/api/types/mess...
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
22 дек. 2024, в 20:40
10000 руб./за проект
22 дек. 2024, в 20:34
3000 руб./за проект
22 дек. 2024, в 20:12
10000 руб./за проект