“部娘bot(新)”的版本间差异
Nekochen2333(讨论 | 贡献) |
(重写页面) |
||
| 第1行: | 第1行: | ||
由于tx风控和Mirai对高版本QQ签名停止支持,旧版[[部娘bot]]已经逐渐无法稳定运行,最终于2025年3月26日停用。当日[[用户:nekochen2333|陈猫]]即搭建了基于[https://napneko.github.io/ NapCatQQ]的bot并逐渐从[[部娘bot]]迁移功能。[[用户:Hexatomic ring|六元环]]又接入了[https://github.com/MaiM-with-u/MaiBot 麦麦bot],使部娘成为可以与服务器进行通信、使用群指令,还可以使用LLM聊天的综合型bot。本页面将会介绍部娘bot的各种功能。 | 由于tx风控和Mirai对高版本QQ签名停止支持,旧版[[部娘bot]]已经逐渐无法稳定运行,最终于2025年3月26日停用。当日[[用户:nekochen2333|陈猫]]即搭建了基于[https://napneko.github.io/ NapCatQQ]的bot并逐渐从[[部娘bot]]迁移功能。[[用户:Hexatomic ring|六元环]]又接入了[https://github.com/MaiM-with-u/MaiBot 麦麦bot],使部娘成为可以与服务器进行通信、使用群指令,还可以使用LLM聊天的综合型bot。本页面将会介绍部娘bot的各种功能。 | ||
本文使用和[https://zh.minecraft.wiki/w/%E5%91%BD%E4%BB%A4#%E5%91%BD%E4%BB%A4%E6%8C%87%E5%BC%95 Minecraft Wiki相同的方法]描述命令语法。 | |||
== 从#help开始 == | == 从#help开始 == | ||
语法 | |||
<code>#help [<command>]</code> | |||
'''仅限私聊。'''返回指令列表。如果指定了<code><command></code>,则会返回相应指令的详细帮助。 | |||
== 信息查询与设置 == | == 信息查询与设置 == | ||
=== 在线玩家查询 === | === 在线玩家查询 === | ||
语法 | |||
<code>#list</code> | |||
返回在线玩家列表,包括在线的假人。 | |||
=== bot与服务器状态查询 === | === bot与服务器状态查询 === | ||
语法 | |||
<code>#test</code> | |||
返回服务器状态和在线玩家列表。可以通过该指令确认bot是否正常在线。 | |||
=== 用户信息查询 === | === 用户信息查询 === | ||
语法 | |||
<code>#info [<query>]</code> | |||
返回用户的部门ID、MC ID、MC皮肤和QQ号。如果没有指定<code><query></code>,则返回发送者的用户信息,否则将会尝试把<code><query></code>分别解析为部门ID、MCID和QQ号进行查找,返回所有匹配的用户信息。 | |||
=== 个人信息设置 === | === 个人信息设置 === | ||
语法 | |||
<code>setID <id></code> | |||
<code>setMCID <mcid></code> | |||
'''仅限私聊。'''设置自己的<span title="setID" style="text-decoration-style: dotted">部门ID</span>和<span title="setMCID" style="text-decoration-style: dotted">MC ID</span>。这些信息将与你的QQ账号绑定,如果与他人既有的ID产生冲突将导致设置失败。 | |||
部门ID发生更改时会通知主群。 | |||
Mojang虽然会存储MC ID的大小写情况,但是身份验证服务器实际上对大小写'''不'''敏感。设置MC ID时,bot会存储大小写,但是大小写的差异不会影响白名单。此外,将要设置的MC ID如果与既有的ID只有大小写差异会被视为冲突导致设置失败。 | |||
=== 服务器卡顿信息查询 === | |||
语法 | |||
<code>#profile (entities|health) [<tick>]</code> | |||
<code>#tick -> profile</code> | |||
'''仅限主群。'''返回服务器卡顿信息。该功能会调用Carpet模组的相关功能。如果没有指定<code><tick></code>,默认监测100游戏刻,否则监测<code><tick></code>游戏刻。<code><tick></code>最小为20,最大为600。 | |||
== 消息互通与连续聊天模式 == | == 消息互通与连续聊天模式 == | ||
=== 主群和主服之间的消息互通 === | === 主群和主服之间的消息互通 === | ||
发送在主群的消息会通过[https://zh.minecraft.wiki/w/%E8%BF%9C%E7%A8%8B%E6%8E%A7%E5%88%B6%E5%8F%B0%E5%8D%8F%E8%AE%AE RCON]转发至主服,除非满足以下任意一条: | |||
* 消息包含文字、图片和表情之外的内容; | |||
* 消息以<code>#</code>、<code>;;</code><sup><span title="旧版部娘功能,未测试" style="text-decoration-style: dotted">[需要验证]</span></sup>或<span title="U+FF1B 全形分号" style="text-decoration-style: dotted"><code>;;</code><sup><span title="旧版部娘功能,未测试" style="text-decoration-style: dotted">[需要验证]</span></sup></span>开头; | |||
* 消息超过RCON能够转发的长度上限; | |||
* 发送者没有设置部门ID。 | |||
如果消息回复了其他人发送的消息,会在转发的消息中产生提示。 | |||
发送在主服务器中的消息会通过读取日志的方式获得。如果消息以<code>></code>、<code>》</code>或<span title="U+FF1E 全形大于号" style="text-decoration-style: dotted"><code>></code></span>开头,则会转发到主群。可以通过回复bot转发的消息回复发送者。 | |||
Bot的群指令和其它功能不会处理自己转发的消息。 | |||
== 其它消息提醒与个性化信息设置 == | == 其它消息提醒与个性化信息设置 == | ||
=== 玩家信息播报 === | === 玩家信息播报 === | ||
如果bot能找到服务器中一位玩家的用户信息,那么他/ | 如果bot能找到服务器中一位玩家的用户信息,那么他/她登入、登出、取得成就或者登陆受阻时,bot会在主群中发送相应信息。 | ||
另外,如果一位用户在登出后60秒内登入,bot会撤回之前发送的登入信息,以防止刷屏。 | |||
=== | === 服务器信息播报 === | ||
当服务器检测到2秒以上的掉刻时,bot会在主群中播报此信息。 | |||
服务器启动、停止或崩溃时,bot也会播报相应信息。 | |||
=== 个性化信息设置 === | === 个性化信息设置 === | ||
语法 | |||
<code>#match</code><br> | |||
显示命令帮助信息。 | |||
<code>#match show (login|logout)</code><br> | |||
显示自定义登入/登出消息列表。 | |||
<code>#match add (login|logout) <message></code><br> | |||
添加自定义登入/登出消息。 | |||
<code>#match del (login|logout) <index></code><br> | |||
删除自定义登入/登出消息。 | |||
<code>#match reset (login|logout)</code><br> | |||
重置自定义登入/登出消息。 | |||
<code>#match test [<times>]</code><br> | |||
测试自定义登入/登出消息。 | |||
'''仅限私聊。'''管理自定义登入/登出消息。默认值情况下,登入和登出消息的默认值分别是'''[Login]<部内id>加入了游戏'''和'''[Logout]<部内id>退出了游戏''' 。当设置了自定义消息后,登入和登出消息将从设置的消息列表中抽取。 | |||
参数 | |||
<code>login</code>和<code>logout</code>分别代表登入和登出消息。 | |||
<code><message></code>是贪婪字符串,命令剩余部分都会被视为此参数。<code>%</code>为部内ID的占位符,替换时会带上<code><></code>,一条消息至少要使用此占位符1次,至多4次。含占位符的消息总长度不能超过61个半角字符。1个全角字符将视为2个半角字符。'''因没有适配转义,消息无法包含字面量<code>%</code>。''' | |||
<code><index></code>为消息的编号,可以通过<code>#match show</code>查看。 | |||
< | <code><times></code>为要测试的次数,不指定时默认为1。 | ||
返回值 | |||
<code>#match</code>返回命令帮助信息。 | |||
<code>#match (show|add|del)</code>返回操作后对应类型的消息列表。 | |||
<code>#match reset</code>返回“重置成功”的消息。 | |||
<code>#match test</code>返回指定次数的测试结果,每次测试包含登入和登出消息各一条。 | |||
=== 警钟长鸣 === | === 警钟长鸣 === | ||
语法 | |||
<code>#alert [add <content>]</code> | |||
敲警钟或添加警钟。不使用<code>add</code>时,将会随机返回一条警钟消息,否则将会把</code><content></code>的内容作为警钟消息添加到数据库中并返回此消息的复述。</code><content></code>是贪婪字符串,命令剩余部分都会被视为此参数。 | |||
在主群中,每人每天至多分别使用一次<code>#alert</code>和<code>#alert add</code>。 | |||
== 实用功能 == | == 实用功能 == | ||
=== 切换为假人 === | === 切换为假人 === | ||
语法 | |||
<code>#shadow [<span title="详细语法参见下文。">...</span>]</code> | |||
'''仅限私聊。'''控制假人。语法详见[https://github.com/gnembon/fabric-carpet/wiki/Commands#player 此处],不支持<code>spawn</code>和<code>drop</code>子命令。如果没有指定参数,则以假人登录,否则按照参数执行假人指令。返回值为执行<code>/player</code>的结果,如果执行成功正常应该返回'''(无结果)'''。 | |||
=== 踢出自己 === | === 踢出自己 === | ||
语法 | |||
<code>#kick</code> | |||
'''仅限私聊。'''使自己下线。返回一条提示信息。 | |||
=== 获取实时高清地图 === | === 获取实时高清地图 === | ||
语法 | |||
<code>#img (world|DIM-1|DIM1) <start> <end> <span title="这些关键字参数的出现顺序无关紧要。" style="text-decoration-style: dotted">{[marker=(off|on)] [maxpix=<maxpix>] [format=<format>]}</span></code> | |||
'''仅限私聊。'''返回指定区域的地图图片。 | |||
参数<sup><span title="关键字参数的功能未测试。" style="text-decoration-style: dotted">[需要更多信息]</span></sup> | |||
<code>world</code>、<code>DIM-1</code>和<code>DIM1</code>分别指主世界、下界和末地。 | |||
<code><start></code>和<code><end></code>为2维整数坐标,指定起止点。任意坐标轴方向上的长度不能超过4000格。 | |||
== 模拟群友功能 == | == 模拟群友功能 == | ||
| 第119行: | 第165行: | ||
=== 查看部娘对你的印象 === | === 查看部娘对你的印象 === | ||
语法 | |||
<code>#impress</code> | |||
'''仅限私聊。'''返回部娘对你的印象。该印象是从麦麦bot获取的隐藏数据,从群聊日常中总结而来。 | |||
== 主服聊天框功能 == | == 主服聊天框功能 == | ||
| 第127行: | 第176行: | ||
=== 计算器 === | === 计算器 === | ||
语法 | |||
<code><expression>=?</code> | |||
返回由python计算的算式结果。<code><expression></code>必须满足下列regex:<code>^[0-9+\-*/%.(),\s]*$</code> | |||
=== 轨迹记录 === | |||
语法 | |||
<code>#</code><br> | |||
记录当前位置,如果没有进行中的记录则开始一次记录。 | |||
<code>(!|!!)</code><br> | |||
记录当前位置,并停止正在进行的记录。 | |||
<code>#track <interval></code><br> | |||
开始一次自动记录。 | |||
记录玩家的位置,并在记录结束时将记录通过QQ发送给玩家。自动记录的间隔<code><interval></code>以秒为单位,不能小于0.2秒。使用<code>!</code>结束记录时,近似在一条直线上的点只会保留两端,使用<code>!!</code>则不会有上述行为。 | |||
[[Category:其他]] | |||
2025年11月10日 (一) 11:58的版本
由于tx风控和Mirai对高版本QQ签名停止支持,旧版部娘bot已经逐渐无法稳定运行,最终于2025年3月26日停用。当日陈猫即搭建了基于NapCatQQ的bot并逐渐从部娘bot迁移功能。六元环又接入了麦麦bot,使部娘成为可以与服务器进行通信、使用群指令,还可以使用LLM聊天的综合型bot。本页面将会介绍部娘bot的各种功能。
本文使用和Minecraft Wiki相同的方法描述命令语法。
从#help开始
语法
#help [<command>]
仅限私聊。返回指令列表。如果指定了<command>,则会返回相应指令的详细帮助。
信息查询与设置
在线玩家查询
语法
#list
返回在线玩家列表,包括在线的假人。
bot与服务器状态查询
语法
#test
返回服务器状态和在线玩家列表。可以通过该指令确认bot是否正常在线。
用户信息查询
语法
#info [<query>]
返回用户的部门ID、MC ID、MC皮肤和QQ号。如果没有指定<query>,则返回发送者的用户信息,否则将会尝试把<query>分别解析为部门ID、MCID和QQ号进行查找,返回所有匹配的用户信息。
个人信息设置
语法
setID <id>
setMCID <mcid>
仅限私聊。设置自己的部门ID和MC ID。这些信息将与你的QQ账号绑定,如果与他人既有的ID产生冲突将导致设置失败。
部门ID发生更改时会通知主群。
Mojang虽然会存储MC ID的大小写情况,但是身份验证服务器实际上对大小写不敏感。设置MC ID时,bot会存储大小写,但是大小写的差异不会影响白名单。此外,将要设置的MC ID如果与既有的ID只有大小写差异会被视为冲突导致设置失败。
服务器卡顿信息查询
语法
#profile (entities|health) [<tick>]
#tick -> profile
仅限主群。返回服务器卡顿信息。该功能会调用Carpet模组的相关功能。如果没有指定<tick>,默认监测100游戏刻,否则监测<tick>游戏刻。<tick>最小为20,最大为600。
消息互通与连续聊天模式
主群和主服之间的消息互通
发送在主群的消息会通过RCON转发至主服,除非满足以下任意一条:
- 消息包含文字、图片和表情之外的内容;
- 消息以
#、;;[需要验证]或;;[需要验证]开头; - 消息超过RCON能够转发的长度上限;
- 发送者没有设置部门ID。
如果消息回复了其他人发送的消息,会在转发的消息中产生提示。
发送在主服务器中的消息会通过读取日志的方式获得。如果消息以>、》或>开头,则会转发到主群。可以通过回复bot转发的消息回复发送者。
Bot的群指令和其它功能不会处理自己转发的消息。
其它消息提醒与个性化信息设置
玩家信息播报
如果bot能找到服务器中一位玩家的用户信息,那么他/她登入、登出、取得成就或者登陆受阻时,bot会在主群中发送相应信息。
另外,如果一位用户在登出后60秒内登入,bot会撤回之前发送的登入信息,以防止刷屏。
服务器信息播报
当服务器检测到2秒以上的掉刻时,bot会在主群中播报此信息。
服务器启动、停止或崩溃时,bot也会播报相应信息。
个性化信息设置
语法
#match
显示命令帮助信息。
#match show (login|logout)
显示自定义登入/登出消息列表。
#match add (login|logout) <message>
添加自定义登入/登出消息。
#match del (login|logout) <index>
删除自定义登入/登出消息。
#match reset (login|logout)
重置自定义登入/登出消息。
#match test [<times>]
测试自定义登入/登出消息。
仅限私聊。管理自定义登入/登出消息。默认值情况下,登入和登出消息的默认值分别是[Login]<部内id>加入了游戏和[Logout]<部内id>退出了游戏 。当设置了自定义消息后,登入和登出消息将从设置的消息列表中抽取。
参数
login和logout分别代表登入和登出消息。
<message>是贪婪字符串,命令剩余部分都会被视为此参数。%为部内ID的占位符,替换时会带上<>,一条消息至少要使用此占位符1次,至多4次。含占位符的消息总长度不能超过61个半角字符。1个全角字符将视为2个半角字符。因没有适配转义,消息无法包含字面量%。
<index>为消息的编号,可以通过#match show查看。
<times>为要测试的次数,不指定时默认为1。
返回值
#match返回命令帮助信息。
#match (show|add|del)返回操作后对应类型的消息列表。
#match reset返回“重置成功”的消息。
#match test返回指定次数的测试结果,每次测试包含登入和登出消息各一条。
警钟长鸣
语法
#alert [add <content>]
敲警钟或添加警钟。不使用add时,将会随机返回一条警钟消息,否则将会把<content>的内容作为警钟消息添加到数据库中并返回此消息的复述。<content>是贪婪字符串,命令剩余部分都会被视为此参数。
在主群中,每人每天至多分别使用一次#alert和#alert add。
实用功能
切换为假人
语法
#shadow [...]
仅限私聊。控制假人。语法详见此处,不支持spawn和drop子命令。如果没有指定参数,则以假人登录,否则按照参数执行假人指令。返回值为执行/player的结果,如果执行成功正常应该返回(无结果)。
踢出自己
语法
#kick
仅限私聊。使自己下线。返回一条提示信息。
获取实时高清地图
语法
#img (world|DIM-1|DIM1) <start> <end> {[marker=(off|on)] [maxpix=<maxpix>] [format=<format>]}
仅限私聊。返回指定区域的地图图片。
参数[需要更多信息]
world、DIM-1和DIM1分别指主世界、下界和末地。
<start>和<end>为2维整数坐标,指定起止点。任意坐标轴方向上的长度不能超过4000格。
模拟群友功能
在主群中可以与部娘bot进行对话,功能包括但不限于长期记忆、识别图片、检索wiki、在线检索、发送表情包等。(我们新式的ai已经完爆了老式的随机复读机)
具体实现原理详见麦麦bot。
查看部娘对你的印象
语法
#impress
仅限私聊。返回部娘对你的印象。该印象是从麦麦bot获取的隐藏数据,从群聊日常中总结而来。
主服聊天框功能
以下功能通过在主服聊天框打字触发。
计算器
语法
<expression>=?
返回由python计算的算式结果。<expression>必须满足下列regex:^[0-9+\-*/%.(),\s]*$
轨迹记录
语法
#
记录当前位置,如果没有进行中的记录则开始一次记录。
(!|!!)
记录当前位置,并停止正在进行的记录。
#track <interval>
开始一次自动记录。
记录玩家的位置,并在记录结束时将记录通过QQ发送给玩家。自动记录的间隔<interval>以秒为单位,不能小于0.2秒。使用!结束记录时,近似在一条直线上的点只会保留两端,使用!!则不会有上述行为。