Download the PHP package phenogram/bindings without Composer
On this page you can find all versions of the php package phenogram/bindings. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download phenogram/bindings
More information about phenogram/bindings
Files in phenogram/bindings
Package bindings
Short Description Low level type-safe PHP bindings for the Telegram Bot API
License MIT
Informations about the package bindings
🇬🇧 ENGLISH | 🇷🇺 РУССКИЙ
PHP типы для Telegram Bot API
Строго типизированные PHP классы для Telegram Bot API, основанные на официальной документации, для использования в Фреймворке Phenogram
В основном сгенерированы с помощью scrapper
Работа всё ещё в процессе, и не каждый класс протестирован или использовался. Если вы обнаружите какие-либо несоответствия с документацией, не стесняйтесь создать ишью. Всё, что не описано в документации, выходит за рамки этого проекта.
Текущая поддерживаемая версия Telegram bot API - v7.10
Установка
Использование
Сериализатор
Пример использования можно увидеть в классе Api.
Вот простой пример:
Его также можно использовать для десериализации запросов Telegram в типизированные PHP-классы.
Единственное не совсем очевидное - вам нужно передать JSON-закодированную строку
из поля result
запроса Telegram, а не весь запрос.
Использование API
Клиент
Чтобы использовать API, вам сначала нужно реализовать интерфейс ClientInterface,
в котором есть только один метод - sendRequest
.
Обратите особое внимание на обработку InputFile. Вы можете пропустить эту часть и просто преобразовать запрос в json, если нет необходимости отправлять файлы, но это вызовет ужасное исключение, если вы действительно попытаетесь отправить файл.
Реализация клиента выходит за рамки этого проекта, но вы можете посмотреть пример реализации с amphp/http-client в Фреймворке Phenogram
Самая базовая реализация с использованием ext-curl может выглядеть так:
Можете посмотреть его в действии в тестах)
Но я, конечно, рекомендую использовать какую-нибудь библиотеку, например Guzzle или amphp/http-client.
Выполнение запросов
Всё ещё work in progress
Также нужно придумать возвращаемый из Api::doRequest тип с помощью шаблонов, но пока не уверен, как это сделать и phpstan побеждает.
Заключение
Это просто SDK для вашего Telegram-бота, а не полноценный фреймворк, вы можете использовать его как есть или расширить для своих нужд.
Если вам нужен фреймворк, посмотрите на Phenogram