Merge pull request #213 from minimouse0/bot

新增 QQ机器人搭建 教程
This commit is contained in:
lilingfengdev 2024-08-11 11:47:47 +08:00 committed by GitHub
commit 38f09e031d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 215 additions and 0 deletions

73
docs-java/advance/bot.md Normal file
View File

@ -0,0 +1,73 @@
---
title: 机器人搭建
sidebar_position: 12
---
# 机器人搭建
## QQ机器人
<!--## 使用已存在的机器人插件方案
:::info
一般而言,已经存在的机器人方案实现起来相对容易且功能多。
如果你不是专业开发者,非常推荐直接使用已存在的机器人插件实现。
:::-->
目前比较推荐的方案:
### [EasyBot](https://www.minebbs.com/resources/easyBot-minecraft.7918/)
<!--[EasyBot MineBBS 链接](https://www.minebbs.com/resources/easyBot-minecraft.7918/)-->
:::warning
EasyBot 的更新程序貌似存在漏洞,如果突然终止或是因为某些意料之外的原因,
在从旧版本更新到新版本后,浏览器编辑器的消息同步有概率无法显示,这种情况请删除 EasyBot *主程序* (不是插件!)的 *所有* 文件后重新安装
(记得保留配置)
:::
<!--[EasyBot 实现账号绑定教程](https://www.yuque.com/miuxue/cgyipv/vng1gtu9wk71xtg6)
EasyBot 可简单地通过自定义命令实现查看服务器TPS玩家数据等。 [EasyBot 自定义命令教程](https://www.yuque.com/miuxue/cgyipv/vng1gtu9wk71xtg6)-->
1. [账号绑定](https://www.yuque.com/miuxue/cgyipv/vng1gtu9wk71xtg6) - 介绍
2. [自定义命令教程](https://www.yuque.com/miuxue/cgyipv/vng1gtu9wk71xtg6) - 简单地通过自定义命令实现查看服务器 TPS玩家数据等。
EasyBot 开发者目前没有撰写关于消息同步的教程,但由于网页编辑器而非配置非常容易上手,在此不做赘述。
:::warning
不推荐使用 EasyBot 的群组服务器内消息同步功能,使用 TrChat 等插件可以更好的实现它们。
:::
优点:配置简单,网页编辑器方便新手,轻量。
缺点:功能上不如 XinxinBot 丰富。
### [XinxinBot 系列](https://www.minebbs.com/threads/xinxinBotapi-qq-1-8-x-1-20-x.24540/)
<!--[XinxinBotAPI MineBBS 链接](https://www.minebbs.com/threads/xinxinBotapi-qq-1-8-x-1-20-x.24540/) -->
[账号绑定](http://wiki.mcxin.cn/zh/%E6%96%B0%E9%91%AB%E6%9C%BA%E5%99%A8%E4%BA%BA%E9%99%84%E5%B1%9E%E6%95%99%E7%A8%8B/XinxinBetterBind)
[消息同步](http://wiki.mcxin.cn/zh/%E6%96%B0%E9%91%AB%E6%9C%BA%E5%99%A8%E4%BA%BA%E9%99%84%E5%B1%9E%E6%95%99%E7%A8%8B/XinxinChatSync)
优点:使用附属插件,功能更多。
缺点:配置稍复杂。
<!--### 其他方案的注意事项
如果某个方案基于 MiraiMC请参见下文。-->
### [MiraiMC](https://github.com/DreamVoid/MiraiMC)
MiraiMC 是一款能够作为服务器插件加载的机器人框架。它非常适合仅有一个服务端,尤其是使用面板开服的 **小型服务器** 使用。MiraiMC 的大多数排障方法和特性都与 Mirai 相同,遇到问题时你可以参考 [Mirai](../../advance/bot/framework#mirai) 框架的使用文档。<!--[点击跳转](https://github.com/DreamVoid/MiraiMC)-->
MiraiMC 已添加了 [对 Overflow 的支持附属插件](https://github.com/DreamVoid/MiraiMC/issues/510),因此你可以使用 Overflow 协助登录。这也帮助了许多停更的基于 MiraiMC 的老机器人插件。

19
docs/advance/bot/bot.md Normal file
View File

@ -0,0 +1,19 @@
---
title: 群机器人
slug: /advance/bot
sidebar_position: 6
---
# 群机器人
搭建机器人能够让你实现群服消息互通、查询服务器状态、通过聊天即可管理服务器等功能,让你的玩家交流群与服务器连接起来。<!--运营管理的内容写好后这里做一个链接指向那边的机器人文档,讲解机器人都需要什么功能-->
机器人通常分为两个部分这两个部分分别负责控制QQ号和对社交帐号执行程序。其中控制QQ号的部分叫 [框架](framework.md)。机器人程序必须要通过网络或插件等方式与机器人框架连接然后才能开始控制QQ号实现对应功能。
连接的方式目前主流的有 HTTP 协议和 Websocketws协议。每个协议又分为正向和反向其中正向要求机器人框架本身作为服务器将端口开放给机器人软件进行连接而反向则要求机器人软件开放端口给框架连接。
本篇仅列出常见的实现方法,不对具体实现过程描述,请自行查阅相关文档。
## OneBot 标准
[OneBot](https://onebot.dev/) 是**统一的聊天机器人应用接口标准**。它适用于各种各样的即时通讯软件QQ 是其应用场景之一。如果机器人框架和机器人都支持 OneBot那它们便可以配合使用。

View File

@ -0,0 +1,105 @@
---
title: 机器人框架
sidebar_position: 1
---
# 机器人框架
## QQ机器人
:::danger
请一定要使用小号来搭建 QQ 机器人,否则如果登录不成功或是成功后被检测,将有大概率导致封号。
使用如 go-cqhttp 的 [签名服务](https://mirai.mamoe.net/topic/2373/%E5%85%B3%E4%BA%8E%E7%AD%BE%E5%90%8D%E6%9C%8D%E5%8A%A1) 不稳定并且非常容易导致封号,推荐使用 LLOneBot 这类通过 hook 官方客户端而跳过使用签名服务登录的方案。
:::
控制 QQ 号的部分叫就是框架,可分为三种原理:
1. **接入 QQ 官方的机器人框架**这需要每个使用这样框架的用户都必须在QQ官方申请机器人并进行审核而且功能存在限制
2. **破解 QQ 客户端** 来实现操作 QQ 号,这种方式目前最为稳定,也是最推荐的,唯一的缺点就是占用的系统资源较多
3. 直接编写软件伪装成 QQ 客户端直接连接 QQ 官方服务器,又叫 **协议库**。这样的软件占用资源很低,但是目前由于被腾讯官方针对处理,导致非常不稳定。
### LiteLoaderQQNT + LLOneBot
|原理|破解 QQ 客户端|
|---|:---|
LiteLoaderQQNT 是 [利用 NTQQ 特性](https://github.com/Mrs4s/go-cqhttp/issues/2471) 实现的 QQ **插件加载器**。它本身并不具备QQ机器人功能你需要**为其安装 LLOneBot 插件**才能开始使用 QQ 机器人功能。
:::warning
根据先前其他该领域开发者的经历,该软件开发者不建议任何人公开宣传此软件。如果你使用了 LLOneBot请勿在任何群聊发送可以看出你使用了非官方 QQ 的截图。
:::
前往 [LiteLoaderQQNT官网](https://liteloaderqqnt.github.io/) ,根据其教程下载安装该框架。
安装完成后,根据 [LiteLoaderQQNT 文档安装插件方法](https://liteloaderqqnt.github.io/guide/plugins.html) 为框架安装插件:[LLOneBot](https://github.com/LLOneBot/LLOneBot/tree/main)。如果你已经在使用该框架并且已安装了 [插件列表查看](https://github.com/ltxhhz/LL-plugin-list-viewer/tree/main) 插件,也可以直接使用该插件进行安装。
安装完成后,进入 QQ 设置,在侧边栏中找到 LLOneBot 点击切换到其设置页,然后 **根据机器人给出的文档** 进行配置。
### Lagrange拉格朗日
|原理|协议库|
|---|:---|
[参见此处](https://docs.qq.com/doc/DQ2N2b0JqeUhmWUVa)
### [Gensokyo](https://github.com/Hoshinonyaruko/Gensokyo)
|原理|官方 API|
|---|:---|
此框架由于是接入 QQ 官方频道机器人 API使用稳定且有腾讯官方的支持。
:::warning
由于官方限制,频道机器人无法主动发送消息,在被 **不是机器人的普通用户** @后可自由发送消息,持续 5 分钟。当超过 5 分钟时,机器人会提示"回复时间结束"。
<!--https://gitee.com/dlcn/dlscq/wikis/%E5%85%B6%E4%BB%96%E6%A1%86%E6%9E%B6/%E5%AE%98%E6%96%B9%E9%A2%91%E9%81%93%E6%9C%BA%E5%99%A8%E4%BA%BA-->
:::
### [OpenShamrock](https://github.com/whitechi73/OpenShamrock)
|原理|破解 QQ 客户端|
|---|:---|
OpenShamrock 是运行在安卓手机 QQ 上的 OneBot 框架,相当于安卓版的 LiteLoaderQQNT + LLOneBot。
也就是说,你必须已经拥有一台 **和服务器连接到同一局域网下** 的安卓手机。有两种方式来部署一台这样的安卓手机:
1. 使用闲置的旧手机
2. 服务器内存足够的情况下部署安卓模拟器
OpenShamrock的搭建教程待补充
### [Mirai](https://mirai.mamoe.net/)
|原理|协议库|
|---|:---|
<!--[Mirai 论坛](https://mirai.mamoe.net/)-->
:::danger
Mirai 原生由于本身为协议库原理近期因不可抗力导致难以登录并且99%封号冻结。推荐配合下文的 Overflow 使用。
:::
如果发现 Mirai 的 **帐号登录** 对于你的服务器来说难以使用和维护,可以使用 [OverflowOneBot](https://github.com/MrXiaoM/Overflow) 将 Mirai 接入其他 OneBot 框架,而不是直接通过 Mirai 登录。
**[Overflow 使用方法](https://github.com/MrXiaoM/Overflow/blob/main/docs/UserManual.md)**
配置 Websocket 链接时,在正向 ws 和反向 ws 之间选择一种即可。
:::info
推荐使用 [官网一键打包整合包](https://mirai.mrxiaom.top/#get-started) + [LLOneBot](#liteloaderqqnt--llonebot) 的方式部署。
:::
<!--[Overflow 主页](https://github.com/MrXiaoM/Overflow)-->
<!--## Kook机器人-->
<!--## Telegram机器人-->

View File

@ -0,0 +1,18 @@
---
title: 通用机器人
sidebar_position: 2
---
# 通用机器人
指 Serein 这类不依赖插件模组加载器的独立软件,通常是通过读取控制台和执行控制台命令实现
### Serein
待补充<!--Serein只是听说可以通过安装插件来实现机器人-->
### DLS
类似 Serein 的自动管理控制台的一站式解决方案,几乎全部功能均依赖正则表达式匹配控制台输出的原理。目前已经适配大多数主流服务器的控制台,支持 OneBot 协议。
可以阅读其 [Wiki](https://gitee.com/dlcn/dlscq/wikis/) 进行安装配置。