telegram-bot / api
Telegram Bot API 的 PHP 封装
v2.5.0
2023-08-09 13:53 UTC
Requires
- php: >=5.5.0
- ext-curl: *
- ext-json: *
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.16
- symfony/phpunit-bridge: *
- vimeo/psalm: ^5.9
- 3.1.0.x-dev
- 3.0.0.x-dev
- dev-master / 2.6.x-dev
- v2.5.0
- v2.4.0
- v2.3.26
- v2.3.25
- v2.3.24
- v2.3.23
- v2.3.22
- v2.3.21
- v2.3.20
- v2.3.19
- v2.3.18
- v2.3.17
- v2.3.16
- 2.3.15
- v2.3.14
- v2.3.13
- v2.3.12
- v2.3.11
- v2.3.10
- v2.3.9
- v2.3.8
- v2.3.7
- v2.3.6
- v2.3.5
- v2.3.4
- v2.3.3
- v2.3.2
- v2.3.1
- v2.3.0
- 2.2.10
- 2.2.9
- 2.2.8
- 2.2.7
- 2.2.6
- 2.2.5
- v2.2.4
- v2.2.3
- v2.2.2
- v2.2.1
- v2.2.0
- v2.1.0
- v2.0.0
- v1.2.3
- v1.2.2
- v1.2.1
- v1.2.0
- v1.1.0
- v1.0.0
This package is auto-updated.
Last update: 2024-08-29 14:23:37 UTC
README
一个扩展的本地 PHP 封装,用于 Telegram Bot API,无要求。支持所有方法和响应类型。
机器人:开发者简介
机器人是特殊的 Telegram 账户,旨在自动处理消息。用户可以通过在私聊或群聊中发送命令消息与机器人互动。
您可以通过向 bot API 发送 HTTPS 请求来控制您的机器人。
Bot API 是一个基于 HTTP 的接口,专为希望为 Telegram 构建机器人的开发者创建。有关创建和设置机器人的说明,请参阅 机器人简介 和 机器人常见问题解答。
安装
通过 Composer
$ composer require telegram-bot/api
用法
查看示例 DevAnswerBot(俄语)。
API 封装器
发送消息
$bot = new \TelegramBot\Api\BotApi('YOUR_BOT_API_TOKEN'); $bot->sendMessage($chatId, $messageText);
发送文档
$bot = new \TelegramBot\Api\BotApi('YOUR_BOT_API_TOKEN'); $document = new \CURLFile('document.txt'); $bot->sendDocument($chatId, $document);
发送带回复键盘的消息
$bot = new \TelegramBot\Api\BotApi('YOUR_BOT_API_TOKEN'); $keyboard = new \TelegramBot\Api\Types\ReplyKeyboardMarkup(array(array("one", "two", "three")), true); // true for one-time keyboard $bot->sendMessage($chatId, $messageText, null, false, null, $keyboard);
发送带内联键盘的消息
$bot = new \TelegramBot\Api\BotApi('YOUR_BOT_API_TOKEN'); $keyboard = new \TelegramBot\Api\Types\Inline\InlineKeyboardMarkup( [ [ ['text' => 'link', 'url' => 'https://core.telegram.org'] ] ] ); $bot->sendMessage($chatId, $messageText, null, false, null, $keyboard);
发送媒体组
$bot = new \TelegramBot\Api\BotApi('YOUR_BOT_API_TOKEN'); $media = new \TelegramBot\Api\Types\InputMedia\ArrayOfInputMedia(); $media->addItem(new TelegramBot\Api\Types\InputMedia\InputMediaPhoto('https://avatars3.githubusercontent.com/u/9335727')); $media->addItem(new TelegramBot\Api\Types\InputMedia\InputMediaPhoto('https://avatars3.githubusercontent.com/u/9335727')); // Same for video // $media->addItem(new TelegramBot\Api\Types\InputMedia\InputMediaVideo('http://clips.vorwaerts-gmbh.de/VfE_html5.mp4')); $bot->sendMediaGroup($chatId, $media);
客户端
require_once "vendor/autoload.php"; try { $bot = new \TelegramBot\Api\Client('YOUR_BOT_API_TOKEN'); //Handle /ping command $bot->command('ping', function ($message) use ($bot) { $bot->sendMessage($message->getChat()->getId(), 'pong!'); }); //Handle text messages $bot->on(function (\TelegramBot\Api\Types\Update $update) use ($bot) { $message = $update->getMessage(); $id = $message->getChat()->getId(); $bot->sendMessage($id, 'Your message: ' . $message->getText()); }, function () { return true; }); $bot->run(); } catch (\TelegramBot\Api\Exception $e) { $e->getMessage(); }
本地机器人 API 服务器
对于使用自定义 本地机器人 API 服务器
use TelegramBot\Api\Client; $token = 'YOUR_BOT_API_TOKEN'; $bot = new Client($token, null, null, 'http://localhost:8081');
第三方 Http 客户端
use Symfony\Component\HttpClient\HttpClient; use TelegramBot\Api\BotApi; use TelegramBot\Api\Http\SymfonyHttpClient; $token = 'YOUR_BOT_API_TOKEN'; $bot = new Client($token, null, new SymfonyHttpClient(HttpClient::create()););
变更日志
请参阅 CHANGELOG 以获取有关最近更改的更多信息。
测试
$ composer test
贡献
请参阅 CONTRIBUTING 以获取详细信息。
安全性
如果您发现任何安全问题,请通过电子邮件 mail@igusev.ru 而不是使用问题跟踪器。
致谢
许可
MIT 许可证(MIT)。请参阅 许可证文件 以获取更多信息。