Действие — Отправить изображение в сообщение Telegram
Действие позволяет отправить одно изображение в Telegram бота. Для работы действия должна быть обязательно настроена интеграция с Telegram.
Рассмотрим действие подробнее:

1) От Telegram бота какого сообщество будет происходить отправка изображения (можно сменить нажав на соответствующую ссылку).
2) Переменная %chat_id%
— здесь указывается ID чата в который будет отправлено изображение.
3) Форматирование текста — переключатель указывает Telegram в каком формате передавать текст:
- без форматирования - текст будет передан «как есть»
- с разметкой Markdown - текст будет передан в формате Markdown
Некоторые важные пояснения:
Внутри элементов pre и code все символы '`' и '\' должны быть экранированы с помощью символа '\' перед ними. Без кавычек!
Внутри части (...) ссылки в тексте и определения пользовательских эмодзи все символы ')' и '\' должны быть экранированы с помощью символа \ перед ними.
Во всех остальных местах символы '_', '*', '[', ']', '(', ')', '~', '`', '>', '#', '+', '-', '=', '|', '{', '}', '.', '!' должны быть экранированы символом '\' перед ними.
В случае неоднозначности между курсивом и подчеркиванием, символ '__' всегда интерпретируется слева направо как начало или конец подчеркивания. Поэтому вместо ___ курсивное подчеркивание___ используйте ___курсивное подчеркивание_\r__, где \r - символ с кодом 13, который будет проигнорирован.
В качестве альтернативного значения для пользовательского эмодзи должен быть указан допустимый эмодзи. Этот эмодзи будет отображаться вместо пользовательского эмодзи на местах, где пользовательский эмодзи не может быть показан (например, в системных уведомлениях) или если сообщение пересылается непремиумным пользователем. Рекомендуется использовать эмодзи из поля emoji пользовательского эмодзи-стикера.
Пользовательские эмодзи могут использоваться только ботами, которые приобрели дополнительные имена пользователей на Fragment.
Примеры:
*Жирный*
_Курсив_
[Ссылка](http://www.autopilot.pro/)
[Кликабельная ссылка Telegram](tg://user?id=%player.tg_id%)
`Код`
```
Код
```
Код удобно использовать если нужно выдать код вложения Telegram. Тогда он копируется в один клик.
- с разметкой HTML- текст будет передан в формате HTML
Некоторые важные пояснения:
Поддерживаются только указанные выше теги.
Все символы <, > и &, которые не являются частью тега или HTML-сущности, должны быть заменены соответствующими HTML-сущностями (< на <, > на > и & на &).
Поддерживаются все числовые HTML-сущности.
В настоящее время API поддерживает только следующие именованные HTML-сущности: <, >, & и ".
Используйте вложенные теги pre и code, чтобы указать язык программирования для сущности pre.
Нельзя указать язык программирования для отдельных тегов code.
В качестве содержимого тега tg-emoji должно использоваться допустимое эмодзи. Это эмодзи будет отображаться вместо пользовательского эмодзи на местах, где пользовательский эмодзи не может быть показан (например, в системных уведомлениях) или если сообщение пересылается непремиумным пользователем. Рекомендуется использовать эмодзи из поля emoji пользовательского эмодзи-стикера.
Пользовательские эмодзи могут использоваться только ботами, которые приобрели дополнительные имена пользователей на Fragment.
Примеры:
<b>Жирный</b>
<i>Курсив</i>
<code>код</code>
<s>перечеркнутый</s>
<u>подчеркнутый</u>
<a href="https://autopilot.pro">Сайт</a>
<span class="tg-spoiler">spoiler</span>, <tg-spoiler>spoiler</tg-spoiler>
4) Любые дополнительные параметры, поддерживаемые методом SendPhoto.
Например, protect_content
со значением 1
будет запрещать сохранять и пересылать изображение.

Важно! При отправке текста либо изображения с форматированием рекомендуется проверять на себе, чтобы убедиться, что текст оформлен корректно, иначе будет Ахтунг и действие не отработает.

5) Кнопка Еще позволяет выбрать дополнительные опции к действию:
- Не прятать кнопки после нажатия (постоянные кнопки) — кнопки в действии не будут спрятаны после нажатия.
- Прикрепить кнопки к сообщению — инлайн-кнопки в сообщении Telegram.
Важно! Если текст на инлайн-кнопке будет больше 49 байт (либо 24 кириллических символов), то будет ахтунг и сообщение не отправится из-за ограничений Telegram. Будьте внимательны! - Спрятать все «постоянные» кнопки в диалоге — переключатель скрывает кнопки от пользователя.
Важно! Поддерживаются прямые ссылки на вложения например, https://otkrit-ka.ru/uploads/posts/2021-11/samolety-krasivye-kartinki-34.jpg, поддерживаются код вложения Telegram AgACAgIAAxkBAAIB6mRt9ShuegIIceV57GxM6W-rO9EmAAJZ8DEbdmVwSzwJ6x3tnZqgAQADAgADcwADLwQ
Команда для создания сертификата
Важно! В примере показан продвинутый вариант настройки. Вы можете модернизировать его по своему желанию.
Событие:
1) Для создания сертификата добавляем событие «Написал сообщение в Telegram» с текстом равным Сертификат

