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

Всем привет. Это не совсем готовое дополнение, скорее инструкция. Может быть кто нибудь разовьёт и соберёт пакет.
У меня небольшой контентный проект и надо было быть оперативно в курсе, что там журналисты публикуют.
Такое извещение можно повесить на заказ обратного звонка, заказ товара или какие нибудь другие события о которых я не подумал :)

В общем так, сначала заводим себе бота:

  • Ищем пользователя @botfather и добавляем его.
  • После нажатия /start должны прийти все доступные команды.
  • Создаем нового бота (/newbot)
  • botFather попросит нас ввести название бота. (leads).
  • Вводим имя бота
  • Потом его username (leads_bot). Username должен заканчиваться на Bot или _bot. Это то имя, по которому можно будет этого бота найти (@leads_bot).
После этого всего должно прийти сообщение о создании бота с токеном. Он то нам и нужен

Дальше добавляем своего бота в контакт лист.

И заходим по ссылке
https://api.telegram.org/bot<bot_token>/getUpdates
где <bot_token>тот самый токен который мы получили.

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

И всё, можем слать себе уведомления подставляя текст в ссылку
https://api.telegram.org/bot<bot_token>/sendMessage?chat_id=<id>&text=<text>


MODx
Добавляем новый плагин — telegram

Код плагина
<?php
$title= $resource->get('pagetitle');
$alias= $resource->get('uri');

if ($resource->get('published') == "1")  {

$fp=fopen("https://api.telegram.org/bot<bot_token>/sendMessage?chat_id=<id>&text={$title} http://site.info/{$alias}","r"); 
while(!feof($fp)) 
{  $content .= fread($fp,1024); } 
fclose($fp); };

И вешаем его на системные события, в моём случае так:


Надеюсь я всё понятно написал и информация пригодится сообществу из которого так много узнаю!
Михаил
12 апреля 2016, 09:59
modx.pro
32
9 772
+13

Комментарии: 12

Іван Клімчук
12 апреля 2016, 15:19
+2
Можете взять за основу мой Slackify и на базе него сделать подобный пакет. Идея примерно такая же, только на Slack
    Михаил
    13 апреля 2016, 16:42
    0
    Собрать пакет я ещё не осилю ) Если кто нибудь соберёт по этому решению и запилит в дистрибутив, я только благодарен буду!
    Антон
    13 апреля 2016, 09:13
    +1
    спасибо! Возьму к себе на вооружение решений )
      Andrei D.
      25 апреля 2016, 09:57
      0
      Спасибо за наводку
          Aleksandr Huz
          06 апреля 2017, 08:35
          0
          А можно ли сделать подобное для Viber? Какая цена реализации?
            Александр Н
            17 августа 2018, 21:32
            0
            Есть проблема. Если сайт не может достучаться до телеграма, весь движок повисает…

            Ещё не помешала бы возможность указывать прокси
              Pavel
              12 октября 2021, 14:51
              0
              Всё вроде работает, если себе сообщения отправлять, но как только ставишь иди канала, то публикация сразу виснит…
                Михаил
                12 октября 2021, 16:21
                0
                Боты вроде бы не могут писать в каналы самостоятельно, их нужно туда сначала добавить. Но и будет ли так работать, сейчас не скажу.
                  Pavel
                  20 октября 2021, 17:04
                  0
                  Ну с этим всё гуд, я его добавил через КонтроллерБот, в админку канала, в общем дал ему всю власть. Но что то не хотит.
                Pavel
                03 ноября 2021, 18:28
                0
                Решил вопрос, оставив место ID — @username канала.
                Теперь родилось два вопроса:
                1. Как отделить две области переносом {$title}{$content}?
                2. Как вывести изображение поста(TV)?
                  Иван
                  08 июля 2024, 21:51
                  0
                  "«Дальше добавляем своего бота в контакт лист.

                  Я не нашел как сделать данный пункт. Нигде такого нет.
                  Надо просто написать боту, и тогда следующий шаг работает)
                    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
                    12