Знакомимся с телеграм-ботам на PHP

Программирование

Опубликовал:Admin

Дата публикации:13.08.2024

233 0

Довольно часто нам поступают запросы на добавление в проект (чаще всего ecommerce направленности, интернет-магазины и т.д.) телеграм-бота. Основной функционал подобных ботов - это информирование клиентов о статусе заказа, обновлениях товаров, постулпении новинок и так далее. Разберемся, как просто и быстро реализовать этот функционал в связке PHP + Laravel.

Начнем с того, что вам нужно зарегистрировать своего бота. Делаем это у@BotFather (бот в телеграм), следуя простой инструкции. На выходе вы получите token, сохраните его, он будет нужен нам для управления нашим ботом.

Далее - находим библиотекуtelegram-bot-sdk на github-е и устанавливаем ее

composer require irazasyed/telegram-bot-sdk

Более подробная инструкция по установке и настройке есть в документации, мы же перейдем сразу к следующему шагу.

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

https://api.telegram.org/botВАШ_ТОКЕН/setwebhook?url=https://ВАШ_АДРЕС_ВЕБХУКА

и все, вы получите в ответ json, который сообщит, что вебхук для вашего бота настроен и теперь он умеет "общаться" с сайтом и давать обратную связь в зависимости от действия пользователя.

Но вернемся к отправке сообщений. После установки расширения выше, вам остается написать всего пару строк кода, а именно:

$response = \Telegram::sendMessage([
    'chat_id' => $chat,
    'text' => $message,
    'parse_mode' => 'HTML',
]);

где $chat - это ID пользователя в телеграм, которому вы хотите отправить сообщение (отмечу, именно ID, числовой, не номер телефона или логин, это вызвано политикой борьбы со спамом), а $message - текст сообщения, поддерживающий HTML-тэги.

Все, ваше сообщение ушло. Но здесь кроется одно "НО". В целях борьбы со спамом политика телеграм запрещает не только отправлять сообщения по номеру телефона или логину, но и отправлять сообщения пользователям, которые не начали взаимодействие с ботом. Поэтому чтобы ваше сообщение дошло - адрес предварительно должен найти вашего бота (по логину, который вы задали в самом начале), и начать с ним взаимодейстий.

Коментарии (0)

Интересные
материалы

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

С января 2024 года в силу вступил обновлённый стандарт подготовки спортивных программистов, включающий требования к физподготовке. Этот инновационный подход, сочетающий умственные задачи и физические упражнения, ставит акцент на в...

Читать дальше
Программирование Получаем электронную почту на PHP за 5 минут
Получаем электронную почту на PHP за 5 минут

В процессе разработки, особенно если речь идет о crm, erp или системах документооборота - зачастую стоит задача получать и обрабатывать электронную почту. В этой статье мы расскажем, как это можно сделать буквально в 10 строчек.

Читать дальше
Программирование Интеграция iiko - курс молодого бойца
Интеграция iiko - курс молодого бойца

О том, что нужно знать и с чего начать интеграцию iiko и вашего сайта или приложения.

Читать дальше