Библиотека для удобной работы с Telegram Bot API от Сергея Предводителева, одного из разработчиков Yii3.
Полностью поддерживается самая актуальная на текущий момент версия Telegram Bot API 7.7 от 7 июля 2024 года.
Из коробки идёт PSR-клиент, но при желании, можно использовать свой, сделав реализацию интерфейса TelegramClientInterface.
// Telegram bot authentication token
$token = '110201543:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw';
// Dependencies
$streamFactory = new StreamFactory();
$responseFactory = new ResponseFactory();
$requestFactory = new RequestFactory();
$client = new Client($responseFactory, $streamFactory);
// API
$api = new TelegramBotApi(
new PsrTelegramClient(
$token,
$client,
$requestFactory,
$streamFactory,
),
);
Типизированные PHP-классы для всех типов и методов. Результатом вызова методов API будут соответствующие объекты. Например, в результате отправки сообщения получаем объект Message.
$message = $api->sendMessage(
chatId: 22351,
text: 'Hello, world!',
);
Update
можно создать из PSR-запроса или из JSON-строки:$update = Update::fromServerRequest($request);
$update = Update::fromJson($jsonString);
Для логирования запросов к API, результатов ответов и ошибок можно использовать любой PSR-совместимый логгер. Например, Monolog или Yii Log.
/**
* @var TelegramClientInterface $telegramClient
* @var LoggerInterface $logger
*/
$api = new TelegramBotApi(
$telegramClient,
$logger,
);
Пакет одобрен разработчиками Telegram и добавлен на сайт telegram.org.