vjik / telegram-bot-api
用于操作Telegram API的PHP库
0.4.3
2024-09-06 18:09 UTC
Requires
- php: ^8.2
- php-http/multipart-stream-builder: ^1.4.2
- psr/http-client: ^1.0
- psr/http-factory: ^1.1
- psr/http-message: ^1.1|^2.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.59
- httpsoft/http-message: ^1.1
- maglnet/composer-require-checker: ^4.11
- php-http/curl-client: ^2.3
- phpunit/phpunit: ^10.5
- psr/log: ^3.0
- roave/infection-static-analysis-plugin: ^1.35
- vimeo/psalm: ^5.25
- yiisoft/test-support: ^3.0
Suggests
- psr/log: To log requests to Telegram Bot API and response handling errors.
This package is auto-updated.
Last update: 2024-09-06 18:10:59 UTC
README
该软件包提供了一种简单便捷的方式与Telegram Bot API交互。
✔️ Telegram Bot API 7.10(2024年9月6日)完全支持。
要求
- PHP 8.2或更高版本。
安装
该软件包可以使用 Composer 安装
composer require vjik/telegram-bot-api
通用用法
要向Telegram Bot API发送请求,您需要创建一个包含 TelegramClientInterface
实现的实例的 TelegramBotApi
类。该软件包提供了基于 PSR-18 HTTP客户端和 PSR-17 HTTP工厂的 PsrTelegramClient
。
例如,您可以使用 php-http/curl-client 和 httpsoft/http-message
composer require php-http/curl-client httpsoft/http-message
在这种情况下,创建 TelegramBotApi
实例的方法如下
use Http\Client\Curl\Client; use HttpSoft\Message\RequestFactory; use HttpSoft\Message\ResponseFactory; use HttpSoft\Message\StreamFactory; use Vjik\TelegramBot\Api\Client\PsrTelegramClient; use Vjik\TelegramBot\Api\TelegramBotApi; // 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, ), );
现在您可以使用 $api
实例与Telegram Bot API交互。方法名称与 Telegram Bot API文档 中的一致。例如
use Vjik\TelegramBot\Api\Type\InputFile // Specify a URL for outgoing webhook $api->setWebhook('https://example.com/webhook'); // Send text message $api->sendMessage( chatId: 22351, text: 'Hello, world!', ); // Send local photo $api->sendPhoto( chatId: 22351, photo: InputFile::fromLocalFile('/path/to/photo.jpg'), );
结果将是错误时的 FailResult
实例或成功时的对应类型对象。例如
// Result is an array of `Vjik\TelegramBot\Api\Update\Update` objects $updates = $api->getUpdates();
文档
如果您对该软件包有任何疑问或问题,请使用 作者Telegram聊天 进行沟通。
许可
vjik/telegram-bot-api
是免费软件。它根据BSD许可证的条款发布。有关更多信息,请参阅 LICENSE
。
鸣谢
该软件包受到由 Botasis 创建并由 Viktor Babanov 初始创建的代码的启发。