Исполнение кода в Телеграм чате
Архитектура будет следующая: я хочу получать вебхуки об исходящих сообщениях в Телеграме на мой сервер, который будет исполнять код и отправлять результат.
Получение текста сообщений
Как получать уведомления об исходящих сообщениях в Телеграме? Для этого я буду пользоваться сервисом TaaS (https://www.t-a-a-s.ru). Таас использует библиотеку TDLib, которая разрабатывается самим Телеграмом, и она позволяет по сути создавать свой собственный клиент, открывая доступ ко множеству функций. Её довольно трудно устанавливать и использовать, но Таас является очень удобной оболочкой и делает использование максимально простым. С помощью него я могу подписаться на вебхуки по исходящим (моим собственным) сообщениям.
Я захожу в Таас, нажимаю кнопку New Client, создаю клиент для своего номера телефона, и создаю подписку на вебхук с помощью метода «Create Subscription», который будет отправлять запросы на мой сервер при каждом новом исходящем сообщении. В поле hookUrl я ввожу адрес своего сервера, trigger — outgoing_message, и api_key моего клиента.
Исполнение кода и отправка обратно в чат
Для исполнения кода я быстро создаю сервер на Heroku. Я пишу на руби, поэтому сделаю сервер на Rails. Мне нужно создать только один action для контроллера, который будет выполнять код из сообщения и отправляет его обратно в чат. Так же я сделаю дополнительный метод tglib который я могу вызывать из кода для дополнительной отправки сообщений в чат, из, скажем, цикла.

Вот собственно и всё! По сути, таким образом вы можете создать собственный клиент Телеграма, который работает одновременно с вашим обычным, но выполняет весьма необычные функции.
Стилизация текста в telegram. Разметка markdown и html
Небольшой обзор того, как работает разметка в telegram, как в нем стилизовать текст при помощи markdown и html.

Сразу оговорюсь: в интернете множество статей про то, как делать отложенные посты, добавлять к ним кнопки и оформлять их с помощью @controllerbot и аналогов. Эта статья совсем о другом.
Разметку с помощью контекстного меню рассматривать тоже не буду. О ней вы скорее всего все знаете и пользуетесь постоянно. На всякий случай оставлю скриншот как пример:

стилизация с помощью контекстного меню
В конце статьи также приведен список горячих клавиш.
Почти все тоже самое можно сделать быстрее с помощью специальных символов. Если вы такой же заядлый текстер, как я, или просто любите быстро печатать, то вам будет интересно.
Markdown довольно обширный язык и в телеграм представлена лишь малая часть его возможностей. На самом деле, с его помощью вы можете писать целые статьи. Ознакомиться с синтаксисом можно по ссылке
Markdown в телеграм
Итак, заходим на официальный сайт телеграм, идем в стилизацию текста и видим поддерживаемую разметку:

стилизация с официального сайта telegram.org
Однако, если просто вставить всю указанную markdown разметку в телеграм, то мы получим следующее:

Не работает курсивное начертание. Вероятно, в telegram давно не обновляли эту страницу и некоторые правила поменялись, а некоторые добавились. В стандартной разметке markdown действительно для курсива используется одна «звездочка», однако, в телеграм работает двойное подчеркивание. А с помощью || можно сделать скрытый текст, который появился относительно недавно. И вот мы получаем полный список полноценно работающих «команд»:
**сам ты жирный**
__курсив__
`код`
«`блок кода«`
||скрытый текст||
Но что со ссылками? Ссылки в разметке markdown выглядят вот так:
Однако, по умолчанию они не работают (только в telegram x для android)
На официальном сайте указан инлайн-бот @bold — с помощью него можно вдохнуть жизнь в ссылку, однако, при этом, бот оставит свой след на нашем сообщении:

пример использования @bold
Можно использовать его и для оформления текста, чтобы потом скопировать и отправить куда нам нужно уже без подписи бота.
В этом боте работает свой вариант markdown:

Все-таки для ссылки я бы использовал контекстное меню или горячие клавиши — это гораздо удобнее.
Как там HTML?
В целом, html-разметка тоже работает, но уже с другим инлайн-ботом. Нужно всего лишь написать:
И далее нужный нам текст с поддерживаемыми html-тегами. Вот их полный список:
@Sean_Bot html <b>Сам жирный</b>
<i>Курсив</i>
<code>код</code>
<s>перечеркнутый</s>
<u>подчеркнутый</u>
<pre language=»c++»>код</pre>
<a href=»smth.ru»>Сайт</a>
Этот бот работает с markdown, точно также как @bold, нужно лишь добавить «md»:

Горячие клавиши
Кому-то выделить текст и нажать сочетание клавиш будет гораздо проще и удобнее. Для таких людей я и припас этот списочек:
Для windows:
ctrl + B = Жирный
ctrl + I = Курсив
ctrl + U = Подчеркнутый
ctrl + shift + X = Перечеркнутый
ctrl + shift + M = Моноширинный (код)
ctrl + shift + N = Очистить стили
Для macos:
com + U = Ссылка
com + B = Жирный
com + I = Курсив
com + shift + U = Подчеркнутый
com + shift + X = Перечеркнутый
com + shift + K = Моноширинный (код)
com + shift + P = Скрытый текст
Как отправить код в telegram
Содержание:
- Как создать QR-код для своего аккаунта в Telegram
- Как создать QR-код для своего аккаунта во «ВКонтакте»
- Как прочитать QR-коды приложений с телефона
Как создать QR-код для своего аккаунта в Telegram
Возможность создавать собственные куар-коды для пользователей Telegram добавил в мобильное приложение в конце 2021 года.
Зайдите в «Настройки». Проверьте, выбрано ли у вас имя пользователя. Если нет — задайте его.
![]()
После этого в левом верхнем углу появится значок QR-кода.
![]()
Перейдите в раздел и выберите дизайн картинки.
![]()
QR-кодом можно поделиться в соцсетях, мессенджерах или сразу отправить его в сторис Instagram (если приложение доступно на вашем устройстве).
Аналогичные куар-коды можно создать для групп, каналов и ботов: для этого нужно перейти в настройки группы / канала / бота.
Как создать QR-код для своего аккаунта во «ВКонтакте»
В приложении перейдите на свой профиль в социальной сети. Кнопка с QR-кодом будет доступна вверху страницы.
![]()
Вы можете создать оригинальный дизайн кода, поделиться им с друзьями или сохранить на устройство.
![]()
Создать QR-код для перехода на профиль ВК также можно с десктопной версии: откройте свою страничку и перейдите в раздел «Ссылка на профиль». Здесь можно будет создать QR-код в простом дизайне или скопировать ссылку на профиль.
![]()
Как прочитать QR-коды приложений с телефона
В том же разделе «ВКонтакте», где вы создавали QR-код, доступен сканер, который распознает коды других людей. Чтобы им воспользоваться, нужно навести камеру на код или предварительно сохранить изображение с кодом в галерее на смартфоне, а затем открыть его в сканере. Сервис распознает коды не только от «ВКонтакте», но и от других соцсетей.
Если вы не пользуетесь «ВКонтакте», распознавание кодов обычно заложено в функции встроенной камеры смартфона — достаточно навести камеру на код, чтобы появилось предложение перейти по ссылке.
Еще один способ — скачать специализированную программу для чтения QR-кодов, например, Google Lens. В опциях таких программ также часто есть сканирование кода с сохраненного на устройстве файла.
Фото в тексте: RB.ru. Обложка: Unsplash.
Подписывайтесь на наш Telegram-канал, чтобы быть в курсе последних новостей и событий!