• Июнь 2, 2017

Настраиваем уведомления о лидах в чат-бот Telegram

От создания до настройки

Пошаговая инструкция

Для оповещение о заявках традиционно используются email и смс. Но email не всегда можно отреагировать оперативно, а за смс надо платить, контролировать баланс на аккаунте сервиса. Удобной альтернативой может послужить чат-бот Telegram.

В данной статье я расскажу об одном из возможных вариантов его настройки. Она состоит из двух этапов — создания чат-бота и отправки массива данных в бота для отображения уведомлений.

Как создать чат-бот Telegram

  1. В поиске телеграмма набираем botfather:

    чат-бот Telegram

  2. Поочередно отправляем ему 3 сообщения:

    • 1 — /newbot
    • 2 — название бота, которое вы будете видеть (можно на русском) (Тестовый бот)
    • 3 — название бота, по которому его можно будет найти в поиске. Обязательно, чтобы название заканчивалось на _bot (test_zolle_bot)

    чат-бот Telegram

  3. Из последнего сообщения, которым ответил нам botFather, необходимо скопировать token.

  4. Ищем нашего бота:

    чат-бот Telegram

  5. Жмем старт:

    чат-бот Telegram

  6. На этом первый этап окончен. Бот готов принимать данные и транслировать их списку получателей (о том как попасть в этот список я расскажу далее).

Доводим чат-бот до рабочего состояния

Пришло время научиться отправлять данные о лидах в бота и добавлять список получателей.

  1. Для того, чтобы отправить в бота массив данных с номером телефона лида из формы на сайте, необходимо понимать, как сейчас происходит отправка данных на email. Самые распространенные способы — через AJAX и через <form action=»login.php» method=»POST» > (то есть напрямую из html).

    Приведу пример на AJAX.

    Нужно найти js скрипт, который выполняет обработку отправки формы (как правило он находится в папке /js). Необходимую часть кода можно найти по слову “submit” . Видим, что в 172 строчке формируется массив data, который содержит в себе все данные из формы:

    чат-бот Telegram

    Наша задача — после того, как переменная data (она может называться по другому) сформирована, вызывать функцию Telegram и отправить в неё данные из переменной data (то есть просто написать Telegram(data). И в любом месте скрипта описать саму функцию (лучше в конце, чтобы не запутаться):

    function Telegram(data) {

    $.ajax({

    type: «POST»,

    url: «js/telegram.php», //тут пишем актуальный адрес куда кладем telegram.php (о нем далее)

    data: data,

    success: function() {}

    });

    }

    чат-бот Telegram

  2. Создайте файл telegram.php

    <?php file_put_contents(‘telgram-log.txt’, ‘Data: ‘ . var_export($_POST, true));  — логируем массив данных, который приходит в скрипт:

    $ltype = $_POST[‘ltype’];

    $phone = $_POST[‘phone’];

    $token = ‘ТОКЕН‘;  //в данном случае ТОКЕН надо заменить на  369562793:AAHU4vvagfvEoQ0MUOTXr2XjhYKDyTp4qBE

    $chat_id_list = array( //ID тех, кому шлем сообщения. Последний элемент БЕЗ ЗАПЯТОЙ

    ‘XXXXX’, // первый получатель

    ‘XXXXX’           //второй получатель

    );  //чтобы найти id нового пользователя надо перейти по ссылке https://api.telegram.org/botТОКЕН/getUpdates дать пользователю ссылку на бота, он нажмет старт, обнови страницу https://api.telegram.org/botТОКЕН/getUpdates  и в открывшемся окне ты увидишь его id

    for ($i=0; $i < 2 ; $i++) { // $i < X, где X = количеству пользователей, которым будут отсылаться уведомления.

    $chat_id = $chat_id_list[$i];

    $url = ‘https://api.telegram.org/bot’ . $token . ‘/sendMessage?chat_id=’ . $chat_id . «&text=» . $phone . «: » . $ltype; //Отсылаем телефон и тип формы

    //file_put_contents(‘telega-log-url.txt’, ‘Data: ‘ . var_export($url, true));

    $result = file_get_contents($url, false, stream_context_create(array(

    ‘http’ => array(

    ‘method’  => ‘POST’,

    ‘header’  => ‘Content-type: application/x-www-form-urlencoded’,

    ‘content’ => http_build_query(«1»)

    )

    )));

    }

    ?>

    telegram-log.txt в нашем случае выглядит =

    Array

    [ltype] => Заказать консультацию

    [phone] => +7 (111) 111-11-11

    )

    Сам файл telegram.php необходимо загрузить на хостинг в папку, где лежат скрипты php, и прописать правильный адрес к нему в функции Telegram.

    Помимо типа формы (ltype) и телефона можно передавать и другие параметры (utm-метки, например). Для этого достаточно описать необходимые переменные и дописать их через точку в переменную $url.

    Например:

    $utm_source  = $_POST[‘utm_source’]; //(в начале скрипта)

    $url = ‘https://api.telegram.org/bot’ . $token . ‘/sendMessage?chat_id=’ . $chat_id . «&text=» . $phone . «: » . $ltype . “: “ . $utm_source;


Если у Вас остались вопросы по чат-боту Telegram — задавайте их в комментариях, и я обязательно на них отвечу.

Успешной настройки!



Статьи в тему