Categories: ModX

Отправка уведомлений в телеграм с modx

В продолжение предыдущего поста напишу как организовать отправку уведомлений с сайта на CMS Modx. Создадим чанк, сниппет, подключим на страницу. 

Создаем чанк для формы обратной связи modx

Заходим в админку Modx, создаем новый чанк. Я использую MODX Revolution 2.5.7-pl.

Копируем код формы обратной связи:

<h4>Контактная форма</h4>
<form action-xhr="#" method="POST">
 Введите Ваше имя: <br><input type="text" placeholder="Ваше имя" name="call_user"><br><br>
 Контакт для обратной связи <br>(<i>это может быть эмейл или телеграм-аккаунт</i>): <br><input type="text" placeholder="*Email или телеграм" name="us_contact" required><br><br>
 Сообщение: <br><textarea name="mymes" cols="40" rows="10" placeholder="*Напишите здесь текст" required></textarea><br>
 <button class="btn-fill-primary plr-30" type="submit">Отправить</button>
</form>
<br>* - обязательные поля.
Чанк в modx: форма обратной связи

Создать сниппет в modx

Дальше создаем сниппет для обработчика предыдущей формы обратной связи:

$userId = '264123846'; // id user
$token = '101342349:AAE78dsdHjsD7xcSJHN343LW-IG8'; // Token бота 

$user_name = ' ('.$_POST["call_user"].')';
$user_contact = $_POST["us_contact"];
$user_text = $_POST["mymes"];

if (!empty($user_contact) and !empty($user_text)) {
 $msg = '*Заявка с bdseo.ru*

';
 $msg .= $user_contact.$user_name;
 $msg .= ' пишет:

'.$user_text;

file_get_contents('https://api.telegram.org/bot'. $token .'/sendMessage?chat_id='. $userId .'&text=' . urlencode($msg) . '&parse_mode=markdown');

 echo "<strong>Спасибо, мы получили Ваше сообщение.</strong><hr>";
}
Создаем сниппет обработчик формы обратной связи на modx

Страница для формы и обработчика modx

У меня форма и обработчик на одной странице — Контакты. Поэтому action=»», чанк и сниппет на одной странице.

<p>[[!contact_send_tg? ]]</p>
<p>Контакты автора bdseo.ru</p>
<p>Емейл: <a href="mailto:admin@bdseo.ru">admin@bdseo.ru</a>
<br /> Скайп: prolisk
<br /> Вконтакте: <a href="http://vk.com/" target="_blank">Страница Вконтакте</a>
<br /> Twitter: <a href="https://twitter.com/">Bdseoru</a></p>
<p> </p>

<p>[[$contact_form_tg? ]]</p>

Чанк (форму) можно кешировать; сниппет (обработчик) не надо.

Теперь после отправки формы (когда будут POST данные ), вверху выведется текст из сниппета. Например:

Форма обратной связи и отправка уведомлений в телеграм на modx

Если появились вопросы, не стесняйтесь — комментируйте. Может и на комменты wordpress повесить уведомления в телеграм?..

veniamin

View Comments

  • Помогите плиз. Получилось настроить отправку данных с формы, но не отправляются изображения которые загружают посетители сайта через форму заявки. Изображения не приходят в телеграм. Делал ли кто-нибудь отправку изображений в Телеграм на сайте на MODx?

    • Нужно прикреплять как файл.
      Могу сделать платно, или когда появится настроение напишу статью. :-)

Recent Posts

Как заработать токен NOT за стейкинг BNB или FDUSD

Очень много разговоров в последнее время за токен NOT. Много бирж будут делать листинг токена,…

7 месяцев ago

Как заработать TON и NOT за стейкинг в телеграм

Телеграм недавно запустил возможность стейкать (замораживать) USDT и получать за это их валюту TON. Очень…

7 месяцев ago

Бонус 100 USDT +10 BUSD от Binance

Биржа криптовалют Binance проводит сейчас промо-акцию: новым пользователям дают ваучеры в сумме 110 долларов. Деньги…

3 года ago

Как парсить длительность видео youtube на php в привычном виде

Самый главный момент в работе с youtube - это получить ключ api через консоль разработчика…

3 года ago

Как удалить чужую сессию пользователя в ubuntu (linux)

Арендую сервер для небольшого проекта на python. И вот приходит мне уведомление, что за сутки…

3 года ago

Как наложить watermark на видео в python windows массово

Тестирую одну схему, и нужно на много видео наложить watermark. Решил делать через Python 3,…

3 года ago