Download the PHP package fsa/telegram-bot-api without Composer

On this page you can find all versions of the php package fsa/telegram-bot-api. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package telegram-bot-api

Обёртка для Telegram Bot API на PHP

Данная библиотека может использоваться для упрощения взаимодействия с Telegram Bot API - https://core.telegram.org/bots/api. С её помощью можно формировать запросы к API и передавать на сервер, а также поддерживает возможность использовать Webhook.

Данная обёртка может работать как в простых проектах на PHP, так и в составе фреймворков. При использовании библиотеки с фреймворком необходимо создать следующие сервисы (по мере необходимости):

  1. TelegramBotApi -- генератор объектов для запроса к API;
  2. TelegramBotQuery -- сервис по передаче запросов к API, для работы требуется composer пакет symfony/http-client;
  3. TelegramBotWebhook -- вспомогательный сервис для обработки Webhook.

Пример для Symfony, файл config/services.yaml:

Установка

Установите библиотеку с помощью composer:

Создание сообщения для запроса на сервер

Для создания запросов к Telegram используется класс TelegramBotApi, который содержит конструкторы методов объектов, необходимых для этого запроса.

Доступные через библиотеку методы API:

Создать нужный запрос можно с помощью класса TelegramBotApi вызвав соответствующий метод. Методы в качестве аргументов требуют соответствующие обязательные параметры для выбранного запроса. Для установки необязательных аргументов можно использовать цепочки методов, например:

Если в запросе необходимо прикрепить файл, то сделать это можно с помощью класса CURLFile, который можно создать, в том числе, через процедурный стиль:

Выполнение запросов на сервер

Для выполнения запросов на сервер используется http клиент Symfony. При необходимости можно задать для него дополнительные настройки, например, указать прокси. Запросы на сервер выполняются с помощью методов класса FSA\Telegram\TelegramBotQuery: httpGet(), httpPost() или httpPostJson(). При создании экземпляра класса ему необходимо передать токен доступа и, при необходимости, URL сервера, если не не пользуетесь своим локальным сервером вместо api.telegram.org.

Любой объект для методов API реализует интерфейс TelegramBotMethodInterface:

Методы, которые осуществляют отправку сообщений, также реализуют интерфейс TelegramBotSendMethodInterface, который, в дополнении к TelegramBotMethodInterface также предоставляет доступ к сессерам, которые присутствуют в любом методе с отправкой сообщения, например, setChatId() и другие.

Работа с WebHook

Использование TelegramBotWebhook не обязательно. Его можно использовать для хранения текущего Update, его декодирования и для проверки секретного токена.

Указывать значение SECRET необходимо, если вы хотите проверить заголовок X-Telegram-Bot-Api-Secret-Token в запросах от сервера.

Данные можно получить в сыром виде, в виде строки:

Получать данные запроса можно любое число раз. Оригинальный запрос сохраняется внутри класса.

Ответ на WebHook может быть получен с обычной JSON сериализацией метода API, например, можно отправить ответ в контроллере Symfony следующим образом:

Разбор ответа на сущности

Разбор ответа на сущности не является обязательным, но позволит не проводить проверку наличия определённых полей ответа, т.к. в случае их отсутствия в ответе будет получен null. Включить десериализацию ответов можно с помощью установки сериалайзера через TelegramBotQuery::setSerializer(). В качестве параметра требуется класс, реализующий Symfony\Component\Serializer\SerializerInterface, который можно найти в пакете symfony/serializer. После его установки все ответы на методы httpGet(), httpPost() или httpPostJson() будут десериализованы.

Разбор данных вебхука на сущности:

Также, можно просто использовать классы из пространства имён Entity в IDE для формирования подсказок без непосредственного их использования.


All versions of telegram-bot-api with dependencies

PHP Build Version
Package Version
Requires php Version ^8.2
ext-curl Version *
psr/log Version ^3.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package fsa/telegram-bot-api contains the following files

Loading the files please wait ....