Владимир Фетисов

Прототипирование

Адаптивная вёрстка

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

SEO продвижение

Реклама, таргет

UX/UI интерфейсы


СКРЫТЬ

ПОКАЗАТЬ
Владимир Фетисов

Прототипирование

Адаптивная вёрстка

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

SEO продвижение

Реклама, таргет

UX/UI интерфейсы

Блог

PHP Telegram bot + Laravel разработка с нуля `Урок – 4`

PHP Telegram bot + Laravel разработка с нуля `Урок – 4`

Статья на ЯндексДзен, подписывайтесь!

В этом уроке мы установим туннель на наш локальный домен при помощи Ngrok, подключим в проект telegram-bot-sdk для удобного работы с API

Установка и настройка Ngrok

Ngrok позволяет получить временный домен с SSL сертификатом, это позволит быстро поделиться проектом с вашими друзьями, при этом работать он будет локально на вашем компьютере.

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

Первым делом заходим на официальный сайт, создаем новый аккаунт и логинимся.

Затем скачиваем и распаковываем в любое удобно место

Где скачать Ngrok
Где скачать Ngrok

Запускаем файл и у нас открывается консоль

Консоль ngrok после запуска ngrok.exe
Консоль ngrok после запуска ngrok.exe

В ней нужно первым делом залогиниться в свой аккаунт Ngrok, команда для этого указана на сайте, копируем, вставляем и жмём Enter

Какую команду вставлять первой в консоль ngrok
Какую команду вставлять первой в консоль ngrok

Он сообщает что токен сохранен
Он сообщает что токен сохранен

Теперь нужно запустить ngrok, он нам нужен на дефолтном 80 порту, поэтому вводим там же команду ngrok http 80

Запускаем -  ngrok http 80
Запускаем – ngrok http 80

Мы получаем 2 адреса

  1. Это утилита для отслеживания всех реквестов, там отображаются все запросы, поступившие на второй адрес, тут мы сможем отслеживать вебхуки из телеграма и смотреть что в них пришло
  2. Это внешний url, зайдя на него мы должны увидеть наш локальный проект (сейчас пока не работает, см. далее)

Теперь нам нужно запустить OpenServer, зайти в Настройки->Алиасы и создать новый. В исходный домен записываем *.ngrok.io, в конечном выбираем наш локальный домен для бота, жмём добавить и сохранить, после чего OpenServer будет перезапущен

Добавление алиаса в OpenServer для работы с Ngrok
Добавление алиаса в OpenServer для работы с Ngrok

Тепреь если вы зайдете на выданный внешний url – вы должны увидеть ваш локально запущенный проект. Значит все работает отлично!

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

Так же в инспекторе ngrok должны отобразиться ваши запросы к серверу

Ngrok Inpector
Ngrok Inpector

Установка telegram-bot-sdk

В первом уроке мы устанавливали Composer, теперь добавим новую библиотеку для работы с Telegram API

Composer – это пакетный менеджер, как NPM для Javascript. При помощи него можно легко добавить новые пакеты, библиотеки в проект для дальнейшего использования.
Библиотки можно посмотреть на сайте Packagist

Все зависимости сохраняются в файле composer.json, он уже есть в нашем проекте, ведь Laravel мы тоже устанавливали через Composer.

Сейчас не будем заострять на этом внимание, а перейдем к подключению библиотеки.

Полное название пакета irazasyed/telegram-bot-sdk

Этот проект есть на Github, а также у него есть свой сайт с примерами и документацией, которая на мой взгляд ведется не очень)

Первым делом зайдем на сайт Packagist и найдем что нам нужно, ну или вот прямая ссылка.

Поиск библиотеки на сайте https://packagist.org/
Поиск библиотеки на сайте https://packagist.org/

Зайдя в библиотеку мы можем увидеть требования, актуальную версию и прочую информацию

irazasyed/telegram-bot-sdk
irazasyed/telegram-bot-sdk

Зная полное название библиотеки, а так же актуальную версию фактически у нас есть команда для её подключения, а именно
composer require irazasyed/telegram-bot-sdk ^3.9

Запустим команду в консоле из папки проекта или в консоле PhpStorm, после чего изменятся все необходимые зависимости и сразу увидим что произошли изменения в файлах composer.json и composer.lock

composer require irazasyed/telegram-bot-sdk ^3.9
composer require irazasyed/telegram-bot-sdk ^3.9

Зайдя в файл composer.json можно увидить измененную строчку, там добавилась новая зависимость. В принципе её можно прописать и в ручную, но лучше делать все через Composer, что бы не ошибиться.

изменения в файле composer.json
изменения в файле composer.json

На этом пока все, в следующем уроке наконец создадим своего бота и подключим его в наш проект!

А пока можно добавить изменившиеся файлы в git, сделать commit и запшушить на GitHub.

Ссылка на commit из урока 4

Полезные ссылки

Taggs:
Написать комментарий