PhpBotFramework是一个可靠且完整的 Telegram Bot API 框架,支持支付 API 。
它旨在快速且易于使用,提供了用户开始开发 Telegram 机器人所需的所有功能。
// Include the framework
require ' ./vendor/autoload.php ' ;
// Create a bot
$ bot = new PhpBotFramework Bot ( " token " );
// Create a command that will be triggered everytime the user send `/start`
$ start_command = new PhpBotFramework Commands MessageCommand ( " start " ,
function ( $ bot , $ message ) {
// Reply with a message
$ bot -> sendMessage ( " Hello, folks! " );
}
);
$ bot -> addCommand ( $ start_command );
// A shortcut for message commands.
$ bot -> addMessageCommand ( ' about ' , function ( $ bot , $ message ) {
$ bot -> sendMessage ( ' Powered by PhpBotFramework ' );
});
// Receive updates from Telegram using getUpdates
$ bot -> run ( GETUPDATES );
您可以使用Composer安装 PhpBotFramework 。
转到您的项目文件夹并输入:
composer require danyspin97/php-bot-framework
composer install --no-dev
查看文档以了解有关 PhpBotFramework 的更多信息。
为什么我们不实现异步请求?
我们使用 Guzzle 来向 Telegram Bot API 发出 HTTP 请求。
不幸的是,它并没有实现真正的异步请求,而是实现了某种.
请查看此问题以获取更多信息。
为什么没有为 API 方法传递chat_id
参数?
PhpBotFramework 足够“智能”,可以将其设置为当前用户、组或频道 ID。大多数框架都要求您为每个方法的调用指定聊天 ID,但 PhpBotFramework 会为您在当前聊天中调用大多数 API 方法执行此操作。
您可以在examples/
文件夹中找到示例机器人列表。
此处列出的所有示例均功能齐全:您只需要一个有效的Telegram 机器人令牌。
PhpBotFramework 附带了一个可以使用PHPUnit运行的测试套件。
您需要设置MOCK_SERVER_PORT
环境变量,它告诉 PhpBotFramework 在哪个端口上运行允许执行测试的模拟服务器。
export MOCK_SERVER_PORT=9696
现在您可以运行模拟服务器:
./start_mock_server.sh
并运行测试套件:
php vendor/bin/phpunit
该框架由 Danilo Spinella 和 Dom Corvasce 开发和维护。
PhpBotFramework 是根据 GNU Lesser General Public License v3 发布的。
您可以复制、分发和修改该软件,前提是修改是在 LGPL-3 下免费描述和许可的。衍生作品(包括修改)只能在 LGPL-3 下重新分发,但使用该框架的应用程序则不必如此。