Не могу получить объект Message
У меня проблема, не могу получить объект Message. Использую VkBottle User.
Код:
@user.on.message()
async def handler(message: Message):
a = message
print(a[Message])
Ошибка:
Traceback (most recent call last):
File "C:\Users\JustMavist\AppData\Local\Programs\Python\Python39\lib\site-packages\vkbottle\dispatch\base.py", line 22, in route
await view.handle_event(event, ctx_api, self.state_dispenser)
File "C:\Users\JustMavist\AppData\Local\Programs\Python\Python39\lib\site-packages\vkbottle\dispatch\views\abc\message.py", line 73, in handle_event
handler_response = await handler.handle(message, **context_variables)
File "C:\Users\JustMavist\AppData\Local\Programs\Python\Python39\lib\site-packages\vkbottle\dispatch\handlers\from_func_handler.py", line 32, in handle
return await self.handler(event, **acceptable_context)
File "C:\Users\JustMavist\Desktop\selfvk.py", line 11, in handler
print(a[Message])
TypeError: 'MessageMin' object is not subscriptable
DEBUG:vkbottle:New event was received: {'ts': 1867601037, 'pts': 20382090, 'updates': [[62, 634134234, 255]]}
Как мне получить сообщение чтобы я мог работать с ним?
Ответы (1 шт):
Автор решения: vvvvvvvvvvv
→ Ссылка
Объект сообщения вы и так получаете. Проблема в том, что вы хотите обратиться к объекту как к словарю. В vkbottle в объекте сообщения уже реализованы необходимые поля. Например, чтобы получить текст сообщения необходимо обратиться к полю text:
@user.on.message()
async def handler(message: Message):
a = message.text
print(a)