Отправка данных из Яндекс.Формы в Telegram

Всем привет!
Кто-то пользуется в своих рабочих целях Яндекс формы (forms.yandex.ru) и не всегда удобно мониторить почту, особенно рабочую. И тогда я для себя поставил вопрос: «Можно ли отправлять уведомления через Telegram бота из Яндекс Формы?» и первый ответ в поиске дал ответ на мой вопрос: «Да, можно», но эта инструкция немного устарела.
Поэтому я пишу данную статью-инструкцию для других, надеюсь, кому-то помогу, потому что тех поддержка Яндекса говорит, что они не поддерживают такую интеграцию и предлагают использовать внешние сервисы — они лукавят.
Шаг 1. Регистрируем бота
Я не хочу останавливаться на этом шаге, есть очень много инструкций и очень подробных, например, https://habr.com/ru/articles/262247/
Шаг 2. Интеграция с Яндекс.Форма
Я пропущу тот шаг, что нужно добавить поля в саму форму и т.п. Думаю, что с этим не будет у вас проблем.
Главный наш экран — это вкладка «Интеграции»

Внизу формы есть 2 плитки: Почта и API, жмем на API и выбираем «Запрос JSON-RPC»

Далее перед нами откроется форма для добавления URL синхронизации с нашим ботом

В поле URL нужно внести:
https://api.telegram.org/bot{Токен из BotFather}/sendMessage? chat_id={chat id}&text={Методы}&parse_mode=Markdown
где:
bot{Токен из BotFather} — здесь, после bot вставляем токен, который получили при создании бота;
{chat id} — здесь, вводим свой chat id (его можно получить, если отправить свое сообщение этому боту — @getmyid_bot, если нужно отправлять уведомления в группу, то нужно предварительно добавить вашего бота в группу, дать ему админ права и пройти по этому URL:
https://api.telegram.org/bot{Токен из BotFather}/getUpdates
и ищем «chat»:{«id»:-999999, … , как раз -999999 и есть id вашей группы (знак минус перед id обязателен!);
{Методы} — здесь подставляем через плюсик данные, которые будет отправлять бот, для меня идеально — название формы + содержимое всех ответов, если вас это устраивает, то берите копируйте и вставляйте как есть:
Название%0A%0AОтветы на все вопросы
где:
Название — подстановка названия формы в начале сообщения;
%0A — подстановка пробелов между названием формы и ответами;
Ответы на все вопросы — подстановка всех ответов в форме.
После нажимаем сохранить и у вас получиться, что-то подобное:

Можете заполнять свою форму и отправлять ее, и ваш бот отправит вам уведомление в телеграмм о новом ответе.
Надеюсь, данная статья будет вам полезна!
Habrahabr.ru прочитано 6744 раза
