Глобальные настройки

litegram предоставляет механизм для установки некоторых глобальных настроек для всех запросов к Telegram Bot API в вашем приложении, используя класс litegram.client.default.DefaultBotProperties.

Можно установить некоторые свойства:

class litegram.client.default.DefaultBotProperties(*, parse_mode: str | None = None, disable_notification: bool | None = None, protect_content: bool | None = None, allow_sending_without_reply: bool | None = None, link_preview: LinkPreviewOptions | None = None, link_preview_is_disabled: bool | None = None, link_preview_prefer_small_media: bool | None = None, link_preview_prefer_large_media: bool | None = None, link_preview_show_above_text: bool | None = None, show_caption_above_media: bool | None = None)[исходный код]

Синдартные свойства бота.

parse_mode: str | None

Синдартный режим разбора для сообщений.

disable_notification: bool | None

Отправляет сообщение без звука. Пользователи получат уведомление без звукового сигнала.

protect_content: bool | None

Защищает контент от копирования.

allow_sending_without_reply: bool | None

Позволяет отправлять сообщения без отвеи.

Настройки предварительного просмотра ссылок.

Отключает предварительный просмотр ссылок.

Предпочиить маленькие медиафайлы в предварительном просмотре ссылок.

Предпочиить большие медиафайлы в предварительном просмотре ссылок.

Показывать предварительный просмотр ссылки над текстом.

show_caption_above_media: bool | None

Показывать подпись над медиафайлом.

Примечание

Если вам нужно переопределить стандартные свойства для некоторых запросов, следует использовать litegram.client.default.DefaultBotProperties только для свойств, которые вы хотите установить по умолчанию, и передавать явные значения для других свойств.

Опасно

Если вы обновляетесь с версий litegram 3.0-3.6 к 3.7, вам следует обновить свой код для использования litegram.client.default.DefaultBotProperties.

Пример

Вот пример установки стандартного режима разбора для всех запросов к Telegram Bot API:

bot = Bot(
    token=...,
    default=DefaultBotProperties(
        parse_mode=ParseMode.HTML,
    )
)

В этом случае все сообщения, отправленные этим ботом, будут разбираться как HTML, поэтому вам не нужно указывать parse_mode в каждом отправляемом сообщении.

Вместо

await bot.send_message(chat_id, text, parse_mode=ParseMode.HTML)

вы можетте использовать

await bot.send_message(chat_id, text)

и сообщение будет отправлено в режиме разбора HTML.

В некоторых случаях вы можете захотеть переопределить стандартные свойства для некоторых запросов. Вы можете сделать это, передав явные значения в метод:

await bot.send_message(chat_id, text, parse_mode=ParseMode.MARKDOWN_V2)

В этом случае сообщение будет отправлено в режиме Markdown вместо стандартного HTML.

Еще один пример переопределения синдартных свойств:

await bot.send_message(chat_id, text, parse_mode=None)

В этом случае сообщение будет отправлено без режима разбора, даже если установлен стандартный режим разбора. Это может быть полезно, если вы хотите отправить сообщение в виде обычного текста или litegram.types.message_entity.MessageEntity.

await bot.send_message(
    chat_id=chat_id,
    text=text,
    entities=[MessageEntity(type='bold', offset=0, length=4)],
    parse_mode=None
)