Пишу 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)