vkwave icon indicating copy to clipboard operation
vkwave copied to clipboard

[БАГ]: Загрузка изображений в беседы без главного админа

Open h4x4d opened this issue 1 year ago • 0 comments

Чеклист

  • [x] Я убедился, что похожая проблема еще не была описана

  • VKWave установлен из (выберите один вариант)

    • [ ] PyPI
    • [x] Github

Описание

При попытке загрузки изображения в группу где нет главного админа (ливнул, забанен), или главный админ - сообщество, выбрасывается эта ошибка. В других группах все нормально.

Трейсбек (лог с ошибкой)

Task exception was never retrieved
future: <Task finished name='Task-42' coro=<Dispatcher.process_event() done, defined at C:\Users\hex\Desktop\Python\Python\deck_view\venv\lib\site-packages\vkwave\bots\core\dispatching\dp\dp.py:43> exception=APIError('[1] Unknown error occurred')>
Traceback (most recent call last):
  File "C:\Users\hex\Desktop\Python\Python\deck_view\venv\lib\site-packages\vkwave\bots\core\dispatching\dp\dp.py", line 72, in process_event
    result = await router.process_event(event)
  File "C:\Users\hex\Desktop\Python\Python\deck_view\venv\lib\site-packages\vkwave\bots\core\dispatching\router\router.py", line 48, in process_event
    h_res = await handler.process_event(event)
  File "C:\Users\hex\Desktop\Python\Python\deck_view\venv\lib\site-packages\vkwave\bots\core\dispatching\handler\base.py", line 40, in process_event
    c_result = await self.callback.execute(event)
  File "C:\Users\hex\Desktop\Python\Python\deck_view\venv\lib\site-packages\vkwave\bots\addons\easy\easy_handlers.py", line 771, in execute
    return await self.func.execute(new_event)
  File "C:\Users\hex\Desktop\Python\Python\deck_view\venv\lib\site-packages\vkwave\bots\core\dispatching\handler\callback.py", line 18, in execute
    return await self.func(event)
  File "C:\Users\hex\Desktop\Python\Python\deck_view\hearthstone_deckview\main.py", line 152, in main
    resp = await photo_uploader.get_attachment_from_path(
  File "C:\Users\hex\Desktop\Python\Python\deck_view\venv\lib\site-packages\vkwave\bots\utils\uploaders\uploader.py", line 69, in get_attachment_from_path
    return await self.get_attachment_from_io(peer_id, file_data, file_name=file_name)
  File "C:\Users\hex\Desktop\Python\Python\deck_view\venv\lib\site-packages\vkwave\bots\utils\uploaders\uploader.py", line 58, in get_attachment_from_io
    await self.upload(upload_url, f, file_extension=file_extension, file_name=file_name)
  File "C:\Users\hex\Desktop\Python\Python\deck_view\venv\lib\site-packages\vkwave\bots\utils\uploaders\photo_uploader.py", line 40, in upload
    await self.api_context.photos.save_messages_photo(
  File "C:\Users\hex\Desktop\Python\Python\deck_view\venv\lib\site-packages\vkwave\api\methods\photos.py", line 1132, in save_messages_photo
    raw_result = await self.api_request("saveMessagesPhoto", params)
  File "C:\Users\hex\Desktop\Python\Python\deck_view\venv\lib\site-packages\vkwave\api\methods\_category.py", line 22, in api_request
    return await self.__api.api_request(self.make_method_name(method_name), params)
  File "C:\Users\hex\Desktop\Python\Python\deck_view\venv\lib\site-packages\vkwave\api\methods\_abc.py", line 195, in api_request
    err_handler_result = await self.handle_error(Error(result))
  File "C:\Users\hex\Desktop\Python\Python\deck_view\venv\lib\site-packages\vkwave\api\methods\_abc.py", line 151, in handle_error
    return await dispatcher.process_error(error, self)
  File "C:\Users\hex\Desktop\Python\Python\deck_view\venv\lib\site-packages\vkwave\api\methods\_error.py", line 98, in process_error
    raise APIError(code, err["error_msg"], err["request_params"])
vkwave.api.methods._error.APIError: [1] Unknown error occurred

Код, вызвающий ошибку


photo_uploader = PhotoUploader(api_context=bot.api_context)
resp = await photo_uploader.get_attachment_from_path(peer_id=event.peer_id, file_path="pic.png", file_extension="png")

Хочу уточнить, что возможно этот баг - не ваш, а всего апи, пытался сделать это и на голом vk_api, все равно ошибка:


import random

import requests
import vk_api

from tokens import TOKEN

vk = vk_api.VkApi(token=TOKEN)
api = vk.get_api()

m = api.photos.getMessagesUploadServer(peer_id=2000000017)
url = m['upload_url']
resp = requests.post(url, files={"file1": open("pic.png", "rb")}).json()

ph = api.photos.saveMessagesPhoto(photo=resp['photo'],
                                  server=resp['server'],
                                  hash=resp['hash'])

api.messages.send(
    random_id=random.getrandbits(32),
    text="test",
    attachments=f'photo{ph["owner_id"]}_{ph["id"]}'
)


Traceback (most recent call last):
  File "C:\Users\hex\Desktop\Python\Python\deck_view\hearthstone_deckview\test\main.py", line 16, in <module>
    ph = api.photos.saveMessagesPhoto(photo=resp['photo'],
  File "C:\Users\hex\Desktop\Python\Python\deck_view\venv\lib\site-packages\vk_api\vk_api.py", line 737, in __call__
    return self._vk.method(self._method, kwargs)
  File "C:\Users\hex\Desktop\Python\Python\deck_view\venv\lib\site-packages\vk_api\vk_api.py", line 697, in method
    raise error
vk_api.exceptions.ApiError: [1] Unknown error occurred


h4x4d avatar Jul 21 '22 08:07 h4x4d