PHP Telegram bot + Laravel разработка с нуля `Урок – 4`
Статья на ЯндексДзен, подписывайтесь!
В этом уроке мы установим туннель на наш локальный домен при помощи Ngrok, подключим в проект telegram-bot-sdk для удобного работы с API
Установка и настройка Ngrok
Ngrok позволяет получить временный домен с SSL сертификатом, это позволит быстро поделиться проектом с вашими друзьями, при этом работать он будет локально на вашем компьютере.
Для нас самое полезное будет то, что без лишних заморочек мы получим адрес для нашего будущего телеграм бота, куда он будет присылать вебхуки, а Ngrok будет перенаправлять их на наш локальный сервер, что бы мы могли с ними взаимодействовать.
Первым делом заходим на официальный сайт, создаем новый аккаунт и логинимся.
Затем скачиваем и распаковываем в любое удобно место
Запускаем файл и у нас открывается консоль
В ней нужно первым делом залогиниться в свой аккаунт Ngrok, команда для этого указана на сайте, копируем, вставляем и жмём Enter
Теперь нужно запустить ngrok, он нам нужен на дефолтном 80 порту, поэтому вводим там же команду ngrok http 80
Мы получаем 2 адреса
- Это утилита для отслеживания всех реквестов, там отображаются все запросы, поступившие на второй адрес, тут мы сможем отслеживать вебхуки из телеграма и смотреть что в них пришло
- Это внешний url, зайдя на него мы должны увидеть наш локальный проект (сейчас пока не работает, см. далее)
Теперь нам нужно запустить OpenServer, зайти в Настройки->Алиасы и создать новый. В исходный домен записываем *.ngrok.io, в конечном выбираем наш локальный домен для бота, жмём добавить и сохранить, после чего OpenServer будет перезапущен
Тепреь если вы зайдете на выданный внешний url – вы должны увидеть ваш локально запущенный проект. Значит все работает отлично!
Так же в инспекторе ngrok должны отобразиться ваши запросы к серверу
Установка telegram-bot-sdk
В первом уроке мы устанавливали Composer, теперь добавим новую библиотеку для работы с Telegram API
Composer – это пакетный менеджер, как NPM для Javascript. При помощи него можно легко добавить новые пакеты, библиотеки в проект для дальнейшего использования.
Библиотки можно посмотреть на сайте Packagist
Все зависимости сохраняются в файле composer.json, он уже есть в нашем проекте, ведь Laravel мы тоже устанавливали через Composer.
Сейчас не будем заострять на этом внимание, а перейдем к подключению библиотеки.
Полное название пакета irazasyed/telegram-bot-sdk
Этот проект есть на Github, а также у него есть свой сайт с примерами и документацией, которая на мой взгляд ведется не очень)
Первым делом зайдем на сайт Packagist и найдем что нам нужно, ну или вот прямая ссылка.
Зайдя в библиотеку мы можем увидеть требования, актуальную версию и прочую информацию
Зная полное название библиотеки, а так же актуальную версию фактически у нас есть команда для её подключения, а именно
composer require irazasyed/telegram-bot-sdk ^3.9
Запустим команду в консоле из папки проекта или в консоле PhpStorm, после чего изменятся все необходимые зависимости и сразу увидим что произошли изменения в файлах composer.json и composer.lock
Зайдя в файл composer.json можно увидить измененную строчку, там добавилась новая зависимость. В принципе её можно прописать и в ручную, но лучше делать все через Composer, что бы не ошибиться.
На этом пока все, в следующем уроке наконец создадим своего бота и подключим его в наш проект!
А пока можно добавить изменившиеся файлы в git, сделать commit и запшушить на GitHub.