{"id":14293,"url":"\/distributions\/14293\/click?bit=1&hash=05c87a3ce0b7c4063dd46190317b7d4a16bc23b8ced3bfac605d44f253650a0f","hash":"05c87a3ce0b7c4063dd46190317b7d4a16bc23b8ced3bfac605d44f253650a0f","title":"\u0421\u043e\u0437\u0434\u0430\u0442\u044c \u043d\u043e\u0432\u044b\u0439 \u0441\u0435\u0440\u0432\u0438\u0441 \u043d\u0435 \u043f\u043e\u0442\u0440\u0430\u0442\u0438\u0432 \u043d\u0438 \u043a\u043e\u043f\u0435\u0439\u043a\u0438","buttonText":"","imageUuid":""}

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

Интеграция Яндекс.Формы и Telegram

Всем привет!

Кто-то пользуется в своих рабочих целях Яндекс формы (forms.yandex.ru) и не всегда удобно мониторить почту, особенно рабочую. И тогда я для себя поставил вопрос: "Можно ли отправлять уведомления через Telegram бота из Яндекс Формы?" и первый ответ в поиске дал ответ на мой вопрос: "Да, можно", но эта инструкция немного устарела.

Поэтому я пишу данную статью-инструкцию для других, надеюсь, кому-то помогу, потому что тех поддержка Яндекса говорит, что они не поддерживают такую интеграцию и предлагают использовать внешние сервисы - они лукавят.

Шаг 1. Регистрируем бота

Я не хочу останавливаться на этом шаге, есть очень много инструкций и очень подробных, например, https://habr.com/ru/articles/262247/

Шаг 2. Интеграция с Яндекс.Форма

Я пропущу тот шаг, что нужно добавить поля в саму форму и т.п. Думаю, что с этим не будет у вас проблем.

Главный наш экран - это вкладка "Интеграции"

Экран интеграции

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

Выбрать Запрос JSON-RPC POST

Далее перед нами откроется форма для добавления 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 - подстановка пробелов между названием формы и ответами;

Ответы на все вопросы - подстановка всех ответов в форме.

После нажимаем сохранить и у вас получиться, что-то подобное:

Вид готовой интеграции

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

Надеюсь, данная статья будет вам полезна!

0
12 комментариев
Написать комментарий...
Marshmy Low

У меня тоже была проблема с неотправкой. В URL в переменных отправляемых выбрал форматирование ответа с простого текста на JSON, сразу пришло

Ответить
Развернуть ветку
Максим Иванов

Ура) Благодарю,приходит сразу хоть в личку хоть в чат. Скажите,а у вас тоже весь текст с формы получается в куче?

Ответить
Развернуть ветку
Даня Моисеев

не работает, наверное что то не так сделал

Ответить
Развернуть ветку
Сергей Еряшев
Автор

Скорее всего, метод работает, сам использую сейчас. Если нужна помощь, можно написать в личку

Ответить
Развернуть ветку
Максим Иванов

Здравствуйте, Сергей. Скажите пожалуйста работает эта интеграция? Что то я не могу не как настроить.

Ответить
Развернуть ветку
Сергей Еряшев
Автор

Здравствуйте! да, работает. Но в последнее время что-то сбоит, пока не разобрался почему

Ответить
Развернуть ветку
Максим Иванов

А можете скрин показать как должно точно быть заполнена форма в интеграции и саму ссылку урл без лишнего. Может я что то не то вписываю. 🤔

Ответить
Развернуть ветку
Сергей Еряшев
Автор

https://api.telegram.org/bot{Токен из BotFather}/sendMessage?chat_id={chat id}&text=Название%0A%0AОтветы на все вопросы&parse_mode=Markdown

Ответить
Развернуть ветку
Максим Иванов

Благодарю. А токен, ID и т.д так же в фигурных скобках или их убирать?

Ответить
Развернуть ветку
Сергей Еряшев
Автор

Конечно

Ответить
Развернуть ветку
Максим Иванов

У меня получается что после отправки формы не чего не приходит и выдаёт ошибку, но если перезапустить в ручную отправку то ответ с формы приходит в телеграм. А у вас как сбой происходит?

Ответить
Развернуть ветку
Сергей Еряшев
Автор

Да, у меня аналогично. При отправке форме выходит ошибка, а вручную перезапускаешь - отправляет. Видимо какой-то символ в тексте сообщения ему не нравится

Ответить
Развернуть ветку
9 комментариев
Раскрывать всегда