Не могу получить объект 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)
→ Ссылка