Починить методы типа Edit
# tg_methods.py
class EditUrlMessageMediaRequest(BaseTgRequest):
"""Object encapsulates data for calling Telegram Bot API endpoint `editmessagemedia`.
See here https://core.telegram.org/bots/api#editmessagemedia
"""
chat_id: int | None = Field(
default=None,
description=dedent("""\
Required if inline_message_id is not specified. Unique identifier for the target chat or
username of the target channel (in the format @channelusername).
"""),
)
Схема не соответствует документации.
Опциональное поле chat_id может быть числом, строкой, по дефолту оно None.
Так же в документации сказано:
- chat_id - Required if inline_message_id is not specified.
- message_id - Required if inline_message_id is not specified. Identifier of the message to edit
- inline_message_id - Required if chat_id and message_id are not specified. Identifier of the inline message
Т.е. если поля chat_id и message_id присутствует, поле inline_message_id необязательно. Если inline_message_id присутствует, то chat_id и message_id необязательны. Следует реализовать валидатор для проверки данной функциональности и покрыть фичу тестами.
Рефы:
Edited by Владислав Драгушин