Глобальні налаштування

aiogram надає механізм для встановлення деяких глобальних налаштувань для всіх запитів до Telegram Bot API у вашому додатку, використовуючи клас aiogram.client.default.DefaultBotProperties.

Можна встановити деякі властивості:

class aiogram.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)[source]

Стандартні властивості бота.

parse_mode: str | None

Стандартний режим розбору для повідомлень.

disable_notification: bool | None

Відправляє повідомлення без звуку. Користувачі отримають сповіщення без звукового сигналу.

protect_content: bool | None

Захищає вміст від копіювання.

allow_sending_without_reply: bool | None

Дозволяє надсилати повідомлення без відповіді.

Налаштування попереднього перегляду посилань.

Вимикає попередній перегляд посилань.

Віддавати перевагу малим медіафайлам у попередньому перегляді посилань.

Віддавати перевагу великим медіафайлам у попередньому перегляді посилань.

Показувати попередній перегляд посилання над текстом.

show_caption_above_media: bool | None

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

Примітка

Якщо вам потрібно змінити стандартні властивості для деяких запитів, слід використовувати aiogram.client.default.DefaultBotProperties лише для властивостей, які ви хочете встановити за замовчуванням, і передавати явні значення для інших властивостей.

Небезпека

Якщо ви оновлюєтеся з версії aiogram 3.0-3.6 до 3.7, вам потрібно оновити свій код для використання aiogram.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)

У цьому випадку повідомлення буде надіслано без режиму розбору, навіть якщо встановлено стандартний режим розбору. Це може бути корисним, якщо ви хочете надіслати повідомлення у вигляді звичайного тексту або aiogram.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
)