Форматирование программного кода в мессенджере

Иван Корнев·14.04.2026·1 мин

Чтобы добавить код в сообщение Telegram, обрамите его тройными обратными кавычками ( ). Это превратит текст в моноширинный блок, сохранит отступы и сделает фрагмент удобным для чтения и копирования. Для включения подсветки синтаксиса сразу после открывающих кавычек укажите название языка (например, python).

Быстрый способ: На мобильных устройствах выделите текст, нажмите на три точки (или кнопку форматирования) и выберите стиль «Моноширинный» (Monospace). На десктопе используйте горячие клавиши Ctrl+Shift+M (Windows/Linux) или Cmd+Shift+M (macOS).

Способы вставки кода

Существует два основных варианта оформления: для коротких строк и для полноценных блоков.

Инлайн-код (в строке)

Используется для упоминания переменных, команд терминала или коротких функций прямо в тексте сообщения. Обрамляется одинарными обратными кавычками (`).

Пример ввода: Команда pip install requests установит библиотеку.

Результат: Команда pip install requests установит библиотеку.

Блочный код (многострочный)

Для сниппетов, функций или конфигов используются тройные кавычки (


Пример ввода:

def hello(): print("Hello World")


Результат:

def hello(): print("Hello World")


## Подсветка синтаксиса

Telegram поддерживает базовую подсветку синтаксиса для популярных языков программирования. Чтобы она сработала, нужно указать идентификатор языка сразу после открывающих тройных кавычек без пробелов.

Список поддерживаемых идентификаторов (наиболее популярные):
*   `python`, `py`
*   `javascript`, `js`
*   `typescript`, `ts`
*   `java`
*   `cpp`, `c++`
*   `csharp`, `cs`
*   `go`, `golang`
*   `rust`
*   `php`
*   `sql`
*   `html`, `xml`
*   `css`
*   `json`, `yaml`, `toml`
*   `bash`, `sh`, `shell`
*   `diff`
*   `http`

Если вы не уверены в точном названии языка или подсветка не отображается у получателя, просто оставьте блок пустым (без указания языка). Моноширинное форматирование сохранится в любом случае, что важнее для читаемости кода.

Пример с подсветкой:

import telegram

bot = telegram.Bot(token='YOUR_TOKEN')

Особенности работы на разных платформах

Поведение редактора может незначительно отличаться в зависимости от устройства:

| Платформа | Как вызвать форматирование | Нюансы | | :--- | :--- | :--- | | Android / iOS | Выделение текста → Меню форматирования → «Monospace» | На некоторых версиях iOS меню скрыто под кнопкой «B/I/U». | | Telegram Desktop | Горячие клавиши Ctrl+Shift+M или через контекстное меню | Наиболее удобный вариант для написания длинных сниппетов. | | Веб-версия | Аналогично десктопной версии | Зависит от браузера, но базовое форматирование работает стабильно. |

Частые ошибки

При отправке кода пользователи часто сталкиваются со следующими проблемами:

  1. Сбиваются отступы. Если копировать код из Word или веб-сайта с пропорциональным шрифтом, пробелы могут замениться на табуляцию или исчезнуть. Всегда проверяйте блок после вставки.
  2. Лишние пробелы перед кавычками. Конструкция должна начинаться строго с ```. Если перед ней стоит пробел, форматирование не применится.
  3. Отправка секретных данных. Никогда не отправляйте в чаты (даже приватные) реальные API-ключи, пароли от баз данных или токены ботов в виде кода. История сообщений может быть скомпрометирована. Используйте заглушки вида YOUR_API_KEY.
  4. Слишком длинные файлы. Телеграм не предназначен для хранения больших исходников. Если код занимает более 50–100 строк, лучше прикрепить его файлом .txt или .py или дать ссылку на GitHub Gist.

FAQ

Можно ли редактировать код после отправки? Да, вы можете отредактировать сообщение в течение 48 часов (настройка может меняться). Нажмите на сообщение и выберите «Редактировать», чтобы исправить опечатку в коде.

Почему у меня не работает подсветка синтаксиса? Убедитесь, что вы указали язык маленькими буквами сразу после открывающих кавычек (например, ```js). Также функция зависит от версии клиента: обновите приложение до последней версии.

Как отправить код боту? Форматирование работает идентично обычным чатам. Боты получают текст с разметкой Markdown или HTML, если вы используете API, но при ручной переписке достаточно использовать визуальное оформление мессенджера.