Request-Validator
Валидации запросов к ВК нужны, например, для того, чтобы превращать списки чего-либо в строку с значениями через запятую как это требует вк
Стандартные валидаторы ответов
TranslateFriendlyTypesRequestValidator
Превращает стандартные типы питона в типы которые документирует вк:
list->",".join(v)bool->int(v)dict->self.validate(v)BaseModel->v.json()
Создание своего валидатора ответа
Пример с request_validators из API:
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())