Как сделать отправку формы в Телеграмм

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

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

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

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

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

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

Главный наш экран — это вкладка «Интеграции»

Источник: dzen.ru

Как отправлять заявку с сайта в Telegram?

Как сделать отправку формы в телеграмм

В этой статье мы хотим Вам показать способ работы с формой, которую используют многие разработчики для своих проектов. Это форма работает на HTML/CSS/JavaScript/PHP используя технологию Ajax и позволяет отправлять информацию в виде сообщения в группу Telegram. Скрипт формы до минимума был упрощён, чтобы его можно было быстро поставить на любой проект.

HTML разметка формы

Оставить заявку Отправить Сообщение успешно отправленно!

Еще по теме:  Возобновить аккаунт в Телеграмм без телефона

CSS стили формы

.wrapperForm < display: flex; flex-direction: column; justify-content: center; align-items: center; row-gap: 20px; >.headingForm < width: fit-content; font-size: 22px; text-align: center; >form.formFeedBack < width: 500px; display: flex; flex-direction: column; row-gap: 10px; >.formFeedBack .textField < padding: 7px 10px; line-height: 1; >.formFeedBack .butSubmitForm < width: fit-content; margin: auto; padding: 5px 25px; font-size: 14px; >.messageBlockForm < display: none; >.messageBlockForm.active

JavaScript формы

Для упрощения работы с JS на сайтах (не SPA — приложений) используем jQuery.

$(documnet).ready(function() < $(«.formFeedBack»).on(«submit», function() < let dataSubmit = $(this).serialize() $.ajax(< url: ‘путь_до_файла обработчика’, method: ‘post’, dataType: ‘html’, data: dataSubmit, success: function(data)< console.log(data); $(«form.formFeedBack .messageBlockForm»).addClass(«active») setTimeout(() =>< $(«form.formFeedBack .messageBlockForm»).removeClass(«active») >, 3000); > >); >) >);

Файл обработчик формы на PHP

/* ============================= */ /* ОТПРАВКА ПИСЬМА ЗАКАЗА В TELEGRAM */ /*функция для создания запроса на сервер Telegram */ /* ============================= */ function parser($url) < $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); $result = curl_exec($curl); if($result == false)< echo «Ошибка отправки запроса: » . curl_error($curl); return false; >else < return true; >> /* ============================= */ /* ============================= */ /* ============================= */ /* ОТПРАВКА СООБЩЕНИЕ В ТЕЛЕГРАММ */ /* ============================= */ function orderSendTelegram($message) < /*токен который выдаётся при регистрации бота */ $token = «ТОКЕН_ДЛЯ_БОТА_ТЕЛЕГРАМ»; /*идентификатор группы*/ $chat_id = «ID_ГРУППЫ»; $message = urlencode($message); /*делаем запрос*/ parser(«https://api.telegram.org/bot/sendMessage?chat_id=text=»); > /* ============================= */ /* ============================= */ /* ============================= */ /* ОБРАБОТЧИК ДЛЯ ФОРМЫ В НИЖНЕЙ ЧАСТИ ЭКРАНА */ /* ============================= */ if($_POST) < $name = htmlspecialchars($_POST[«name»]); $phone = htmlspecialchars($_POST[«phone»]); $message = htmlspecialchars($_POST[«message»]); $textMessage = «СООБЩЕНИЕ ИЗ ФОРМЫ GOLDEN-LINKn»; $textMessage .= «Имя: «.$name.»n»; $textMessage .= «Телефон: «.$phone.»n»; $textMessage .= «Сообщение: «.$message.»n»; // orderSendTelegram($textMessage); >

Еще по теме:  Данные Телеграмм на айоыне много аесяь

Источник: proweb63.ru

Как настроить форму обратной связи на сайте в Telegram?

Уведомления с MODX в Telegram

Лучший хостинг для CMS

Уведомления с MODX в Telegram

MODX Revo

В данном уроке разберем, как настроить отправку различных уведомлений в Telegram из MODX: отправка форм, заказов, редактирование ресурсов.

Заводим себе бота

Создание нового бота

После чего botFather попросит нас ввести название бота (Alright, a new bot. How are we going to call it? Please choose a name for your bot.). Я написал (web-revenue). Вводите свое имя и отправляете.

После этого всего должно прийти сообщение о создании бота с токеном. Он то нам и нужен, запишите его.

Вводите свое имя и отправляете.

Дальше добавляем своего бота в контакт лист (запустите его и что-нибудь напишите).

Запускаем своего бота

Теперь нам нужно узнать ID бота, для этого, заходим по ссылке:

https://api.telegram.org/bot/getUpdates

где — тот самый токен который мы получили ранее (Use this token to access the HTTP API: токен).

Там подсматриваем свой id:

Смотрим ID бота

Записываем его рядом с токеном) Теперь у нас есть все необходимые данные чтобы можно было отправлять уведомления в телегу, например подставляя текст в ссылку:

