[modTelegram] - Telegram сообщения

[modTelegram] — Небольшое дополнение для работы с Telegram.

Реализовано:
— методы работы с api
— помощник сайта

отправка текстового сообщения
$modtelegram = $modx->getService('modtelegram');
$modtelegram->telegramSendMessage(array(
 'chat_id'   => '1111111111',
 'text'        => 'текст сообщения',
));

отправка фото
$modtelegram = $modx->getService('modtelegram');
$modtelegram->telegramSendPhoto(array(
 'chat_id'         => '1111111111',
 'from_path'    => '1.jpg',// путь к картинке 
));

помощник сайта

Реализован по мотивам вот этой заметки на habrahabr.ru/post/302056/ и пожеланию одного хорошего человека.

  • установить пакет
  • добавить бота @BotFather и создать бота
  • получить токен и добавить его в настройки пакета
  • установить webhook
  • вызвать сниппет [[!modTelegram.helper]]
установить webhook
Для того чтобы установить webhook необходимо выполнить следующий код (можно выполнить в console)
$modtelegram = $modx->getService('modtelegram');
$modtelegram->telegramSetWebHook();

доступные действия помощника
action — список доступных действий
/action

login — авторизоваться в системе
/login_username_password
username — почта пользователя
password — пароль пользователя
пользователь должен быть членом группы «Telegram manager»

logout — выйти из системы
/logout
chatin — подключить чат
/chatin_id

chatout — отключить чат
/chatout

history — получить историю чата
/history_id

reply — написать в активный чат
/reply_message
location — получить локацию
/location

removeall — удалить все данные
/removeall_password

pusher
Добавлен pusher чтобы не бомбить сервер ajax запросами. Бесплатного тарифа вполне должно хватить для насущных нужд.

Нужно зарегаться на pusher.com/ зайти в настройки пакета и прописать соответствующие настройки и активировать pusher.

PS. пакет доступен на гитхаб
Код на github, создавайте isuue

Важно
Работает через webhook, для него требуется обязательно https.

Компонент бесплатный, буду рад donation
донат:
  1. Андрей Кухарев — 500 руб.
  2. shtyrman — 490 руб.
  3. Денис Богдановский — 490 руб.
Володя
15 августа 2016, 09:34
modx.pro
17
14 202
+23
Поблагодарить автора Отправить деньги

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

