1500
Установка и настройка
установка и настройка продавцом в рамках действующего функционала
В корзину

С помощью данного дополнения вы сможете создать telegram бота для своего сайта, который сможет вести диалог с вашими пользователями , оповещать их о сообщениях / уведомлениях на сайте, а так же отправлять realtime оповещения выбранным пользователям о каких-либо событиях на сайте.

Важно! Я тестировал бота на 3ех разных хостингах и нигде запросы к телеграм не блокируются, как я понял это делают только "домашние" провайдеры. В любом случае я не несу никакой ответственности если вдруг ваш хостинг провайдер по какой-то причине заблокирует доступ к телеграм и бот из-за этого перестанет работать.

 

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

Для создание бота напишите в telegram @BotFather сообщение /newbot и следуйте инструкциям. После создания бота вам предоставят Token, который вы должны вставить на странице:

WP-Recall -> Настройки -> Rcl Telegram

Там же укажите в поле WebHook secret рандомную комбинацию символов и нажмите OK

 

Регистрация пользователя

На данный момент пользоваться ботом смогут только пользователи, которые будут иметь аккаунт на вашем сайте. В личном кабинете, на вкладке "Профиль" появится новая опция "привязать telegram" где будет описана процедура регистрации у бота:

 

После регистрации телеграм аккаунт пользователя будет связан с аккаунтом на сайте и он сможет пользоваться командами вашего бота:

 

 

Создание команд

Новые команды создаются в админке, на странице Telegram -> Команды бота

Процесс наполнения бота командами я постарался сделать максимально простым и понятным и на данный момент он выглядит так:

  1. Вы указываете команду, на которую будет реакция бота
  2. Вы указываете ответ - сообщение которое отправит бот пользователю
    • В ответе вы можете использовать шаблоны, которые будут заменены на соотв. значения, например:
      • {notifi} - будет заменено на кол-во текущих уведомлений пользователя
      • {balance} - на баланс пользователя
      • {online} - на текущий онлайн пользователей на сайте
      • и т.д.
  3. При необходимости вы можете прикрепить к ответу кнопки - при нажатии на каждую можно указать свою команду, таким образом можно вести диалог с пользователем без необходимости набирать сообщения

Этого вполне достаточно для создание простого бота. Но если вам нужно больше - то можете использовать доп. настройки:

  1. Remove parent - если поставить галочку, то сообщение в котором кликнули по кнопке с данном командой будет удалено:
    • Это используется в команде /unreg - при ее использовании появляется сообщение которое просит подтвердить или отменить отвязку аккаунта telegram. К этому сообщению привязаны 2 кнопки с командами /unreg0 - ответа и /unreg1 - подтверждение. Вот у этих кнопок и выбран параметр Remove parent - после клика по ним сообщение с подтверждением отвязки будет удалено.
  2. callback - название функции, которая будет вызвана при получении ботом указанной команды. Функция принимает 1 параметр - объект Telegram_Msg
  3. await callback - название функции, которая будет вызвана при получении ответа на вашу команду. Функция принимает 1 параметр - объект Telegram_Msg.  Должна возвращать true - если ответ пользователя корректный и false - если вы ожидали другой ответ.
    • Пример: Добавляет команду /setname и указываем у нее await callback - функцию которая обработает сообщение пользователя после этой команды. Мы ожидаем что это сообщение - новое имя юзера. Если все прошло ок - возвращаем true больше функция не будет вызываться. Если что-то пошло не так (некорректное имя) то возвращаем false и ожидаем новых данных от пользователя.

 

Объект Telegram_Msg

В callback и await callback функции передается 1 параметр: объект Telegram_Msg с помощью которого вы можете отправить сообщение юзеру и получить данные сообщения.

Доступные методы:

$Telegram_Msg ->

getUserId() - возвращает id пользователя на сайте, от которого получено сообщение в телеграм

isCallback() - возвращает true - если это сообщение получено в результате клика по кнопке

getText() - возвращает текст сообщения

getMessage() - возвращает полные данные сообщения, которые получены от telegram

isBotCommand() - возвращает true если полученное сообщение - команда бота

getBotCommand() - возвращает полученную команду бота

reply() - позволяет отправить ответ пользователю

Например:

$telegram_msg->reply(array(text=>'Текст ответного сообщения'))

 

Массовые уведомления

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

На странице настроек WP-Recall -> Настройки -> Rcl Telegram вы можете выбрать как часто будет происходить рассылка: раз в день, 2 раза вдень, каждые 6, 3, 1 часов.

А на странице Telegram->Массовые уведомления вы сможете настроить текст этих уведомлений и при необходимости вкл / выкл их.

Realtime уведомления

Еще бот может отправлять оповещения о каких-либо действиях выбранным пользователям в реальном времени, т.е. в момент события, а не по крону как "Массовые уведомления".

Из-за того что уведомления отправляются в реальном времени, я сделал возможность указать id пользователей которым будут доступны realtime уведомления - можете указать туда себя или модераторов / других админов - тем кому важно узнавать о событиях на сайте как можно быстрее.

Доступные на данный момент типы realtime уведомления:

Новое уведомление - когда у юзера, который указан в блоке придет уведомление - он получит оповещение в telegram с темой уведомления и ссылкой на страницу уведомлений

Новое сообщение - когда юзеру, который указан в блоке придет новое приватное сообщение - он получит оповещение в telegram с ссылкой на страницу сообщений

Новая запись ожидает утверждения - когда на сайте появится новая запись на утверждении, всем пользователям которые указаны в блоке придет оповещение в telegram с заголовком записи и ссылкой на нее

Опубликована новая запись - когда на сайте появится новая запись, всем пользователям которые указаны в блоке придет оповещение в telegram с заголовком записи и ссылкой на нее

Создан новый заказ - когда на сайте появится новый заказ (Rcl Commerce), всем пользователям которые указаны в блоке придет оповещение в telegram с суммой заказа и ссылкой на страницу заказов

 

Почему realtime уведомления не для всех?

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

 

Стандартная. Выбрать архив с дополнением и нажать "Установить". Или ручками поместить папку дополнения в /wp-content/wp-recall/add-on/

1.4.3

* Поле вывода информации для привязки аккаунта перенесено в менеджер полей
* Теперь поле должно появляться в допе profile types manager
* Внимание! Что бы поле отобразилось после обновления - зайдите в менеджер полей профиля, перенесите поле из неактивных в нужное место и сохраните настройки!

1.4.2

* Исправлена ошибка когда могли не отправляться RealTime уведомления

1.4

* Добавлена поддержка recall 16.22+
* Исправлена пара мелких багов при создании комманд для бота

1.3

* Добавлена очистка сохраненных чатов при удалении дополнения, это позволит сбросить все авторизации в telegram при удалении дополнения через админку

1.2

* Теперь бот может оповещать выбранных пользователей о каких-либо действиях на сайте в режиме реального времени

1.1

* Теперь бот может оповещать пользователей о наличии новых уведомлений и сообщений на сайте

1.0

* Релиз

Условия поддержки: В рамках функционала
Контактные данные: Личные сообщения
Авторство: Товар опубликован его непосредственным автором
5
Форум поддержки : При возникновении проблемы, создайте соответствующую тему на форуме поддержки товара
Помните! Данный продукт защищён авторским правом, его нарушение влечёт за собой административную и уголовную ответственность.

Автор публикации

не в сети 2 дня

Preci

1 493
Telegram: https://t.me/preci_123
Комментарии: 495Публикации: 83Регистрация: 11-11-2014Продаж/Покупок: 7917/131