Skip to content

Загрузка файлов от имени сообщества ну вообще неочевидна #543

@gaussandhisgun

Description

@gaussandhisgun

Возможно, стоит добавить пример загрузки файла в личные сообщения сообщества. Я сейчас пытаюсь это сделать, и оно ну совсем немного не работает.

Окружение

vk_api: 11.10.0

API: Longpoll 5.199

Пример

    vk_session = vk_api.VkApi(token=group_token)

    longpoll = VkBotLongPoll(vk_session, group_id)
    upload = vk_api.VkUpload(vk_session)
    

    for event in longpoll.listen():

        if event.type == VkBotEventType.MESSAGE_NEW:
            print(event)
            print(event.obj)
            print(event.obj.message)

            print('new message:')

            print('by: ', end='')

            print(event.obj.message["from_id"])
            
            print(text:', event.obj.message["text"])
            # для примера, пытаемся загрузить файл, который был указан в сообщении, используя текст как путь
            document = upload.document_message(event.obj.message["text"], peer_id=event.obj.message["peer_id"])
            print(document)

Код выше возвращает мне вот такое:

Traceback (most recent call last):
  File "/home/gravitos/Projects/..././bot.py", line 64, in <module>
    main()
    ~~~~^^
  File "/home/gravitos/Projects/..././bot.py", line 48, in main
    document = upload.document_message(event.obj.message["text"], peer_id=event.obj.message["peer_id"])
  File "/home/gravitos/Projects/.../lib/python3.13/site-packages/vk_api/upload.py", line 460, in document_message
    return self.document(doc, title, tags, message_peer_id=peer_id)
           ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/gravitos/Projects/.../lib/python3.13/site-packages/vk_api/upload.py", line 436, in document
    return self.vk.docs.save(**response)
           ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
  File "/home/gravitos/Projects/.../lib/python3.13/site-packages/vk_api/vk_api.py", line 1043, in __call__
    return self._vk.method(self._method, kwargs)
           ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
  File "/home/gravitos/Projects/.../lib/python3.13/site-packages/vk_api/vk_api.py", line 934, in method
    raise error
vk_api.exceptions.ApiError: [100] One of the parameters specified was missing or invalid: file is undefined

Файл существует.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions