Skip to content

Request-Validator

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

Стандартные валидаторы ответов

TranslateFriendlyTypesRequestValidator

Превращает стандартные типы питона в типы которые документирует вк:

  • list -> ",".join(v)
  • bool -> int(v)
  • dict -> self.validate(v)
  • BaseModel -> v.json()

Создание своего валидатора ответа

Пример с request_validators из API:

1
2
3
4
5
6
7
8
9
from vkbottle import API, ABCRequestValidator

class SomeRequestValidator(ABCRequestValidator):
    async def validate(self, request: dict) -> dict:
        # some stuff with request data
        return request

api = API("token")
api.request_validators.append(SomeRequestValidator())