承接 onebot/libonebot 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

onebot/libonebot

Composer 安装命令:

composer require onebot/libonebot

包简介

PHP 的 LibOneBot 库,通过此库可快速接入 OneBot 生态

README 文档

README

Version GitHub Workflow Status License Packagist PHP Version Support

php-libonebot

PHP 的 LibOneBot 库。LibOneBot 可以帮助 OneBot 实现者快速在新的聊天机器人平台实现 OneBot v12 接口标准。

基于 LibOneBot 实现 OneBot 时,OneBot 实现者只需专注于编写与聊天机器人平台对接的逻辑,包括通过长轮询或 webhook 方式从机器人平台获得事件,并将其转换为 OneBot 事件,以及处理 OneBot 动作请求,并将其转换为对机器人平台 API 的调用。

此外,内部的通信方式有相应的抽象方法,你可以在 libob 的基础上开发或整合其他 Web 框架。

当前版本还在开发中,在发布正式版之前此库内的接口可能会发生较大变动。

开发进度见 更新日志

使用

composer require onebot/libonebot

尝试 Demo

在 require 下载 libob 库后,新建文件 demo.phpdemo.json,并在 demo.php 中写如下代码:

<?php

declare(strict_types=1);

require_once 'vendor/autoload.php';

$ob = new \OneBot\V12\OneBot('repl', 'qq', 'REPL-1');
$ob->setLogger(new \OneBot\Logger\Console\ConsoleLogger());
$ob->setDriver(
    // 此处也可以在 Linux 系统下安装 swoole 扩展后使用 SwooleDriver() 拥有协程能力
    new \OneBot\Driver\Workerman\WorkermanDriver(), 
    new \OneBot\Config\Repository('demo.json')
);
$ob->setActionHandlerClass(\OneBot\V12\Action\ReplAction::class);
$ob->run();

demo.json 中写如下代码:

{
    "lib": {
        "db": false
    },
    "communications": {
        "http": {
            "enable": true,
            "host": "0.0.0.0",
            "port": 9600,
            "event_enabled": true,
            "event_buffer_size": 0
        }
    }
}

此 Demo 以一个命令行交互的方式使用 LibOneBot 快速完成了一个 OneBot 实现,命令行中输入内容即可发送到 OneBot,使用 HTTP 或 WebSocket 发送给 LibOneBot 后可以将信息显示在终端内。

# 运行 OneBot 实现
php demo.php

启动后可以利用 Postman 或 Curl 等工具发起请求,以 OneVot V12 协议的发送消息动作为例:

curl --location --request POST 'http://localhost:9600/' \
--header 'Content-Type: application/json' \
--data-raw '{
    "action": "send_message",
    "params": {
        "detail_type": "group",
        "group_id": "12467",
        "message": [
            {
                "type": "text",
                "data": {
                    "text": "我是文字巴拉巴拉巴拉"
                }
            }
        ]
    }
}'

你应该可以看到 OneBot 命令行中出现以下消息:

[2021-11-18 18:44:39] [INFO] 我是文字巴拉巴拉巴拉

并收到以下响应:

{"status":"ok","retcode":0,"data":{"message_id":5007842},"message":""}%

onebot/libonebot 适用场景与选型建议

onebot/libonebot 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 5.24k 次下载、GitHub Stars 达 17, 最近一次更新时间为 2021 年 09 月 03 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「php」 「starter」 「OneBot」 「libonebot」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 onebot/libonebot 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 onebot/libonebot 我们能提供哪些服务?
定制开发 / 二次开发

基于 onebot/libonebot 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 5.24k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 17
  • 点击次数: 7
  • 依赖项目数: 3
  • 推荐数: 0

GitHub 信息

  • Stars: 17
  • Watchers: 2
  • Forks: 4
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2021-09-03