PBF Next 截至本文章发布为止已经更新到了5.0.10版本,这篇文章我们就来讲一下PBF Next的基本使用

安装PBF

  • 前置环境
    您需要在具备Python 3.8+以及Git的环境中使用PBF
  • 安装
    通过pip安装:
    pip install PigBotFramework --upgrade

快速初始化

执行以下指令来快速初始化一个PBF服务

mkdir workspace
cd workspace
pbf init
pbf install-plugin webui
pbf install-plugin menu
pbf start

然后,您可以访问http://localhost:8000/web来进一步管理机器人。
默认HTTP Basic Auth帐号密码是:帐号:admin 密码:admin
这里我们不过多讲解WebUI的使用。

启动Lagrange

这里我们以Lagrange为例,Lagrange.OneBot Docs

首先按照文档说明前往GitHub Action下载可执行文件

然后在可执行文件的同级目录下新建文件appsettings.json,内容如下

{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
},
"SignServerUrl": "https://sign.lagrangecore.org/api/sign/25765",
"MusicSignServerUrl": "",
"Account": {
"Uin": 0,
"Password": "",
"Protocol": "Linux",
"AutoReconnect": true,
"GetOptimumServer": true
},
"Message": {
"IgnoreSelf": true,
"StringPost": true
},
"QrCode": {
"ConsoleCompatibilityMode": false
},
"Implementations": [
{
"Type": "HttpPost",
"Host": "localhost",
"Port": 8000,
"Suffix": "/",
"HeartBeatEnable": false,
"AccessToken": "123456",
"Secret": "123456"
},
{
"Type": "Http",
"Host": "*",
"Port": 8001,
"AccessToken": "123456"
}
]
}

最后运行可执行文件,按照程序提示扫码登陆即可

连接到OneBot实现

打开工作目录下的start.py,在# Modify more configurations here部分后面添加新的代码:

config.ob_access_token = "123456"
config.ob_uri = "http://localhost:8001"

然后执行指令fuser -k 8000/tcp && pbf start重启服务器

检查连接

在QQ群中发送菜单,您就应该能看到机器人的回复。

什么?你机器人没反应?!肯定是你人品不行啦 请您检查上述配置的端口以及access_token是否正确

进阶配置

我们接下来还要对PBF服务做一些进阶配置。
编辑工作目录下的start.py

  • WebUI基础认证
    # Modify more configurations here部分后面添加新的代码:
    config.plugins_config[] = {
    "basic_auth": {
    "username": "root",
    "password": "123456"
    }
    }
    这样在重启PBF之后,您访问WebUI需要输入上面设定的用户名和密码来进行HTTP Basic Authentication
  • 更换服务器端口(可选)
    from pbf.driver import Fastapi这一行下面添加如下代码
     # 注意缩进
    Fastapi.fastapi_port = 8002 # 新端口
    Fastapi.fastapi_host = "0.0.0.0" # 这样会监听网卡上的所有地址
    注意更换端口之后需要同时修改Lagrange的配置appsettings.json来保证连接

做完上面这一切之后,别忘了执行fuser -k 8000/tcp && pbf start重启服务器