部娘bot(新)

来自ThunionWiki
(重定向自部娘

由于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>

仅限私聊。设置自己的部门IDMC 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>退出了游戏 。当设置了自定义消息后,登入和登出消息将从设置的消息列表中抽取。

参数

loginlogout分别代表登入和登出消息。

<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

电击幻翼

语法

#djhy

仅限主群。解释“电击幻翼”是什么意思。

实用功能

切换为假人

语法

#shadow [...]

仅限私聊。控制假人。语法详见此处,不支持spawndrop子命令。如果没有指定参数,则以假人登录,否则按照参数执行假人指令。返回值为执行/player的结果,如果执行成功正常应该返回(无结果)

踢出自己

语法

#kick

仅限私聊。使自己下线。返回一条提示信息。

获取实时高清地图

语法

#img (world|DIM-1|DIM1) <start> <end> {[marker=(off|on)] [maxpix=<maxpix>] [format=<format>]}

仅限私聊。返回指定区域的地图图片。

参数[需要更多信息]

worldDIM-1DIM1分别指主世界、下界和末地。

<start><end>为2维整数坐标,指定起止点。任意坐标轴方向上的长度不能超过4000格。

模拟群友功能

在主群中可以与部娘bot进行对话,功能包括但不限于长期记忆、识别图片、检索wiki、在线检索、发送表情包等。(我们新式的ai已经完爆了老式的随机复读机)

具体实现原理详见麦麦bot

查看部娘对你的印象

语法

#impress

仅限私聊。返回部娘对你的印象。该印象是从麦麦bot获取的隐藏数据,从群聊日常中总结而来。

主服聊天框功能

以下功能通过在主服聊天框打字触发。

计算器

语法

<expression>=?

返回由python计算的算式结果。<expression>只能包含以下字符:0123456789+-*/ 

轨迹记录

语法

#
记录当前位置,如果没有进行中的记录则开始一次记录。
(!|!!)
记录当前位置,并停止正在进行的记录。
#track <interval>
开始一次自动记录。

记录玩家的位置,并在记录结束时将记录通过QQ发送给玩家。自动记录的间隔<interval>以秒为单位,不能小于0.2秒。使用!结束记录时,近似在一条直线上的点只会保留两端,使用!!则不会有上述行为。