Улучшить работу подсказок в IDE
Будет гораздо удобнее работать с библиотекой, если IDE будет автоматически подсказывать какие аргументы принимает тот или иной класс и будет работать автодополнение. К сожалению BaseModel в свой __init__ принимает просто **kwargs из-за это IDE не может показать подробную информацию об аргументах данного метода или типа.
Улучшить ситуацию можно, переопределив __init__ следующим образом на примере SendMessageRequest:
def __init__(
self,
chat_id: int,
text: str,
*,
parse_mode: ParseMode | None = None,
entities: list[MessageEntity] | None = None,
disable_web_page_preview: bool | None = None,
disable_notification: bool | None = None,
protect_content: bool | None = None,
message_thread_id: bool | None = None,
allow_sending_without_reply: bool | None = None,
reply_markup: Union[
InlineKeyboardMarkup,
ReplyKeyboardMarkup,
ReplyKeyboardRemove,
ForceReply,
] | None = None,
):
super().__init__(
chat_id=chat_id,
text=text,
parse_mode=parse_mode,
entities=entities,
disable_web_page_preview=disable_web_page_preview,
disable_notification=disable_notification,
protect_content=protect_content,
message_thread_id=message_thread_id,
allow_sending_without_reply=allow_sending_without_reply,
reply_markup=reply_markup,
)
Это ускорит разработку. Разработчику придется меньше лазить в документацию и код библиотеки.
Здесь так же заданы chat_id и text как позиционные аргумент.
Edited by Михаил Акопян

