Глобальні налаштування¶
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¶
Дозволяє надсилати повідомлення без відповіді.
- link_preview: LinkPreviewOptions | None¶
Налаштування попереднього перегляду посилань.
- link_preview_is_disabled: bool | None¶
Вимикає попередній перегляд посилань.
- link_preview_prefer_small_media: bool | None¶
Віддавати перевагу малим медіафайлам у попередньому перегляді посилань.
- link_preview_prefer_large_media: bool | None¶
Віддавати перевагу великим медіафайлам у попередньому перегляді посилань.
- link_preview_show_above_text: 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
)