MODX Revo | AjaxForm | MiniShop2 | Telegram > Уведомления о заказах и заполненных формах в группу в телеге
/* Превью
Ну кароч ничего необычного, Паша молодец...
*/
Ещё молодец Михаил, его пост я взял за основу.
Полезности от Николая на хабре, спасибо и ему БОЛЬШОЕ.
Задача, получать уведомления о заказах и сообщения с форм обратной связи в телеграмчек с возможностью их обсуждения различными участникми сего мероприятия.
Создаём группу и канал в телеге
Идя по пути Михаила по псту выше, я наткнулся на проблему, нельзя ботянцкого @botfather затащить в группу, каким бы пряником не манить. Только в канале утопить, а в канале участникам нельзя писать сообщения, по этому нужно создать частный канал и частну группу, частные ну чтобы не подслушивали, и в настройках канала привязать группу, тогда псты с канала будут дублироваться в группу, а там уже псты с сайта могут холиварить и жечь пуканы!
Приглашаем мистера @botfather
Добавляем @botfather в канал, он просит быть админом, так и быть.
Теперь настраиваем, здароваюсь с ботом, пишу ему "/start" а он молчит сцуко, врубаем VPN тк-кк Пашу не любит РаКэН, и пошли смотреть что там Дуров про него написал, тут хелп тут апи'ата там находим инструкцию для пыхи. В общем в канале переходим в сообщения боту, нажимаем запустить и появляются команды. Пишем ему
- /newbot
- Имя новорождённого ведра со схемами
- Никнейм новорождённого ведра со схемами но с добавлением слова bot в конце, не воспринимает цифры гавнюк
- Получаем в ответе API key, сохраняем его
- Добавляем бота в канал и даём права админа
- Пишем боту какую нибудь херню в канале, обратившись к нему по никнейму, например "Эй @vedro_so_shemami_bot"
- Заходим по адресу https://api.telegram.org/bot[api_kye]/getUpdates - [api_kye] меняем на полученный API Key, и видем наше сообщение
- Из сообщения на сайте хватаем id чата, у меня даже с - в начале почему то
- теперь можем писать псты в канал от имени бота таким вот образом https://api.telegram.org/bot[api_key]/sendMessage?chat_id=[chat_id]&text=[text] - ну где [api_kye] это ключ апи, [chat_id] айди чата который вытащили из сообщения и [text] что нужно отправить, например "Я родился"
- Готово блеать!
Настройка MODX Revo
AjaxForm | FormIt > сниппет
Ранее писал сниппет для AjaxForm для обхода спама, думаю логично просто его допилить для отпавки уведомлений. Выходит следующее.
MiniSHop2 > Уведомления о заказе и изменения статусов
Создаём плагин, например msTelegramBot с событиями msOnChangeOrderStatus и msOnCreateOrder, пихаем следующий код
Добавляем апи кей и чат ади в двух этих событиях. Готово (:
Разметка в постах в телеграмм
При отправке есть важный параметр parse_mode он может иметь значение HTML и Markdown, Markdown это разметка типа вики, тоесть
*жирный текст*
_курсив_
[Текст ссылки](http://www.example.com/)
```Типа код
кодяцкий дальше ```
%0A - Перевод на новую строку
Подробнее в доке телеграмма.
Комментарии ()
Написать комментарий