Skip to content

Latest commit

 

History

History
220 lines (158 loc) · 7 KB

lagrange.md

File metadata and controls

220 lines (158 loc) · 7 KB

Lagrange 配置

其实我觉得Lagrange官方文档和没有差不多。

本章节讲述如何部署LagrangeInkar-Suki使用。

!> 再次强调,如果您从互联网上得到了Lagrange可以使用的QSign地址,请不要以任何方式进行外传,这只会增加我们无法继续使用Lagrange进行机器人搭建的风险!

.NET

根据系统选择合适的页面:

请先配置完毕.NET 8,随后再阅读下面的内容。

下载

首先前往LagrangeGitHub存储库,项目地址:LagrangeDev/Lagrange.Core

点击Actions,随后点击左侧的Lagrange.OneBot Build,选择最新一个,并将页面拉至最底部,选择适合系统版本的Lagrange

!> 如果不熟悉arm64amd64x86x64的区别,请先学习后阅读。

点击对应版本进行下载,解压后会得到四个文件:Lagrange.Core.pdbLagrange.OneBotLagrange.OneBot.pdblibSilkCodec.so

此处根据平台差异,后缀会有不同。

随后运行Lagrange.Onebot,初次使用后会生成appsettings.json,大概像这样:

{
    "Logging": {
        "LogLevel": {
            "Default": "Debug",
            "Microsoft": "Warning",
            "Microsoft.Hosting.Lifetime": "Information"
        }
    },
    "SignServerUrl": "",
    "Account": {
        "Uin": ,
        "Password": "",
        "Protocol": "Linux",
        "AutoReconnect": true,
        "GetOptimumServer": true
    },
    "Message": {
      "IgnoreSelf": true
    },
    "Implementations": [
        {
            "Type": "ReverseWebSocket",
            "Host": "127.0.0.1",
            "Port": 2333,
            "Suffix": "/onebot/v11/ws",
            "ReconnectInterval": 5000,
            "HeartBeatInterval": 5000,
            "AccessToken": ""
        },
        {
            "Type": "Http",
            "Host": "127.0.0.1",
            "Port": 2334,
            "HeartBeatInterval": 5000,
            "AccessToken": ""
        }
    ]
}

这个是Inkar Suki公共实例的appsettings.json,差异的地方可以直接照搬,下面我们来讲解各字段的作用。

Logging

LogLevel

Default

默认日志等级,推荐:Information,若不想有日志,可以选择Warning,调试可以使用Trace

日志的等级会热重载,修改后在Lagrange输出终端中会立刻体现。

SignServerUrl

签名服务器,与Go-CQHTTP的签名服务不同,具体地址请自行在互联网搜索。

Account

Uin

QQ号,int变量,不需要引号。

Password

QQ密码,str变量,需要双引号。

Protocol

NTQQ的协议,可选:LinuxWindowsmacOS(猜测)。

Implementations

传输方式,为JSON数组,每一个元素像这样:

{
    "Type": "ReverseWebSocket", // 反向WebSocket
    "Host": "127.0.0.1", // 反向WS的IP
    "Port": 2333, // 反向WS端口
    "Suffix": "/onebot/v11/ws", // 反向WS的地址
    "ReconnectInterval": 5000, // 默认即可,下同
    "HeartBeatInterval": 5000,
    "AccessToken": "" // 留空即可
}

Type还可选:ForwardWebSocket(正向WebSocket)、HttpHTTP服务器),这些是Inkar Suki可能用到的(并不使用正向WS)。

反向WebSocket

{
    "Type": "ReverseWebSocket",
    "Host": "127.0.0.1",
    "Port": 8080,
    "Suffix": "/onebot/v11/ws",
    "ReconnectInterval": 5000,
    "HeartBeatInterval": 5000,
    "AccessToken": "",
}

正向WebSocket

{
    "Type": "ForwardWebSocket",
    "Host": "127.0.0.1",
    "Port": 8081,
    "HeartBeatInterval": 5000,
    "AccessToken": "",
}

HTTP POST

{
    "Type": "HttpPost",
    "Host": "127.0.0.1",
    "Port": 8082,
    "Suffix": "/",
    "HeartBeatInterval": 5000,
    "AccessToken": ""
}

HTTP GET

{
    "Type": "Http",
    "Host": "*",
    "Port": 8083,
    "AccessToken": ""
}

运行

如果您是Windows用户,直接双击启动即可。

Linux发行版中,当Lagrange副本已经解压完毕后,通常权限可能会具有问题,可以使用具有root权限的用户进行操作:

sudo chmod +x ./Lagrange.OneBot
sudo ./Lagrange.OneBot

在命令行中按任意键,Lagrange将正式运行,并生成一张同目录下的qr-0.png(登录使用的二维码),在二维码过期前,尽快使用手机QQ扫码登录。

如果登录的时候遇到验证码(通常是要求输入TicketrandomStr),可以按这样的方法操作(以Chrome为例,开发者工具已切换至中文):

如果出现验证码登录的情况,推荐删除keystore.json随后进行扫码登录。

验证码登录因为未知原因成功率较低。

  • 访问验证码的网页;
  • 按下F12,进入开发者工具,选择网络Network)、点击Fetch/XHR
  • 通过验证码,选中最后一个Fetch/XHR请求,点击预览(Preview),如果ticket一栏为空,重复上述步骤,如果不为空,右键ticket,选择复制值,将其输入Lagrange终端后回车,先不要关闭页面,依然在预览处,查看rdstr,右键复制值,将其输入Lagrange终端回车。

手机扫描登录二维码时,推荐勾选下次登录无需确认

!> NTQQAndroidSignServer完全不互通!!请不要使用类似unidbg-fetch-qsign或其衍生作品为Lagrange进行签名服务!至于NTQQSignServer的源码或地址,请自行在互联网搜索。

Lagrange 常见问题

提示.NET 相关内容

请阅读本页面的前半部分,安装.NET78(根据Lagrange.NET需求)。

Code 45

无法连接至签名服务器?

尝试将配置文件中SignServerUrl的值直接使用浏览器或别的方式进行访问,如果无法正常连接,请尝试更换签名服务器或使用代理等方法。

如果没有签名服务器,查看Lagrange.Core的README可能会有所帮助。

但里面的签名只能用于测试连通性,真正的可用签名可能在Arcaea世界的某个尽头,与少女拉格兰一起……

!> 如果是你的服务器无法连接,但你的本地环境可以访问,请不要以此提问为何无法连接签名服务器,照顾照顾开发者们的血压

签名服务器版本过低?

已知13107版本的SignServer在使用某些账号登录的时候可能会出现Code 45,尝试使用更新版本(25765协议)的Lagrange,并使用对应版本的SignServer

签名服务器和Lagrange版本不匹配?

请使用对应版本的Lagrange,并使用对应版本的SignServer