Василий Столейков
15 августа 2016, 14:07
+2
Круто!
    Sergey Leleko
    15 августа 2016, 15:57
    +1
    Отлично, спасибо
      Василий Столейков
      15 августа 2016, 17:10
      0
      В ModStore не планируется?
      Володя
      15 августа 2016, 17:19
      +2
      Если вы установили webhook, но бот ничего вам не шлет в ответ — то скорее всего у вас кривоустановленый сертификат. При этом ошибок от telegram не будет — будет просто тишина…
      Вот такой вот момент.
        Андрей Кухарев
        16 августа 2016, 09:00
        0
        например для сертификатов COMODO нужно склеить все промежуточные сертификаты и корневой по такому типу
        cat www_example_com.crt COMODORSADomainValidationSecureServerCA.crt  COMODORSAAddTrustCA.crt AddTrustExternalCARoot.crt > ssl-bundle.crt
        Yar
        Yar
        15 августа 2016, 19:55
        0
        Дал прикурить Jivosite и прочим. Спасибо!
          Виктор
          16 августа 2016, 06:51
          0
          Никак не сделать, чтобы работало без https? а то подавляющее количество сайтов работает всё-таки без https
            Володя
            16 августа 2016, 08:46
            0
            — поставить самоподписной сертификат, весь сайт переводить на https необязательно, достаточно чтоб webhook работал через него
            — посмотрел в pusher есть webhook и можно написать отдельно обрабочик для него, должно сработать.
            Сергей Сергеевич
            16 августа 2016, 10:55
            0
            А есть живой пример?
              Володя
              16 августа 2016, 10:56
              +2
              есть но не дам. Нет интереса ловить кучу сообщений....)
              Вы уж поймите меня правильно.
              Владимир Ульяновский
              17 августа 2016, 00:08
              +1
              Это вообще огонь! Модекс теперь в восходящем тренде.
              Нужно развивать это дополнение.
                Володя
                17 августа 2016, 11:18
                0
                Спасибо, постараюсь по мере возможностей.
                Володя
                17 августа 2016, 11:21
                0
                Обновление:
                — добавлена группа Telegram manager для авторизации под менеджером пользователь должен состоять в группе
                — добавлена команда /removeall — удаляет все данные, вводить с паролем
                /removeall_000000
                — добавлена очистка чатов и сообщений при /logout и /chatout
                  Андрей Кухарев
                  17 августа 2016, 13:04
                  +1
                  Было бы круто добавить вывод списка чатов за определенный период времени. 500р добавил
                    Володя
                    17 августа 2016, 13:07
                    0
                    ввывод служеной инфо я планировал на команду /status
                    как раз туда это и можно добавить.
                      Володя
                      17 августа 2016, 13:08
                      0
                      500р добавил
                      пришло, спасибо!)
                    Володя
                    21 августа 2016, 00:18
                    0
                    обновление:
                    — добавлен вывод статусов менеджера, менеджеров
                    — добавлено информирование менеджера при закрытии пользователем чата
                    необходимо добавить webhook в pusher
                    assets/components/modtelegram/pusherhook.php
                      Ruslan Butakov
                      22 сентября 2016, 23:45
                      0
                      Отличное дополнение, очень доволен.
                      Есть пару моментов
                      1. Если приложение ставится до установки ssl, то в настройках адрес Webhook прописывается с http, и уже после того как добавил sll так и остается. Соответственно при попытке установить webhook выдает ошибку.

                      2. Обновление чата на сайте происходит только после того как обновится страница.
                        Ruslan Butakov
                        22 сентября 2016, 23:59
                        0
                        По поводу пункта №2

                        Обратил внимание что это происходит если включить Pusher.
                        Выдает ошибку yadi.sk/i/0_qZB0ZgvZdUp — ругается на неверно указанный кластер если я правильно понял.

                        Также обратил внимание что на ваших скринах присутствует настройка кластера, а в текущей версии его нет. При этом если добавить данную настройку то ситуация не меняется.
                          Володя
                          23 сентября 2016, 09:33
                          0
                          Выдает ошибку yadi.sk/i/0_qZB0ZgvZdUp — ругается на неверно указанный кластер если я правильно понял.

                          Также обратил внимание что на ваших скринах присутствует настройка кластера, а в текущей версии его нет. При этом если добавить данную настройку то ситуация не меняется.
                          Проверьте все настройки и сопоставьте с теми что указаны в админке. Настройку кластера я выкинул, так как работало без нее.
                          Возможно у вас старый js в котором указано использовать кластер, а самой настройки уже нет — вот и вас сыпет подобную ошибку.
                            Ruslan Butakov
                            23 сентября 2016, 09:59
                            0
                            Дополнение ставил вчера, до этого не использовал старую версию.
                            Сейчас используется modtelegram-1.0.11-beta
                              Володя
                              23 сентября 2016, 10:33
                              0
                              тогда проверяйте правильность введенных данных, чудес то не бывает…
                                Ruslan Butakov
                                24 сентября 2016, 11:09
                                0
                                Ну это я проверил не один раз, даже новые ключи генерировал, ситуация не изменилась, есть возможность глянуть у вас?
                                  Володя
                                  24 сентября 2016, 12:10
                                  0
                                  привет, напиши в скайп.
                            Kirill A. Rusanov
                            29 сентября 2016, 17:43
                            +1
                              Ruslan Butakov
                              04 октября 2016, 20:26
                              0
                              Проблема была в том что при регистрации Pusher я начал выбирать параметры, а достаточно было получить ключ по умолчанию, без указания ПО и Платформ.
                            Володя
                            23 сентября 2016, 09:30
                            0
                            1. Если приложение ставится до установки ssl, то в настройках адрес Webhook прописывается с http, и уже после того как добавил sll так и остается. Соответственно при попытке установить webhook выдает ошибку.
                            настройка modtelegram_web_hook_url — выставьте там правильный url и установите Webhook
                              Ruslan Butakov
                              23 сентября 2016, 09:33
                              0
                              Ну я так и сделал, может стоит изначально предусмотреть чтобы прописывался адрес с https, вне зависимости работает сервер с ssl или нет.
                              Володя
                              23 сентября 2016, 09:31
                              0
                              Обновление чата на сайте происходит только после того как обновится страница.
                              вы включили использовать Pusher, но он по какой то причине у вас не работает. Естественно обновлений сообщений не будет
                                Ruslan Butakov
                                23 сентября 2016, 09:35
                                0
                                Я понимаю что Pusher не работает, тут я описал в чем возможно кроется проблема.
                                  АндрейЧ
                                  16 сентября 2017, 21:52
                                  0
                                  Володя, подскажите что делать, из системных настроек пропал кластер pusher'а. Было «Eu» и пропала строка настроек после переустановки с целью: "… пытался настроить, не мог залогиниться в боте"

                                  Все заработало, но пушер не обновляет.


                                    АндрейЧ
                                    16 сентября 2017, 22:05
                                    0
                                    Ставил Ваш мега дополнение седня первый раз… Может показалось что видел UE в настройках. чат работает, но не обновляется без перезагрузки.
                                      АндрейЧ
                                      16 сентября 2017, 22:26
                                      0
                                      Ошибки в консоли две:

                                      WebSocket connection to 'wss://ws.pusherapp.com/app/b3b1d2b6979bf7380ed6?protocol=7&client=js&version=3.2.4&flash=false' failed: WebSocket is closed before the connection is established.
                                      +
                                      code":4001,«message»:«Did you forget to specify the cluster when creating the Pusher instance? App key b3b1d2b6979bf7380ed6 does not exist in this cluster
                                        Володя
                                        17 сентября 2017, 12:47
                                        +1
                                        Добрый день.
                                        Did you forget to specify the cluster when creating the Pusher instance? App key b3b1d2b6979bf7380ed6 does not exist in this cluster
                                        по моему очень говорящая ошибка…
                                          АндрейЧ
                                          18 сентября 2017, 19:22
                                          0
                                          Проверено, в настройках на сайте — актуальные данные с pusher.com

                                          app_id = «401223»
                                          key = «b3b1d2b6979bf7380ed6»
                                          secret = «a93b48a86a7455e86571»
                                          cluster = «eu»

                                          Я со второй попытки сумел все сделать, возможно первые значения настроек где-то сохранились. Сейчас удалю все дополнение и кэш на хостинге, попробую заново сделать.
                                            АндрейЧ
                                            18 сентября 2017, 19:40
                                            0
                                            Решилось — созданием нового ключа на пушера. Работаете везде на hhtps и поддоменах.

                                            Вот это компонент!)

                                            Володя, спасибо вам большое.

                                            В частности за ваш стиль, я все ошибки описанные в этой теме собрал, за пару вечеров разобрался. ) Очень прокачиваться помогаеге!!!
                                  Александр Н
                                  23 сентября 2016, 23:34
                                  +1
                                  Здорово! Благодарю за труд и отличное приложение!

                                  Мне кажется будет востребован автопостинг анонсов статей/товаров в канал телеграмма. Телеграмм становится всё популярнее, уже налоговая в нём техподдержку организовала!
                                    Володя
                                    23 сентября 2016, 23:48
                                    +1
                                    Спасибо!
                                    будет востребован автопостинг анонсов статей/товаров
                                    Для этого нужно просто написать плагин, для того кто хоть немного разбирается, не составит труда это сделать и на событие выполнить
                                    $modtelegram = $modx->getService('modtelegram');
                                    $modtelegram->telegramSendMessage(array(
                                     'chat_id'   => '1111111111',
                                     'text'        => 'текст сообщения',
                                    ));
                                    Anton
                                    11 октября 2016, 13:39
                                    0
                                    Классное дополнение и нужное. Было бы неплохо реализовать еще возможность задавать свой чанк для кнопки помощника в настройках.
                                      Владимир Ульяновский
                                      16 октября 2016, 23:58
                                      0
                                      Наконец то дошли руки опробовать это дополнение.
                                      Столкнулся с проблемой вот в этом:
                                      /login_username_password
                                      username — почта пользователя
                                      password — пароль пользователя — тут не понятно пароль из настроек или пароль пользователя для входа на сайт?

                                      у меня домен с тире и нет возможности написать почту…
                                      /login_name@si-te.ru_000000
                                      прерывается на тире и выдает ошибку входа
                                        Владимир Ульяновский
                                        17 октября 2016, 00:46
                                        0
                                        Разобрались, проблема была не в тире, а в заглавных буквах в пароле пользователя.
                                        Anton
                                        26 октября 2016, 23:28
                                        0
                                        Как узнать id бота? Поискал информацию и так толком и не нашел. В базу сохраняется только id менеджера.
                                          Андрей Gryn
                                          29 октября 2016, 22:24
                                          0
                                          Друзья, не ругайте сильно, пожалуйста.
                                          Как установить webhook?
                                          Вроде того?
                                          https://api.telegram.org/bot<token>/setWebhook?url=https://mywebsite.com/чтописатьсюданепонятно
                                            Андрей Gryn
                                            29 октября 2016, 22:50
                                            0
                                            Еще у меня в логах пишет
                                            WARN @ /var/www/mysite/core/components/modtelegram/model/modtelegram/modtelegram.class.php : 455) PHP notice: Undefined index: action
                                            Может по этому ничего не работает?

                                            И последнее, ребята, пожалуйста, помогите, от куда я должен взять modtelegram_action_password?
                                              Андрей Gryn
                                              31 октября 2016, 16:17
                                              0
                                              Писал в отчаяние все это. Удалить бы.

                                              Не могу сказать, что разобрался, но работает.
                                              Установить webhook — это привязать к боту адрес, на который будут отсылаться POST/GET запросы
                                              https://api.telegram.org/bot<token>/setWebhook?url=https://mywebsite.com/assets/components/modtelegram/webhook.php
                                              modtelegram_action_password — вписал пароль от пользователя, который в группе Telegam manager
                                                Anton
                                                31 октября 2016, 18:19
                                                0
                                                Можно было и проще сделать. Установить пакет Console из репозитория Modx. Зайти в него и в строке выполнить код прописать тот код, что дан в описании modTelegram для установки webHook и выполнить его.
                                                  Игорь Терентьев
                                                  17 июня 2017, 02:10
                                                  0
                                                  Тоже сделал так — через консоль не хотел устанавливаться webhook.
                                              Леонид
                                              01 декабря 2016, 01:17
                                              0
                                              А более подробной инструкции на этот замечательный мод нету???
                                                Леонид
                                                01 декабря 2016, 17:34
                                                0
                                                Приветствую ещё раз, ошибка вышла при установки хука \core\components\modtelegram\model\modtelegram\modtelegram.class.php: 391)
                                                внутрь залез этого файла:
                                                public function log($message = '', $data = array(), $showLog = false)
                                                    {
                                                        if ($showLog OR $this->getOption('showLog', null, false, true)) {
                                                            $this->modx->log(modX::LOG_LEVEL_ERROR, $message);
                                                            if (!empty($data)) {
                                                                $this->modx->log(modX::LOG_LEVEL_ERROR, print_r($data, 1));
                                                            }
                                                        }
                                                    }
                                                А вот что с этим делать? Подскажите пожалуйста.
                                                  Володя
                                                  01 декабря 2016, 17:45
                                                  0
                                                  Привет.
                                                  И какой текст ошибки?
                                                  При установке хука выводится сообщение в лог и все
                                                  github.com/vgrish/modTelegram/blob/master/core/components/modtelegram/model/modtelegram/modtelegram.class.php#L1096-L1099
                                                    Леонид
                                                    02 декабря 2016, 14:50
                                                    0
                                                    При установке хука происходит это:
                                                    [2016-12-02 15:43:26] (ERROR @ C:\server\http\***.ru\core\components\modtelegram\model\modtelegram\modtelegram.class.php: 391)
                                                    [2016-12-02 15:43:26] (ERROR @ C:\server\http\***.ru\core\components\modtelegram\model\modtelegram\modtelegram.class.php: 391)
                                                    SetWebHook failure
                                                      Володя
                                                      02 декабря 2016, 15:21
                                                      0
                                                      https на сайте есть?
                                                      Проверьте какое значение настройки modtelegram_web_hook_url, если оно неверно определилось пропишите туда правильное значние и попытайтесь установить хук заново.
                                                        Леонид
                                                        02 декабря 2016, 18:44
                                                        0
                                                        https я сделал, правильно ли я понял, что modtelegram_web_hook_url должен быть полным путём до webhook.php? (\assets\components\modtelegram\webhook.php)
                                                      Леонид
                                                      03 декабря 2016, 00:44
                                                      0
                                                      Прошу выложить конфиг рабочего мода с затёртыми личными элементами, ну или более подробную инструкцию, а то вообще не понятно, что и где, и как. Я с телеграмом как свинья в апельсинах, неделю бъюсь. Отправлено 500 р.
                                                        Володя
                                                        03 декабря 2016, 04:08
                                                        0
                                                        скиньте в личку доступы к сайту, быстрее будет.
                                                        Спасибо!
                                                        з.ы. можно продублировать в скайп
                                                          Леонид
                                                          03 декабря 2016, 05:59
                                                          0
                                                          Скинул, первое ЛС ошибочное, второе верное
                                                    Леонид
                                                    04 декабря 2016, 00:15
                                                    0
                                                    Приветствую ещё раз, установил, всё верно, залогинился, пишу в чат, но тишина))))
                                                      Леонид
                                                      05 декабря 2016, 12:05
                                                      0
                                                      А теперь вот такая штука ))) Блин у меня полный набор всего что только может быть. \core\components\modtelegram\vendor\pusher\lib\Pusher.php: 463) PHP warning: json_encode(): Invalid UTF-8 sequence in argument. Я так понял это в PHP чего-то нехватает?
                                                        Андрей Gryn
                                                        10 декабря 2016, 13:20
                                                        0
                                                        Друзья, у меня в логи сыпет очень много варнингов, лог-файл пухнет.
                                                        (WARN @ /var/www/happybu/core/components/modtelegram/model/modtelegram/modtelegram.class.php : 455) PHP notice: Undefined index: action
                                                        Может я не прописал в настройки что то.

                                                          mngatoff
                                                          10 декабря 2016, 15:23
                                                          0
                                                          это php7) допишите в класс проверку на существование переменной action (isset). А Володя наверное поправит потом)
                                                          Андрей Gryn
                                                          21 декабря 2016, 14:16
                                                          0
                                                          В управлении словарями меняю значения, например, modtelegram_helper или modtelegram_chat_welcome со стандартных на свои, но выводятся все равно стандартные значения — «Помошник» и «Приветствую!» т.п.
                                                          Снипет вызвается с параметром &frontendLexicon=`modtelegram:ru`
                                                          В словаре меняю для языка ru, в логах ошибок нет. Можно как нибудь что-то сделать?
                                                            Володя
                                                            22 декабря 2016, 14:16
                                                            0
                                                            удалите файл lexicon.js, он сформируется заново с внесенными изменениями
                                                            shtyrman
                                                            16 марта 2017, 19:40
                                                            0
                                                            при вводе в консоле для webhook ругается на следующее:
                                                            [2017-03-16 19:33:46] (ERROR @ ..../core/components/modtelegram/model/modtelegram/modtelegram.class.php: 391)
                                                            SetWebHook success

                                                            [2017-03-16 19:33:46] (ERROR @ ..../core/components/modtelegram/model/modtelegram/modtelegram.class.php: 393)
                                                            1
                                                            Не подскажите как решить это?
                                                              Володя
                                                              16 марта 2017, 19:49
                                                              0
                                                              SetWebHook success
                                                              ну он вам сообщил что все ОК. чего решать то?)
                                                                shtyrman
                                                                16 марта 2017, 19:54
                                                                0
                                                                Да в том то и дело) не пойму, почему error то)

                                                                написал вам в профиле на почту
                                                                  shtyrman
                                                                  16 марта 2017, 20:16
                                                                  +1
                                                                  Володя простите, оч сильно тупанул) все работает, спс вам за дополнение. Скину в пожертвование)
                                                                  Надеюсь будете развивать сие дело!
                                                                    Володя
                                                                    17 марта 2017, 10:28
                                                                    0
                                                                    Скину в пожертвование)
                                                                    Спасибо!
                                                                      shtyrman
                                                                      12 апреля 2017, 15:27
                                                                      1
                                                                      0
                                                                      Здравствуйте. Все прекрасно работало, но заметил в последнее время что появились сбои.

                                                                      В общем проверил все настройки и как делал в прошлый раз, но почему не получается.

                                                                      Проблема заключается в том, что сообщения с сайта уходят, а вот в самом телеграмме не получается авторизоваться и выполнить какие-либо команды. Раньше помню, когда авторизуешься по /login_mail_password то приходило подтверждение об успешной авторизации, сейчас этого нет. Т.е. в данное время почему то работает это в одну сторону…

                                                                      Каких либо ошибок в логах вообще нету.
                                                                      имеем modx 2.5.6 php 7.1

                                                                      upd. Извините, снова разобрался) просто подключил в консоли вебхук. Не знаю почему пришлось заново его подключать…
                                                                Денис Богдановский
                                                                29 июня 2017, 07:40
                                                                0
                                                                Володя, хелп! Уперся в «Нет доступных менеджеров»… не могу понять в чем дело. В каких случаях это сообщение выпадает?
                                                                  Володя
                                                                  29 июня 2017, 08:03
                                                                  0
                                                                  Менеджер не авторизовался в телеграм и не с кем связываться
                                                                    Денис Богдановский
                                                                    29 июня 2017, 09:20
                                                                    0
                                                                    login — авторизоваться в системе
                                                                    /login_username_passwordusername — почта пользователя
                                                                    password — пароль пользователя
                                                                    пользователь должен быть членом группы «Telegram manager»
                                                                    а если в имени пользователя и пароле присутствует символ нижнего подчеркивания "_", то авторизация не прокатит?
                                                                      Володя
                                                                      29 июня 2017, 09:25
                                                                      0
                                                                      да, вполне возможно. Создай пользователя специально для общения с простым логином паролем…
                                                                        Денис Богдановский
                                                                        29 июня 2017, 09:41
                                                                        0
                                                                        Ура!

                                                                        Все фурычит! Спасибо!
                                                                          Денис Богдановский
                                                                          29 июня 2017, 09:59
                                                                          0
                                                                          А вот тут что включать?


                                                                          … и еще вопрос:
                                                                          Если пользователь менеджеру отправляет сообщение, все ОК… сразу приходит.
                                                                          Если менеджер отправляет сообщение, то нужно обновить браузер, что бы пользователь его увидел.
                                                                            Володя
                                                                            29 июня 2017, 10:15
                                                                            0
                                                                            Если менеджер отправляет сообщение, то нужно обновить браузер, что бы пользователь его увидел.
                                                                            значит pusher не подключен, либо настройки неверны…
                                                                              Володя
                                                                              29 июня 2017, 10:17
                                                                              0
                                                                              посмотри есть в консоли браузера ругань от пушера.
                                                                                Денис Богдановский
                                                                                29 июня 2017, 10:23
                                                                                0
                                                                                Глянул… нет ошибок. Внимательнее все проверю через 2-3 часа… нужно на работу идти )
                                                                                  Денис Богдановский
                                                                                  29 июня 2017, 10:30
                                                                                  0
                                                                                  Если менять настройки из скрина выше, то в браузере быстро мелькает окно с push-уведомлением.

                                                                                  а вот тут ничего подкрутить не надо?
                                                                                    Володя
                                                                                    29 июня 2017, 10:37
                                                                                    0
                                                                                    я там ничего не шаманил, вроде все по дефолту.
                                                                                    во скрины с моего кабинета



                                                                                    попробуй удалить приложение и создать с нуля заново.
                                                                                  Денис
                                                                                  03 августа 2017, 11:16
                                                                                  0
                                                                                  Здравствуйте! Вы решили проблему с Pusher? У меня очень похожая проблема, третий день не могу решить.
                                                                          Денис
                                                                          01 августа 2017, 12:17
                                                                          0
                                                                          Привет всем. Помогите разобраться! Все установил, вебхук стоит, pusher подключил, протокол https. Но сообщения пользователю не приходят. Также через раз отправляются сообщения с сайта. В чем может быть проблема.

                                                                          В консоли пишет
                                                                            Володя
                                                                            01 августа 2017, 14:39
                                                                            0
                                                                            очевидно что то не так с pusher… Проверяйте настройки.
                                                                              Денис
                                                                              01 августа 2017, 14:45
                                                                              0
                                                                              Я все проверил уже три раза, и никак… Приложение пересоздал и ничего…

                                                                              Может посмотрите?)
                                                                                АндрейЧ
                                                                                18 сентября 2017, 19:10
                                                                                0
                                                                                Денис, как решили? Заработало?
                                                                                АндрейЧ
                                                                                18 сентября 2017, 19:53
                                                                                0
                                                                                Володя, у меня от юзера когда в форму пишешь — все нормально в онлайне обновляться начало.
                                                                                Приходят сообщения в ТГ — У вас новый чат /chatin_4606ed757541c318a2ba54b3310064a1

                                                                                Нажимаю на эту ссылочку, пишу ответ… Пока никак ответ пользователю не приходит в браузер…
                                                                                  Володя
                                                                                  18 сентября 2017, 20:41
                                                                                  0
                                                                                  скорее всего вы не авторизовались в чате как манагер… потому и нет ответа.
                                                                                  АндрейЧ
                                                                                  18 сентября 2017, 21:10
                                                                                  0
                                                                                  Пишу заметку на будущие)
                                                                                  В консоли Ошибка, хотя все настройки pusher и админки в норме.
                                                                                  code":4001,«message»:«Did you forget to specify the cluster when creating the Pusher instance? App key b3b1d2b6979bf7380ed6 does not exist in this cluster
                                                                                  При следующей последовательности получается починить… не всегда с первой попытки.

                                                                                  1. Делаю новый ключ в пушере, старый удаляю, новые данные вставляю в настройки, и… так через раз удается победить пушер.

                                                                                  Выключаю в настройках пушер и все — Ошибка исчезла, чат онлайн активно обновляется.

                                                                                  Но ответить юзеру не могу. Менеджеру бот присылает /chatin_c117e633f87772f0749ca83f3f4205f3
                                                                                  Ни на какие команды не реаригует. Может вебхук в консоли переустановить или что делать?
                                                                                  Бот не реагирует на /login_admin_000000 или /login_admin_mypass и другие команды, но чаты в него приходят.

                                                                                  Сейчас включаю в настройках пушер — опять эта же ошибка… Юзер пишет в чат — но ничего не проиходит

                                                                                  PS посоветуйте пожалуйста что-нить, где искать…
                                                                                    Володя
                                                                                    18 сентября 2017, 21:22
                                                                                    0
                                                                                    за все время существования этого пакета, писало около 25-30 чел. со схожими проблемами. Итог один — неверные настройки пушера, либо несоответствие данных настроек настройкам в админке.
                                                                                    Не думаю что ты исключение… потому если устал, отдохни, займись чем нибудь другим.
                                                                                    Затем попробуй заново и по порядку. ТЫ сможешь! Верь в себя!)
                                                                                      АндрейЧ
                                                                                      18 сентября 2017, 21:35
                                                                                      0
                                                                                      Спасибо, буду пробывать.
                                                                                      Не в настройках проблема. Может все таки что-то сохранилось в JS файл или еще куда-то?

                                                                                      Через ctrl+F видно 100%-ю идентичность КЕЙ АЙДИ и секрета пушера
                                                                                      т.е. на сайте пушера тоже самое что и в настройках.
                                                                                        АндрейЧ
                                                                                        18 сентября 2017, 23:14
                                                                                        0
                                                                                        Ну да. Переустановки с 10-ой заработало)
                                                                                        Кто следующий пробуйте включать и выключать компонент.
                                                                                        Удачного.
                                                                                  Andrei D.
                                                                                  02 сентября 2017, 15:25
                                                                                  0
                                                                                  Большое спасибо за компонент! <3
                                                                                    АндрейЧ
                                                                                    18 сентября 2017, 21:27
                                                                                    0
                                                                                    Ошибки при включенном пушере:

                                                                                    pusher.min.js?_=1505758845747:8 WebSocket connection to 'wss://ws.pusherapp.com/app/b5705d6329a36e922d13?protocol=7&client=js&version=3.2.4&flash=false' failed: Invalid frame header

                                                                                    Pusher: Error: {«type»:«WebSocketError»,«error»:{«type»:«PusherError»,«data»:{«code»:1006}}}

                                                                                    pusher.min.js?_=1505758845747:8 WebSocket connection to 'wss://ws.pusherapp.com/app/b5705d6329a36e922d13?protocol=7&client=js&version=3.2.4&flash=false' failed: Invalid frame header

                                                                                    (index):1 WebSocket connection to 'wss://ws.pusherapp.com/app/b5705d6329a36e922d13?protocol=7&client=js&version=3.2.4&flash=false' failed: WebSocket is closed before the connection is established.

                                                                                    pusher.min.js?_=1505758845747:8 Pusher: Error: {«type»:«WebSocketError»,«error»:{«type»:«PusherError»,«data»:{«code»:1006}}}

                                                                                    Pusher: Error: {«type»:«WebSocketError»,«error»:{«type»:«PusherError»,«data»:{«code»:4001,«message»:«Did you forget to specify the cluster when creating the Pusher instance? App key b5705d6329a36e922d13 does not exist in this cluster.»}}}

                                                                                    а когда выключаю — все ок, тока манагер все читает, но ответить не может.
                                                                                    в консоли только modTelegram > reconect
                                                                                      АндрейЧ
                                                                                      18 сентября 2017, 21:51
                                                                                      0
                                                                                      ps в настройках на сайте и на pusher com
                                                                                      какой вэбхук должен быть*
                                                                                      https://auto-grow.ru/assets/components/modtelegram/webhook.php
                                                                                      или

                                                                                      https://auto-grow.ru/assets/components/modtelegram/pusherhook.php
                                                                                        АндрейЧ
                                                                                        18 сентября 2017, 23:28
                                                                                        0
                                                                                        ps все работало по максимуму, я разлогинился в боте, теперь ни как не могу залогиниться… /login_admin_pass не помогает — ошибка входа что-только не делал
                                                                                          АндрейЧ
                                                                                          18 сентября 2017, 23:55
                                                                                          0
                                                                                          На любые команды — бот отвечает ошибка входа.
                                                                                          Не помню как в прошлый раз этот вопрос решился, тоже долго не мог залогиниться

                                                                                          /login_admin_mypass
                                                                                          /login_admin_000000
                                                                                          /login_admin@site.ru_000000

                                                                                          Как то он по хитрому работает
                                                                                            АндрейЧ
                                                                                            19 сентября 2017, 20:43
                                                                                            0
                                                                                            Очень долго не мог залогиниться.

                                                                                            сделал почту пользователя без @site.ru т.е. просто /login_user_pass
                                                                                            сделал в пушере и настройках auto-grow.ru/assets/components/modtelegram/webhook.php
                                                                                            С третьего вызова залогинился, больше выходить не буду ))

                                                                                            дело за малым, вернул в настройки /pusherhook.php и все должно заработать.
                                                                                            Получилось, почти работает — осталось онлайн обновление чата отладить.
                                                                                            Для этого один раз выключил и включил компомент…
                                                                                            Все хорошо работало — осталось чтобы бот на команду /chatin реагировал и мог ответить…

                                                                                            Далее снова бот не отвечает на команды. По кругу… далее заново устанавливаю компонент.
                                                                                            И опять… что-то из выше описанного.

                                                                                            ps все выше написанное — мои предположения, ошибки возможно.

                                                                                            Вот-так снова поставил веб-хук — снова заработало. Хм, пока все работает… Ну все слава… Обидно только что четкую зависимость не смог увидеть…
                                                                                            АндрейЧ
                                                                                            19 сентября 2017, 21:47
                                                                                            0
                                                                                            Вобщем он четко поработал немного, мин 15, потом пушер перестал онлайн обновлять-добавлять новые ответы.
                                                                                            Я в консоли код вэбхук выполнил, снова ноль активности в чате
                                                                                            заново пробую, и сейчас как бы все работает, только чате перезагружать надо, чтобы ответы менеджера видеть
                                                                                              АндрейЧ
                                                                                              20 сентября 2017, 21:27
                                                                                              0
                                                                                              Оч хороший плагин, работал норм… но не долго. Чтото на именно моем сайте вырубает этот плагинчик… Потом разбогатев вернусь к вопросу.
                                                                                              АндрейЧ
                                                                                              20 сентября 2017, 21:47
                                                                                              0
                                                                                              Извините за длинные посты. Просто эмоции. А приложение мне оч нравится )
                                                                                              Сейчас деинсталлировал компонент полностью. И как с первой попытки за 5 секунд установилось, работает… просто идеально.
                                                                                              Но в настройках пушер выключен, стоит «Нет» и вэбхука две строчки в консоли не вызывал. А работает на ура)
                                                                                              спасибо.
                                                                                                Олег
                                                                                                08 февраля 2018, 00:55
                                                                                                0
                                                                                                Подскажите, пожалуйста, как начать работу с данным компонентом? Где прописывать эти команды "/login_user_password" итд? В инструкции, к сожалению, совсем мало информации, и для людей, плотно не знакомых с особенностями Телеграм достаточно сложно разобраться. У меня при нажатии кнопки чата выдаёт сообщение, что нет доступных менеджеров. Я так понял, что пользователя админки надо как-то залогинить с помощью скрипта webhook.php, верно? При обращении к этому файлу в браузере постоянно выдаёт Access Denied, какие бы GET параметры я не прописывал (action=login, /action/login итд). Где можно более подробно почитать, как всё пошагово настроить? Вебхук я поставил, пушер зарегил, все настройки прописал. Ничего не работает.
                                                                                                  Олег
                                                                                                  08 февраля 2018, 01:50
                                                                                                  0
                                                                                                  Чат мне удалось запустить (параметры, оказывается, нужно было давать созданному боту через Телеграм-клиент). Но теперь другая проблема: чат на сайте не обновляется без перезагрузки страницы. Сообщения в Телеграм-клиент приходят, но ответы на сайте в чате не отображаются (собственные сообщения тоже), без перезагрузки страницы и повторного нажатия кнопки чата. В пушере создавал разные вебхуки (webhook.php, pusherhook.php). Не помогло. Читал, что проблема может крытся где угодно — в настройках скрипта (параметр кластера), в самом коде JS итд. Что делать — не понятно.
                                                                                                    NZ
                                                                                                    NZ
                                                                                                    03 мая 2018, 16:49
                                                                                                    1
                                                                                                    +1
                                                                                                    Не могли бы Вы поподробнее описать процесс авторизации менеджера через Телеграм-клиент? Который день бьюсь, а досупных менеджеров нет и нет.
                                                                                                    Олег
                                                                                                    11 февраля 2018, 15:13
                                                                                                    0
                                                                                                    Отключил Пушер в настройках компонента — всё заработало. Проблема, видимо, в реализации взаимодействия с Пушер, так как в самом Пушере все настройки совпадают с настройками компонента (кроме Кластера, настройка которого в компоненте отсутствует).
                                                                                                    Теперь у меня другой вопрос: как с помощью данного компонента вывести последние, например, 5 сообщений из группы или канала, в котором Бот является участником (или даже админом)? Нигде не нашёл такой информации, ни в АПИ, ни не форумах. Мне удалось сделать что-то подобное, создав другого бота (без webhook), и при запуске компонента из сниппета я подменяю токен (параметр «modtelegram_api_key») на токен бота без вебхука. Таким образом получаю обновления через метод «telegramGetUpdates()». Но в таком случае бот выводит даже те сообщения, которые он получает от абсолютно любого пользователя Телеграмма, а нужно только сообщения от членов группы. Поставил фильтр по «chat_id», но тогда возникает проблема с количеством принимаемых обновлений. Например, если последние 5 сообщений были от «левых» пользователей (команды, вроде "/start" итд.), то выводить на сайт нечего, а Оффсет обновлений сдвигается. Вот такие дела… Кто может подсказать?
                                                                                                    Ishvan
                                                                                                    16 июня 2018, 15:28
                                                                                                    0
                                                                                                    не хочет дополнение устанавливаться
                                                                                                    Консоль запущена...
                                                                                                    Пробуем установить пакет с подписью: modtelegram-1.0.16-beta
                                                                                                    Пакет найден... сейчас идёт подготовка к его установке.
                                                                                                    Загрузка рабочего пространства пакета...
                                                                                                    Рабочее пространство загружено, сейчас устанавливаем пакет...
                                                                                                    Skipping vehicle object of class modSystemSetting (data object exists and cannot be upgraded); criteria: Array ( [key] => modtelegram_api_url ) 
                                                                                                    Skipping vehicle object of class modSystemSetting (data object exists and cannot be upgraded); criteria: Array ( [key] => modtelegram_api_key ) 
                                                                                                    Skipping vehicle object of class modSystemSetting (data object exists and cannot be upgraded); criteria: Array ( [key] => modtelegram_web_hook_url ) 
                                                                                                    Skipping vehicle object of class modSystemSetting (data object exists and cannot be upgraded); criteria: Array ( [key] => modtelegram_web_hook_action ) 
                                                                                                    Skipping vehicle object of class modSystemSetting (data object exists and cannot be upgraded); criteria: Array ( [key] => modtelegram_action_password ) 
                                                                                                    Skipping vehicle object of class modSystemSetting (data object exists and cannot be upgraded); criteria: Array ( [key] => modtelegram_tpl_user_info ) 
                                                                                                    Skipping vehicle object of class modSystemSetting (data object exists and cannot be upgraded); criteria: Array ( [key] => modtelegram_pusher_active ) 
                                                                                                    Skipping vehicle object of class modSystemSetting (data object exists and cannot be upgraded); criteria: Array ( [key] => modtelegram_pusher_id ) 
                                                                                                    Skipping vehicle object of class modSystemSetting (data object exists and cannot be upgraded); criteria: Array ( [key] => modtelegram_pusher_key ) 
                                                                                                    Skipping vehicle object of class modSystemSetting (data object exists and cannot be upgraded); criteria: Array ( [key] => modtelegram_pusher_secret ) 
                                                                                                    Skipping vehicle object of class modSystemSetting (data object exists and cannot be upgraded); criteria: Array ( [key] => modtelegram_pusher_encrypted ) 
                                                                                                    Skipping vehicle object of class modUserGroup (data object exists and cannot be upgraded); criteria: Array ( [name] => Telegram Manager ) 
                                                                                                    Trying to download pusher. Please wait...
                                                                                                    pusher was successfully installed
                                                                                                    Trying to download eventsource. Please wait...
                                                                                                    eventsource was successfully installed
                                                                                                    Trying to download pusher. Please wait...
                                                                                                    pusher was successfully installed
                                                                                                    Trying to download eventsource. Please wait...
                                                                                                    eventsource was successfully installed
                                                                                                    Trying to download pusher. Please wait...
                                                                                                    pusher was successfully installed
                                                                                                    Trying to download eventsource. Please wait...
                                                                                                    eventsource was successfully installed
                                                                                                    Trying to download pusher. Please wait...
                                                                                                    pusher was successfully installed
                                                                                                    Trying to download eventsource. Please wait...
                                                                                                    eventsource was successfully installed
                                                                                                    Trying to download pusher. Please wait...
                                                                                                    pusher was successfully installed
                                                                                                    Trying to download eventsource. Please wait...
                                                                                                    eventsource was successfully installed
                                                                                                    Attempting to preserve files at /home/s12933/www/assets/components/modtelegram into archive /home/s12933/www/core/packages/modtelegram-1.0.16-beta/modCategory/a32beec5c14c104c2d87eeae8dd0adc6.0.preserved.zip
                                                                                                    Attempting to preserve files at /home/s12933/www/core/components/modtelegram into archive /home/s12933/www/core/packages/modtelegram-1.0.16-beta/modCategory/a32beec5c14c104c2d87eeae8dd0adc6.1.preserved.zip
                                                                                                    и на этом все…
                                                                                                      Володя
                                                                                                      17 июня 2018, 13:55
                                                                                                      0
                                                                                                      посмотрю как будет время.
                                                                                                      Версия modx, php?
                                                                                                        Ishvan
                                                                                                        24 июня 2018, 18:04
                                                                                                        0
                                                                                                          Василий Столейков
                                                                                                          25 июня 2018, 15:28
                                                                                                          0
                                                                                                          Та же самая проблема, и те же логи при установке.
                                                                                                          MODHOST: MODX 2.6.4-pl, PHP 7.0
                                                                                                            Василий Столейков
                                                                                                            25 июня 2018, 15:36
                                                                                                            0
                                                                                                            Эта ошибка на PHP 5.6 и 7.0
                                                                                                            В PHP 7.1 и 7.2 к этой ещё добавляется ошибка
                                                                                                            PHP notice: A non well formed numeric value encountered
                                                                                                            Видимо дело в последней версии MODX?
                                                                                                              Володя
                                                                                                              27 июня 2018, 11:54
                                                                                                              +1
                                                                                                              попробуй новую версию, должно быть все ок.
                                                                                                                Василий Столейков
                                                                                                                27 июня 2018, 13:09
                                                                                                                0
                                                                                                                Да, всё быстро установилось. Спасибо!
                                                                                                                  Володя
                                                                                                                  27 июня 2018, 14:56
                                                                                                                  0
                                                                                                                  пожалуйста!
                                                                                                                    АндрейЧ
                                                                                                                    29 октября 2018, 19:29
                                                                                                                    0
                                                                                                                    Помогите пожалуйста, все нормально настроено, вебхук подключен.
                                                                                                                    Не вижу реакции в чате на команды вида…
                                                                                                                    /login_admin_mypass
                                                                                                                    /login_admin_000000
                                                                                                                    /login_admin@site.ru_000000

                                                                                                                    Как правильно вводить то?
                                                                                                                      АндрейЧ
                                                                                                                      29 октября 2018, 19:49
                                                                                                                      0
                                                                                                                      Разобрался с логинами…
                                                                                                                      Как и раньше все работает — только при выключенном пушере.
                                                                                                                      Не знаю как настроить, помоему из-за этого медленно думает.

                                                                                                                      Кстати, старая проблема «чат не реагирует на команды» решается заменой адреса WebHook.php на и PusherHook.php в настройках компонента, с обязательно переподключением из консоли. И так несколько попыток пока не заработает.
                                                                                                                      И не помню, помоему пушер сначала включаю в настройках, подключаю в консоли, и отключаю пушер в настройках. И только так работает…
                                                                                                        АндрейЧ
                                                                                                        29 октября 2018, 20:01
                                                                                                        0
                                                                                                        Нормально что я этот адрес в настройках использую?
                                                                                                        auto-grow.ru/assets/components/modtelegram/webhook.php

                                                                                                        (у меня там оба файла лежат, webhook.php и pusherhook.php)
                                                                                                        pusherhook.php тоже подключается, но чат не работает.
                                                                                                          Artur Plugin
                                                                                                          26 марта 2019, 14:52
                                                                                                          0
                                                                                                          у меня есть компонент который посылает сообщения/файлы юзеру через телеграм бота без всяких вебхуков и пушеров, как письма по ид юзера вместо email адреса. Сюда залить не получилось да и правилами нельзя заливать похожее, на моем сайте качайте. подробная инструкция как это запустить там внутри. юзер просто запускает бота и дает свой ид, по нему ему через этого бота сервер посылает тексты/файлы.
                                                                                                            Андрей Степаненко
                                                                                                            18 апреля 2019, 12:09
                                                                                                            0
                                                                                                            Во время авторнизации пароль с верхним регистром не подходит.
                                                                                                            Тоесть пароль: DdsadDSAdd будет выглядеть ddsaddsass по этому пользователь не авторизуется в системе
                                                                                                              Андрей Степаненко
                                                                                                              18 апреля 2019, 12:15
                                                                                                              0
                                                                                                              Проблема в:
                                                                                                              prntscr.com/ndlhgb
                                                                                                              Преобразует в нижний регистр все буквы
                                                                                                                АндрейЧ
                                                                                                                18 мая 2019, 08:27
                                                                                                                0
                                                                                                                2 года нормально было все и перестал работать. Подскажите пожалуйста это из-за блокировок телеграма?
                                                                                                                После кнопки «Начать чат» ничего не происходит.
                                                                                                                  АндрейЧ
                                                                                                                  18 мая 2019, 08:29
                                                                                                                  0
                                                                                                                  Через минут 5 окно чата открывается, но сообщения с сайта не отправляются… Так и остаются в форме ввода текста. Но еще через 5 минут сообщения уходят в ленту чата но до телеграма не доходят.
                                                                                                                    АндрейЧ
                                                                                                                    18 мая 2019, 08:44
                                                                                                                    0
                                                                                                                    Хм и пушер все это время отключен был в настройках, проблем не было. А сейчас есть.
                                                                                                                      Володя
                                                                                                                      18 мая 2019, 08:47
                                                                                                                      0
                                                                                                                      на сайте разработки только что проверил — все работает.
                                                                                                                        АндрейЧ
                                                                                                                        18 мая 2019, 08:51
                                                                                                                        0
                                                                                                                        Спасибо за ответ! может срок действия ключа Пушера кончился, или еще что. Разбираюсь.
                                                                                                                          Володя
                                                                                                                          18 мая 2019, 08:56
                                                                                                                          0
                                                                                                                          если пушер отключен — то причем тут срок его действия?
                                                                                                                          ps. Не трогал на сайте разработки ничего с момента выпуска пакета — все так же работает, никаких действий с моей стороны не было.
                                                                                                                  АндрейЧ
                                                                                                                  18 мая 2019, 08:50
                                                                                                                  0
                                                                                                                  Подскажите плз как на кнопку «Начать чат» поставить другую ссылку ...?
                                                                                                                  АндрейЧ
                                                                                                                  18 мая 2019, 08:59
                                                                                                                  0
                                                                                                                  Спасибо большое. Очень помогли.
                                                                                                                    Игорь
                                                                                                                    02 июня 2019, 01:35
                                                                                                                    0
                                                                                                                    Замечательный плагин, но заставил помучаться Pusher.
                                                                                                                    Версия плагина 1.0.17-beta, версия modx revo 2.6.5, версия php 7.3.5
                                                                                                                    В итоге в файле assets/components/modtelegram/js/web/default.js на 336 строке
                                                                                                                    пришлось добавить в вызов конструктора Pusher дополнительные поля forceTLS и cluster, без них пушер говорил что мол ключ не найден. готовый вызов стал выглядеть так:
                                                                                                                    var pusher = new Pusher(modTelegramConfig.pusher.key, {
                                                                                                                     cluster: 'eu',
                                                                                                                     forceTLS: true,
                                                                                                                     encrypted: true
                                                                                                                     });
                                                                                                                    Так же пришлось добавить в файле core/components/modtelegram/model/modtelegram/modtelegram.class.php на 1381 строке в функции loadPusher эти же дополнительные параметры так, чтобы стало так:
                                                                                                                    $this->getOption('pusher_id', null),
                                                                                                                     array(
                                                                                                                      'encrypted' => (bool)$this->getOption('pusher_encrypted', null),
                                                                                                                      'cluster' => 'eu',
                                                                                                                      'useTLS' => true,
                                                                                                                      )
                                                                                                                    и после этого обновить версию modx до 2.6.5+
                                                                                                                    С первого раза сообщения не пошли, но сделал еще раз ключ — и все заработало.
                                                                                                                    Указание на необходимость наличия этих параметров подсмотрел в примере самого пушера.
                                                                                                                    Огромное спасибо автору!
                                                                                                                      Pavel
                                                                                                                      05 октября 2022, 01:29
                                                                                                                      0
                                                                                                                      Здравствуйте. Помогите, пожалуйста. Не могу понять в чем затык?

                                                                                                                      $modtelegram = $modx->getService('modtelegram');
                                                                                                                      $modtelegram->telegramSendMessage(array(
                                                                                                                      'chat_id' => '******',
                                                                                                                      'text' => 'Новый заказ',
                                                                                                                      ));

                                                                                                                      Запускаю из консоли все работает.
                                                                                                                      Создал плагин с событием msOnCreateOrder
                                                                                                                      при новом заказе ничего не происходит
                                                                                                                        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
                                                                                                                        131