https://api.telegram.org/bot/sendMessage?chat_id=; $chat_id = «»; $values = $hook->getValues(); // Получаем название формы $formName = $modx->getOption(‘formName’, $formit->config, ‘form-‘.$modx->resource->get(‘id’)); // Получаем ip адрес отправителя $ip = $modx->getOption(‘REMOTE_ADDR’, $_SERVER, »); // Берем данные с формы $name = $values[‘name’]; $phone = $values[‘phone’]; $email = $values[’email’]; $message = $values[‘message’]; // Создаем массив данных $arr = array( «Название формы» => $formName, «IP» => $ip, «Имя» => $name); if($phone) < $arr[«Телефон»] = $phone; >if($email) < $arr[«Email»] = $email; >if($message) < $arr[«Текст сообщения»] = $message; >$txt = ‘Заполнена форма — ‘.$formName.»n»; // Цикл по массиву (собираем сообщение) foreach($arr as $key => $value) < $txt .= «».$key.»: «.$value.» n»; > // Отправляем сообщение посредством cURL $website=»https://api.telegram.org/bot».$token; $params=[ ‘chat_id’ => $chat_id, ‘text’ => $txt, ‘parse_mode’ => ‘html’ ]; $ch = curl_init($website . ‘/sendMessage’); curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, ($params)); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); $result = curl_exec($ch); $modx->log(MODX_LOG_LEVEL_ERROR, $result); curl_close($ch); //Возвращаем true – это особенность написания хуков для FormIt. return true;

Еще по теме:  Бесплатный бот как узнать когда в последний раз человек посещал Телеграмм

Здесь вам нужно вписать вместо — свой токен, — id чата бота.

Где берем данные с формы и создаем массив указываются названия полей (из формы или форм) и их расшифровка.

Заполняем хук

Важно! В данном хуке использует синтаксис fenom, по этому у вас обязательно должен быть установлен компонент PdoTools и должны быть включены настройки pdotools_fenom_default и pdotools_fenom_modx.

Теперь подключаем наш хук к вызову формы, пример:

После чего можно попробовать отправить тестовое сообщение, делать это лучше в режиме инкогнито. Если все сделали правильно, форма прилетит в телегу боту.

Результат работы бота

Уведомления о заказах из MiniShop2 в Telegram

Устанавливаем с репозитория modstore бесплатно дополнение msTelegram. После чего идете в системные настройки, там есть 2 опции:

  • mstelegram_token, сюда вводим токен.
  • mstelegram_recepients, сюда вводим id чатов, кто будет получать уведомления.

И проверяем чтобы плагин был повешен на событие msOnCreateOrder

msOnCreateOrder

MODX — уведомления об обновлениях ресурсов

К примеру у вас есть проект на котором копирайтеры , журналисты или к примеру SEO специалисты наполняют сайт и вы хотите быть в курсе, что вам публикуют. Тогда создайте плагин, с именем telegram со следующим кодом:

get(‘pagetitle’); $alias= $resource->get(‘uri’); if ($resource->get(‘published’) == «1») < $fp=fopen(«https://api.telegram.org/bot/sendMessage?chat_id=,»r»); while(!feof($fp)) < $content .= fread($fp,1024); >fclose($fp); >;

Не забудьте в коде поставить свой токен и id, после чего вешаем плагин на системные события, например такие:

Системные события публикаций ресурсов и тикетов

И пользуемся) Надеюсь информация для вас является полезной!

Источник: web-revenue.ru

Рейтинг
( Пока оценок нет )
Загрузка ...