2) Чтобы команда срабатывала только если клиент пишет в личные сообщения бота, добавляем условие: числовая переменная %chat_id%
больше0

3) Опционально: для того, чтобы команда выполнялась один раз, и не генерировались повторные сертификаты (напоминаем, что они платные), добавляем условие: переменная %player.cert%
содержит not found
т.е. у пользователя не было поля игрока с названием cert и он не получал сертификат ранее, иначе пишем пользователю текст с сообщением:
%first_name%, вы уже получали сертификат!

Важно! Реакция на невыполнение тоже «съест» милю, но клиент увидит причину несработки, иначе будет думать, что автоматика не работает. Если не нужно уведомлять пользователя, то убирайте реакцию на уведомление.
Действия:
1) Чтобы клиент не волновался, ведь на генерацию сертификата нужно время отправляем сообщение действием «Отправить сообщение в Telegram» с текстом:
%first_name%, ожидайте пожалуйста сертификат

2) Временной переменной %doc_id%
присваиваем значение ID сертификата (у вас будет свой номер). т.е.
6ba2bcf1-b089-4975-95fb-53c461277a52

3) Если вы делали привязку по этой инструкции, то вы можете формировать разный текст мужчинам женщинам добавляем функцию {gender} для разного текста. Для этого создаем временную переменную %kurs%
с текстом:
{gender}прошел|прошла{/gender} курс по дизайну
В противном случае вы можете написать нейтральный текст. В примере считается, что вы привязали пользователей.

4) Для получения аватарки из Telegram воспользуемся этим действием «Создан аватар в Telegram». Для работы действия обязательно нужно настроить интеграцию с Yandex. Cloud

5) Для того, чтобы сервис Yandex. Cloud сохранить аватарку и вернуть на нее ссылку с облака действием «Запустить таймер» с названием Загрузка аватарки
делаем задержку в 10 секунд.

6) Чтобы сгенерировать сертификат добавляем действие «Создан сертификат для Грамотадел» с допполями описанными выше, т.е.
%фио
—%first_name% %last_name%
, т.е. имя фамилия из Автопилота либо Telegram.%прошел
— переменная с названием курса%kurs%
%дата
— переменная с датой курса. Достаточно в действии указать динамическую дату{date}%F{/date}
, т.е. указывать дату в нужном формате. Например,2023-04-27
%ava
— переменная с аватаркой студента, можно скруглить. Можно в действии указать переменную%avatar_link%
, т.е. отправлять аватарку пользователя Telegram загруженную на облаке. Если у пользователя был записан аватар ранее, то можно указать переменную%photo_max%

7) Так как генерация занимает время, то для корректности мы сначала отменяем таймер с названием Выдача сертификата
этим действием.

6) Для того, чтобы сервис Грамотадел успел сгенерировать сертификат действием «Запустить таймер» с названием Выдача сертификата
делаем задержку в 10 секунд.

Важно! Если у вас планируется массовая выдача сертификатов, то добавляйте дополнительные таймеры, потому что у сервиса Грамотадел свои лимиты и при большой нагрузке дополнительными таймерами не обойтись (но это дополнительные мили).
7) Чтобы запомнить факт выдачи сертификата можно в действии «Изменить поле профиля игрока» с названием cert
сделать равным 1
Важно! Поле должно быть уникальным, для примера название поляcert
Максимальная длина названия поля профиля 30 символов. Если название больше 30 символов, то будет ахтунг и поле не запишется. Если вы привязали VK к Telegram, то можно использовать условие «Выполнена команда» №0
равно0
раз, но пример показанный в видео отлично работает.

8) Мы можем выдавать уникальный текст клиенту к сертификату, чтобы текст был уникальным во временной переменной %rand_certificate%
используем функцию {rand} с вариантами ответного текста разделенными вертикальной чертой |
Например: {rand}держите ваш сертификат!|вот ваша награда!{/rand}

9) Чтобы выдать сертификат клиенту, воспользуемся действием «Отправить сообщение в Telegram» с вложением %result_link%
и текстом
%first_name%, %rand_certificate%

Тестируем.

Творческих взлётов и успешного внедрения!
Вернуться на главную страницу инструкций