Довольно часто нам поступают запросы на добавление в проект (чаще всего 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-тэги.
Все, ваше сообщение ушло. Но здесь кроется одно "НО". В целях борьбы со спамом политика телеграм запрещает не только отправлять сообщения по номеру телефона или логину, но и отправлять сообщения пользователям, которые не начали взаимодействие с ботом. Поэтому чтобы ваше сообщение дошло - адрес предварительно должен найти вашего бота (по логину, который вы задали в самом начале), и начать с ним взаимодейстий.
С января 2024 года в силу вступил обновлённый стандарт подготовки спортивных программистов, включающий требования к физподготовке. Этот инновационный подход, сочетающий умственные задачи и физические упражнения, ставит акцент на в...
Читать дальшеВ процессе разработки, особенно если речь идет о crm, erp или системах документооборота - зачастую стоит задача получать и обрабатывать электронную почту. В этой статье мы расскажем, как это можно сделать буквально в 10 строчек.
Читать дальшеО том, что нужно знать и с чего начать интеграцию iiko и вашего сайта или приложения.
Читать дальше
Коментарии (0)