danyspin97 / php-bot-framework
PhpBotFramework是一个用于Telegram机器人API的框架。
Requires
- php: >=7.0
- guzzlehttp/guzzle: ^6.2
Requires (Dev)
- phpmd/phpmd: 2.*
- phpstan/phpstan: ^0.6.4
- phpunit/phpunit: 6.*
- squizlabs/php_codesniffer: 2.*
Suggests
- ext-mysql: *
- ext-pgsql: *
- ext-redis: *
This package is not auto-updated.
Last update: 2022-04-22 10:49:41 UTC
README
PhpBotFramework是一个可靠且完整的框架,用于支持Telegram Bot API,并支持支付API。
设计用于快速且易于使用,它提供了用户开始开发Telegram机器人所需的所有功能。
使用
<?php // 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);
功能
- 模块化:仅取所需
- 使用Guzzle进行灵活的HTTP请求
- 设计用于快速且易于使用
- 支持本地更新和webhooks
- 支持最重要的API方法
- 消息和回调查询的命令处理系统
- 基于更新类型的处理
- 轻松创建内联键盘
- 内联查询结果的处理
- 数据库支持和工具
- Redis支持
- 支持多语言机器人
- 支持机器人状态
- 上传本地文件
- 高度文档化
要求
- PHP >= 7.0
- php-mbstring
- Composer(安装此包及其依赖项)
- Web服务器:webhook所需(我们推荐nginx)
- SSL证书:webhook所需(按照这些步骤生成自签名证书或使用Let's Encrypt)
安装
您可以使用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 制作
测试
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 重新分发,但使用该框架的应用程序不必如此。