Прежде чем приступать к разработке Telegram бота на PHP нужно провести ряд подготовительных мероприятий:
- Зарегистрировать аккаунт на хостинге.
- Зарегистрировать доменное имя.
- Подключить SSL-сертификат (можно даже бесплатный «Let’s Encrypt»).
- Изучить документацию по Telegram Bot API.
Ни и конечно же вы просто обязаны знать, что такое API и как происходит взаимодействие с приложениями через API.
Термины
API (Application Programming Interface) – это набор способов и правил взаимодействия одной компьютерной программы с другими программами. Используя API, можно использовать функции одного приложения внутри другого.
Метод API – это действие, которое выполняет приложение, исходя из того, какие данные оно получило: отправка сообщения, отправка картинки, отправка видео, возврат списка чатов и т.д.
API запрос – это способ взаимодействия с программой посредством отправки данных от клиента серверу.
Hooks (Хуки) – это способ взаимодействия с программой посредством отправки данных от сервера клиенту (действие противоположное API запросу). То есть, когда в программе происходят определённые изменения, то сервер (приложение) отправляет данные на указанный скрипт клиента.
Token (токен) – это зашифрованная последовательность символов, которая позволяет точно идентифицировать объект и определить уровень его привилегий.
В Telegram, токен – это уникальный ключ, который предоставляет доступ к HTTP API бота.
Документация
При создании Telegram бота, мы постоянно будем обращаться к документации по Telegram Bot API https://core.tlgr.org/bots/api, которая имеет несколько разделов:
- Recent changes (Недавние изменения). Здесь вы найдёте информацию об обновлениях Telegram, описание версий и нововведения которые были внесены в функционал мессенджера.
- Authorizing your bot (Авторизация вашего бота) и Making requests (Делать запросы). Здесь описываются способы авторизации ботов и способы создания запросов для взаимодействия с ботами.
- Getting updates (Получение обновлений). В этом разделе описываются способы получения обновлений взаимодействия с ботами, и правила настройки хуков. Существует два взаимоисключающих способа получения обновлений для вашего бота – метод getUpdates, с одной стороны, и веб-перехватчики, с другой. Входящие обновления хранятся на сервере до тех пор, пока бот не получит их. Но они не будут храниться дольше 24 часов.
- Available types (Доступные типы). Здесь описываются все типы данных, используемые в ответах Bot API. Эти типы представлены в виде JSON-объектов.
- Available methods (Доступные методы). Здесь описаны методы для взаимодействия с ботом. Следует отметить, что все методы в Bot API нечувствительны к регистру. Поддерживаются HTTP-методы GET и POST. Для передачи параметров в запросах Bot API нужно использовать либо строку запроса URL, либо application/json, либо application/x-www-form-urlencoded, либо multipart/form-data. При успешном вызове будет возвращен JSON-объект, содержащий результат.
