---
url: /templates/beginners/formatting.md
description: >-
Как оформить сообщение бота — жирный, курсив, заголовки, списки, таблицы,
цитаты, спойлеры, ссылки и картинки.
---
# Оформление текста
Сообщения бота можно оформлять так же, как статьи: заголовки, жирный текст, списки, таблицы, сворачиваемые блоки и картинки. Для этого используется разметка Markdown — несколько простых значков вокруг текста.
::: tip Не хотите запоминать значки?
Выделите текст в редакторе и нажмите нужную кнопку на панели инструментов — разметка вставится сама. Эта страница поможет понять, что означают значки в готовых шаблонах.
:::
## Строки и абзацы { #paragraphs }
Разметка в режиме Rich совместима с Markdown, как на GitHub, поэтому работает правило: **абзацы разделяются пустой строкой**.
```template
Привет, {{ member.name }}!
Мы рады видеть тебя в нашем чате.
```
Если две строки идут подряд без пустой строки между ними, Markdown может склеить их в один абзац. Чтобы строки шли одна под другой, оставляйте между ними пустую строку или оформите их [списком](#lists).
## Выделение текста { #inline }
| Как выглядит | Как написать | Кнопка |
|---|---|---|
| **Жирный** | `**текст**` | Ctrl + B |
| *Курсив* | `*текст*` | Ctrl + I |
| Подчеркнутый | `текст` | Ctrl + U |
| ~~Зачеркнутый~~ | `~~текст~~` | Ctrl + Shift + X |
| Спойлер | `\|\|текст\|\|` | «Спойлер» |
| Маркер | `==текст==` | «Маркер» |
| `Моноширинный` | `` `текст` `` | «Код» |
| x2 | `x2` | «Индексы» |
| H2O | `H2O` | «Индексы» |
Спойлер скрыт, пока участник на него не нажмет. Наведите курсор на серую плашку в таблице, чтобы посмотреть, как это работает.
::: warning Два подчеркивания — это жирный
`__текст__` в Telegram делает текст **жирным**, а не подчеркнутым. Для подчеркивания пишите `текст`.
:::
Разметку можно ставить вокруг переменных:
```template
Поздравляем, **{{ member.name }}**! Теперь у тебя ~~{{ member.rank.level - 1 }}~~ **{{ member.rank.level }}** уровень.
```
Поздравляем, **Анна**! Теперь у тебя ~~11~~ **12** уровень.
## Заголовки { #headings }
Решетка `#` в начале строки делает заголовок. Чем больше решеток, тем меньше заголовок — всего шесть размеров.
```template
# Большой заголовок
## Заголовок поменьше
### Еще меньше
```
# Большой заголовок
## Заголовок поменьше
### Еще меньше
После решетки обязательно ставьте пробел: `# Правила`, а не `#Правила`.
## Списки { #lists }
Маркированный список — строки, которые начинаются с дефиса и пробела. Нумерованный — с цифры и точки. Чек-лист — с `- [ ]` (пустой квадрат) или `- [x]` (с галочкой).
```template
**Что можно:**
- общаться
- делиться скриншотами
**Как вступить в клуб:**
1. Набрать 20 000 кубков
2. Написать президенту
**Задания на неделю:**
- [x] Поздороваться
- [ ] Сыграть 10 матчей
```
**Что можно:**
* общаться
* делиться скриншотами
**Как вступить в клуб:**
1. Набрать 20 000 кубков
2. Написать президенту
**Задания на неделю:**
* ☑ Поздороваться
* ☐ Сыграть 10 матчей
## Цитаты { #quotes }
Строка, которая начинается с `>`, становится цитатой:
```template
> Лучший способ выиграть — играть вместе.
```
> Лучший способ выиграть — играть вместе.
Для цитаты, которая раскрывается по нажатию, и цитаты с автором удобнее функция `quote`:
```template
{{ quote('Лучший способ выиграть — играть вместе.', 'Президент клуба') }}
```
## Таблицы { #tables }
Таблица рисуется вертикальными чертами. Первая строка — заголовки столбцов, вторая — дефисы, дальше — данные:
```template
| Уровень | Награда |
|---|---|
| 5 | Роль «Активный» |
| 20 | Доступ к медиа |
| 50 | Роль «Легенда» |
```
| Уровень | Награда |
|---|---|
| 5 | Роль «Активный» |
| 20 | Доступ к медиа |
| 50 | Роль «Легенда» |
::: warning Данные в таблице — через функцию
Если в ячейку таблицы нужно подставить переменную, используйте функцию [`table`](../advanced/functions#table), а не `{{ }}` внутри строки с чертами. Если имя участника будет содержать `|`, самодельная таблица развалится, а функция `table` это учитывает. Редактор предупредит, если вы поставите `{{ }}` в строку таблицы.
:::
## Сворачиваемый блок { #details }
Длинный текст можно спрятать под заголовок — участник раскроет его, если захочет:
```template
Правила чата
1. Без рекламы
2. Без оскорблений
3. Без спама
```
Правила чата
1. Без рекламы
2. Без оскорблений
3. Без спама
Пустые строки после `` и перед `` обязательны — без них список внутри не распознается.
## Разделитель и подвал { #divider }
Три дефиса `---` на отдельной строке рисуют горизонтальную линию. Мелкая строка внизу сообщения — функция `footer`:
```template
Правила обновлены.
---
{{ footer('Обновлено 1 сентября') }}
```
## Ссылки и упоминания { #links }
| Что нужно | Как написать |
|---|---|
| Ссылка с текстом | `[Правила](https://telegra.ph/pravila)` |
| Упоминание участника | `{{ member }}` или `{{ mention(member, 'текст') }}` |
| Ссылка из переменной | `{{ link('Профиль', member.avatarUrl) }}` |
| Почта или телефон | `[Написать](mailto:mail@example.com)`, `[Позвонить](tel:+70000000000)` |
::: warning Переменная внутри ссылки
Не пишите `[текст]({{ адрес }})`: если в адресе окажется скобка, ссылка сломается. Используйте функцию `link('текст', адрес)` — она все сделает правильно.
:::
## Картинки и видео { #media }
Картинка вставляется так же, как ссылка, но с восклицательным знаком впереди. В квадратных скобках — подпись:
```template

```
Ссылка должна начинаться с `https://`. Видео, GIF, аудио и документы вставляются так же — Telegram сам определит тип по ссылке. Для подписи, спойлера на картинке, коллажа из нескольких фото или слайдшоу есть функции — смотрите [Rich-сообщения](../advanced/rich#media).
## Эмодзи { #emoji }
Обычные эмодзи просто вставляйте в текст: 🎉 👋 🏆. Кастомные эмодзи из наборов Telegram бот может отправлять, только если у владельца бота есть Telegram Premium.
## Если выбран режим Text { #text-mode }
В режиме **Text** работают жирный, курсив, подчеркнутый, зачеркнутый, спойлер, код, ссылки и цитаты. Все остальное бот упростит сам:
| В режиме Rich | В режиме Text станет |
|---|---|
| Заголовок | Жирная строка |
| Список | Строки с «•» или «1.» |
| Чек-лист | Строки с ☐ и ☑ |
| Таблица | Моноширинный текст с выровненными столбцами |
| Сворачиваемый блок | Раскрывающаяся цитата с жирным заголовком |
| Разделитель | Строка «———» |
| Маркер | Жирный |
| Несколько картинок | Первая — картинкой, остальные — ссылками |
Редактор предупредит, если в шаблоне есть то, что в режиме Text будет выглядеть иначе.
## То же самое на HTML { #html }
Если вам привычнее HTML, переключите синтаксис шаблона на **HTML** и пишите теги:
```template
Добро пожаловать, {{ member.name }}!
Ты {{ chat.memberCount }}-й участник.
Секрет: в чате есть пасхалка
```
Полный список тегов — в статье [Rich-сообщения и разметка](../advanced/rich).