О приложении
Кинули в чат десять строк кода, а на экране серая стена текста. Где заканчивается функция, что тут строка, а что комментарий, приходится угадывать. Syntax Highlight Bot берёт эту беду на себя: добавляете его в группу, и он раскрашивает каждое многострочное сообщение с кодом.
Бот пригодится программистским чатам, учебным группам и рабочим обсуждениям, где код пересылают каждый день. 💻
Три обратных кавычки и готово
Принцип простой. Вы пишете код внутри тройных обратных кавычек, как привыкли в README или на форумах разработчиков. Бот замечает такой блок и отвечает картинкой с подсвеченным кодом.
Язык бот определяет сам. Если он ошибся, напишите название языка на первой строке сразу после открывающих кавычек, например js или python. Это та же запись, что принята в большинстве редакторов.
Что понадобится, чтобы он заработал
- Добавьте бота в группу. Откройте профиль бота и выберите добавление в чат.
- Напишите код в тройных кавычках. Одной строки мало, бот реагирует на многострочные блоки.
- Дождитесь картинки. Бот отправит изображение с раскрашенным кодом.
- Подберите вид. Команда /theme покажет список тем оформления, а /langs перечислит поддерживаемые языки.
Если бот молчит, проверьте, что он добавлен именно в группу и видит сообщения. Для групп с ограничениями прав стоит убедиться, что у него есть право писать.
Зачем картинка, если есть моноширинный шрифт
Моноширинный блок в Telegram сохраняет отступы, но цвета не добавляет. Для Python, где отступ решает всё, это уже хорошо. Для длинного JSON или шаблона с вложенными скобками раскраска экономит минуты чтения.
Минус тоже есть. Из картинки нельзя скопировать код одним касанием, поэтому для длинных фрагментов оставляйте исходный текст в сообщении, а бот пусть показывает красивую версию рядом.
Откуда он взялся
Первую версию написал разработчик Cristian Ospina, а позже бот был переписан на Node.js другим автором, Denis Efremov. Исходный код проекта открыт, так что при желании можно посмотреть, как всё устроено, и поднять собственную копию для закрытого чата.
Для небольших сообществ это разумный вариант: свой экземпляр бота не зависит от чужого сервера и работает по вашим правилам.
Что учесть перед использованием
- Приватность. Код из группы обрабатывает бот на стороне владельца. Секреты, ключи и пароли в чат с ботом отправлять нельзя.
- Стабильность. Небольшие любительские боты иногда отключаются или отвечают с задержкой. Если картинка не пришла, подождите и повторите.
- Встроенная подсветка. В части клиентов Telegram блоки кода уже умеют подсвечиваться сами. Если у ваших собеседников это работает, бот нужен меньше.
- Шум в чате. Бот отвечает на каждый многострочный блок. В оживлённой группе картинок может стать много.
Когда он удобнее обычного блока
Лучше всего бот работает там, где код обсуждают построчно: разбор тестового задания, помощь новичку, ревью небольшого фрагмента. Цветной вариант проще читать с телефона, где длинные строки и без того тесно.
Если нужен просто быстрый скриншот для поста, тоже подойдёт: отправили код, получили картинку, сохранили.
Частые вопросы
Как заставить бота подсветить мой код?▼
Как сменить тему оформления и посмотреть языки?▼
Безопасно ли отправлять боту рабочий код?▼
Бот не отвечает, что делать?▼
На основе данных