danyspin97/php-bot-framework

此包已被废弃且不再维护。未建议替代包。

PhpBotFramework是一个用于Telegram机器人API的框架。

v2.0.2 2017-05-31 21:01 UTC

This package is not auto-updated.

Last update: 2022-04-22 10:49:41 UTC


README

Total Downloads Latest Stable Version Build Status Codacy Badge Scrutinizer Code Quality Code Coverage PHPStan License

logo.png

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 SpinellaDom Corvasce 开发和维护。

许可协议

PhpBotFramework 根据 GNU Lesser General Public License v3 发布。

您可以在描述修改并免费许可的情况下复制、分发和修改软件。衍生作品(包括修改)只能根据 LGPL-3 重新分发,但使用该框架的应用程序不必如此。