快速部署QQbot

快速部署QQbot

vate_room 73 2024-03-07

快速部署QQbot

前言

在阅读本文章前,请先查看相关论坛,以便对目前的QQbot架构有个初步的了解:

https://github.com/Mrs4s/go-cqhttp/issues/2471

https://github.com/Hanb1ng/chronocat

简单介绍

目前的QQbot分为官方和和非官方的方案。

官方方案优点:稳定不会封号,缺点:支持功能少,需要审核申请麻烦。部分功能需要注册企业号才能使用(需要营业执照和对公账户)

非官方账号:灵活,功能多,社区丰富。缺点:可能被腾讯风控,封号警告

特别声明:请不要在哔哩哔哩等主流平台宣传非官方机器人、不要滥用机器人。

项目推荐

非官方机器人的架构:无头QQ客户端收发QQ消息 + 机器人后端进行消息处理

QQNT协议库

推荐一下项目,用法看项目文档,不过多介绍。(请低调使用非官方机器人,不要滥用!!!)

LLOneBot(建议使用)

https://github.com/LLOneBot/LLOneBot

Linux平台没有GUI 可以用:

https://github.com/NapNeko/NapCatQQ

Shamork +安卓客户端(已归档)

https://whitechi73.github.io/OpenShamrock/

部署机器人后端

机器人后端的项目,百花齐放。最有名的应该是Yunzai之类的。Python的比较多
推荐一下 :Gensokyo框架,开发者有代部署服务

下面主要介绍ZBP项目:

https://github.com/FloatTech/ZeroBot-Plugin

部署方式:

releases 页面有打包好的二进制。
开发环境的话之间 git clone就能用了,稳定里有一些步骤,这里就不过多介绍了。

配置文件编写:

为了和QQ客户端进行通信,需要修改WS的地址/端口,下面介绍开发环境和生产环境的修改方式。

开发环境

开发环境直接写死到代码里:

adana:机器人名字,监测到俩天消息里有机器人名字,会进行主动回应。椛椛是默认的名字。
url:与QQ客户端通信的正向WS地址,需要和QQ客户端设置的端口一致
sus:sup user 一些控制命令只有管理员能用

	// 直接写死 AccessToken 时,请更改下面第二个参数
	token := flag.String("t", "", "Set AccessToken of WSClient.")
	// 直接写死 URL 时,请更改下面第二个参数
	url := flag.String("u", "ws://127.0.0.1:8081", "Set Url of WSClient.")
	// 默认昵称
	adana := flag.String("n", "椛椛", "Set default nickname.")
	prefix := flag.String("p", "/", "Set command prefix.")
  
        // 通过代码写死的方式添加主人账号
	// sus = append(sus, 12345678)
	// sus = append(sus, 87654321)

生产环境

和开发环境同理,启动时使用 -c 参数指定配置文件位置。

{
    "zero":{
        "nickname":[
            "椛椛",
        ],
        "command_prefix":"/",
        "super_users":[
            123456789,
            98765431
        ]
    },
    "ws":[
        {
            "Url":"ws://127.0.0.1:8081",
            "AccessToken":""
        }
    ]
}