Телеграм чат-бот на модуле PHP

Содержание:



В первой реализации чат-бота мы рассматривали вариант с использованием IF-модулей. В этой статье рассмотрим реализацию, состояющую из одного PHP-модуля и одного HTTP-модуля.


Если Вы еще не создали бота и не настроили работу вебхуков - выполните пункты с 1-го по 4-ый включительно из первой инструкции, далее мы перейдем сразу к созданию сценария.


1. Добавление 2 шага: PHP-модуль


Первым шагом у нас идет вебхук для получения сообщений из Телеграм-бота. Добавим второй шаг нажав "+" (1) - модуль PHP:


Телеграм чат-бот на модуле PHP


В поле "PHP код" вставим следующий код (для удобства можно нажать кнопку 3, развернув окно на весь экран):


$text = $s1['body']['message']['text']; // получаем текст, отправленный пользователем

if (
  (
     stripos($text, 'стои') !== false ||
             stripos($text, 'стоя') !== false ||
             stripos($text, 'цен') !== false
      ) && stripos($text, 'роз') !== false
) {
      $message = "Стоимость 1 розы: 100р./шт."; // если текст содержит ("стои" или "стоя" или "цен") и "роз", выводим сообщение о стоимости роз
} elseif (
      stripos($text, 'адрес') !== false ||
      stripos($text, 'находитесь') !== false ||
      stripos($text, 'нахождение') !== false ||
      stripos($text, 'добраться') !== false
) {
      $message = "Мы находимся по адресу: г. Москва, улица Прекрасная 100"; // если текст содержит "адрес" или "находитесь" или "нахождение" или "добраться", выводим сообщение с адресом
} else {
      $message = "Пожалуйста, позвоните нашему менеджеру: 8 800"; // сообщение, если не сработало ни одно из условий
}

return ['message' => $message];

После PHP-модуля добавляем HTTP-модуль для отправки ответа клиенту:


2. Добавление 3-го шага: HTTP-модуль


2.1. URL запроса (1):


https://api.telegram.org/bot{{ connection.body.bot_id }}/sendMessage

2.2. Метод (2): POST, тип данных application/json


2.3. Ключ / значение (3):


chat_id: {{ s1.body.message.chat.id }}
parse_mode: HTML
disable_web_page_preview: true
text: {{ s2.body.message }}

В последнем поле "text" указываем значение из шага, которое выдает PHP-модуль, то есть: {{ s2.body.message }}


2.4. Поля заголовков (4) оставляем пустыми


2.5. Выбираем подключение, созданное из инструкции в начале статьи.


Телеграм чат-бот на модуле PHP


После создания всех шагов - не забудьте включить сценарий (6):


Телеграм чат-бот на модуле PHP


Теперь можно тестировать!

Попробуйте бесплатно

При регистрации Вы бесплатно получаете 14 дней и 1.000 запусков сценариев:

Нажимая кнопку «Регистрация» Вы принимаете условия лицензионного соглашения и даете согласие на обработку своих персональных данных. Если у Вас уже есть аккаунт, войдите в систему. Сайт защищен технологией reCAPTCHA и к нему применяются Google политика конфиденциальности и условия использования.
  • Техподдержка

    Ответим на Ваши вопросы, подскажем по настройкам модулей.

  • Доступные тарифы

    От 1000р. в месяц за полный функционал без ограничений.

  • Безопасность

    Сервера расположены на территории РФ, а все подключения дополнительно шифруются.