Отправка данных из Яндекс.Формы в Telegram
Всем привет!
Кто-то пользуется в своих рабочих целях Яндекс формы (forms.yandex.ru) и не всегда удобно мониторить почту, особенно рабочую. И тогда я для себя поставил вопрос: "Можно ли отправлять уведомления через Telegram бота из Яндекс Формы?" и первый ответ в поиске дал ответ на мой вопрос: "Да, можно", но эта инструкция немного устарела.
Поэтому я пишу данную статью-инструкцию для других, надеюсь, кому-то помогу, потому что тех поддержка Яндекса говорит, что они не поддерживают такую интеграцию и предлагают использовать внешние сервисы - они лукавят.
Шаг 1. Регистрируем бота
Я не хочу останавливаться на этом шаге, есть очень много инструкций и очень подробных, например, https://habr.com/ru/articles/262247/
Шаг 2. Интеграция с Яндекс.Форма
Я пропущу тот шаг, что нужно добавить поля в саму форму и т.п. Думаю, что с этим не будет у вас проблем.
Главный наш экран - это вкладка "Интеграции"
Внизу формы есть 2 плитки: Почта и API, жмем на API и выбираем "Запрос JSON-RPC"
Далее перед нами откроется форма для добавления URL синхронизации с нашим ботом
В поле URL нужно внести:
где:
bot{Токен из BotFather} - здесь, после bot вставляем токен, который получили при создании бота;
{chat id} - здесь, вводим свой chat id (его можно получить, если отправить свое сообщение этому боту - @getmyid_bot, если нужно отправлять уведомления в группу, то нужно предварительно добавить вашего бота в группу, дать ему админ права и пройти по этому URL:
и ищем "chat":{"id":-999999, ... , как раз -999999 и есть id вашей группы (знак минус перед id обязателен!);
{Методы} - здесь подставляем через плюсик данные, которые будет отправлять бот, для меня идеально - название формы + содержимое всех ответов, если вас это устраивает, то берите копируйте и вставляйте как есть:
где:
Название - подстановка названия формы в начале сообщения;
%0A - подстановка пробелов между названием формы и ответами;
Ответы на все вопросы - подстановка всех ответов в форме.
После нажимаем сохранить и у вас получиться, что-то подобное:
Можете заполнять свою форму и отправлять ее, и ваш бот отправит вам уведомление в телеграмм о новом ответе.
Надеюсь, данная статья будет вам полезна!
У меня тоже была проблема с неотправкой. В URL в переменных отправляемых выбрал форматирование ответа с простого текста на JSON, сразу пришло
Ура) Благодарю,приходит сразу хоть в личку хоть в чат. Скажите,а у вас тоже весь текст с формы получается в куче?
не работает, наверное что то не так сделал
Скорее всего, метод работает, сам использую сейчас. Если нужна помощь, можно написать в личку
Здравствуйте, Сергей. Скажите пожалуйста работает эта интеграция? Что то я не могу не как настроить.
Здравствуйте! да, работает. Но в последнее время что-то сбоит, пока не разобрался почему
А можете скрин показать как должно точно быть заполнена форма в интеграции и саму ссылку урл без лишнего. Может я что то не то вписываю. 🤔
https://api.telegram.org/bot{Токен из BotFather}/sendMessage?chat_id={chat id}&text=Название%0A%0AОтветы на все вопросы&parse_mode=Markdown
Благодарю. А токен, ID и т.д так же в фигурных скобках или их убирать?
Конечно
У меня получается что после отправки формы не чего не приходит и выдаёт ошибку, но если перезапустить в ручную отправку то ответ с формы приходит в телеграм. А у вас как сбой происходит?
Да, у меня аналогично. При отправке форме выходит ошибка, а вручную перезапускаешь - отправляет. Видимо какой-то символ в тексте сообщения ему не нравится