“部娘bot(新)”的版本间差异

来自ThunionWiki
(修改 tooltip 文字样式)
(改用Template:Tooltip
第40行: 第40行:
<code>setMCID &lt;mcid&gt;</code>
<code>setMCID &lt;mcid&gt;</code>


'''仅限私聊。'''设置自己的<span title="setID" style="text-decoration: underline dotted; cursor: help;">部门ID</span><span title="setMCID" style="text-decoration: underline dotted; cursor: help;">MC ID</span>。这些信息将与你的QQ账号绑定,如果与他人既有的ID产生冲突将导致设置失败。
'''仅限私聊。'''设置自己的{{Tooltip|部门ID|tooltip=setID}}{{Tooltip|MC ID|tooltip=setMCID}}。这些信息将与你的QQ账号绑定,如果与他人既有的ID产生冲突将导致设置失败。


部门ID发生更改时会通知主群。
部门ID发生更改时会通知主群。
第59行: 第59行:
发送在主群的消息会通过[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]转发至主服,除非满足以下任意一条:
发送在主群的消息会通过[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: underline dotted; cursor: help;">[需要验证]</span></sup>或<span title="U+FF1B 全形分号" style="text-decoration: underline dotted; text-underline-offset: 7px; cursor: help;"><code>;;</code></span><sup><span title="旧版部娘功能,未测试" style="text-decoration: underline dotted; cursor: help;">[需要验证]</span></sup>开头;
* 消息以<code>#</code>、<code>;;</code><sup>{{Tooltip|[需要验证]|tooltip=旧版部娘功能,未测试}}</sup>或{{Tooltip|<code>;;</code>|tooltip=U+FF1B 全形分号|offset=7}}<sup>{{Tooltip|[需要验证]|tooltip=旧版部娘功能,未测试}}</sup>开头;
* 消息超过RCON能够转发的长度上限;
* 消息超过RCON能够转发的长度上限;
* 发送者没有设置部门ID。
* 发送者没有设置部门ID。
如果消息回复了其他人发送的消息,会在转发的消息中产生提示。
如果消息回复了其他人发送的消息,会在转发的消息中产生提示。


发送在主服务器中的消息会通过读取日志的方式获得。如果消息以<code>&gt;</code>、<code>》</code>或<span title="U+FF1E 全形大于号" style="text-decoration: underline dotted; text-underline-offset: 7px; cursor: help;"><code>></code></span>开头,则会转发到主群。可以通过回复bot转发的消息回复发送者。
发送在主服务器中的消息会通过读取日志的方式获得。如果消息以<code>&gt;</code>、<code>》</code>或{{Tooltip|<code>></code>|tooltip=U+FF1E 全形大于号|offset=7}}开头,则会转发到主群。可以通过回复bot转发的消息回复发送者。


Bot的群指令和其它功能不会处理自己转发的消息。
Bot的群指令和其它功能不会处理自己转发的消息。
第127行: 第127行:
<code>#alert [add &lt;content&gt;]</code>
<code>#alert [add &lt;content&gt;]</code>


敲警钟或添加警钟。不使用<code>add</code>时,将会随机返回一条警钟消息,否则将会把</code>&lt;content&gt;</code>的内容作为警钟消息添加到数据库中并返回此消息的复述。</code>&lt;content&gt;</code>是贪婪字符串,命令剩余部分都会被视为此参数。
敲警钟或添加警钟。不使用<code>add</code>时,将会随机返回一条警钟消息,否则将会把<code>&lt;content&gt;</code>的内容作为警钟消息添加到数据库中并返回此消息的复述。<code>&lt;content&gt;</code>是贪婪字符串,命令剩余部分都会被视为此参数。


在主群中,每人每天至多分别使用一次<code>#alert</code>和<code>#alert add</code>。
在主群中,每人每天至多分别使用一次<code>#alert</code>和<code>#alert add</code>。
第135行: 第135行:
语法
语法


<code>#shadow [<span title="详细语法参见下文。" style="text-decoration: underline dotted; text-underline-offset: 7px; cursor: help;">...</span>]</code>
<code>#shadow [{{Tooltip|...|tooltip=详细语法参见下文。|offset=7}}]</code>


'''仅限私聊。'''控制假人。语法详见[https://github.com/gnembon/fabric-carpet/wiki/Commands#player 此处],不支持<code>spawn</code>和<code>drop</code>子命令。如果没有指定参数,则以假人登录,否则按照参数执行假人指令。返回值为执行<code>/player</code>的结果,如果执行成功正常应该返回'''(无结果)'''。
'''仅限私聊。'''控制假人。语法详见[https://github.com/gnembon/fabric-carpet/wiki/Commands#player 此处],不支持<code>spawn</code>和<code>drop</code>子命令。如果没有指定参数,则以假人登录,否则按照参数执行假人指令。返回值为执行<code>/player</code>的结果,如果执行成功正常应该返回'''(无结果)'''。
第149行: 第149行:
语法
语法


<code>#img (world|DIM-1|DIM1) &lt;start&gt; &lt;end&gt; <span title="这些关键字参数的出现顺序无关紧要。" style="text-decoration: underline dotted; text-underline-offset: 7px; cursor: help;">{[marker=(off|on)] [maxpix=&lt;maxpix&gt;] [format=&lt;format&gt;]}</span></code>
<code>#img (world|DIM-1|DIM1) &lt;start&gt; &lt;end&gt; {{Tooltip|<nowiki>{[marker=(off|on)] [maxpix=&lt;maxpix&gt;] [format=&lt;format&gt;]}</nowiki>|tooltip=这些关键字参数的出现顺序无关紧要。|offset=7}}</code>


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


参数<sup><span title="关键字参数的功能未测试。" style="text-decoration: underline dotted; cursor: help;">[需要更多信息]</span></sup>
参数<sup>{{Tooltip|[需要更多信息]|tooltip=关键字参数的功能未测试。}}</sup>


<code>world</code>、<code>DIM-1</code>和<code>DIM1</code>分别指主世界、下界和末地。
<code>world</code>、<code>DIM-1</code>和<code>DIM1</code>分别指主世界、下界和末地。

2025年11月10日 (一) 21:04的版本

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

实用功能

切换为假人

语法

#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>必须满足下列regex:^[0-9+\-*/%.(),\s]*$

轨迹记录

语法

#
记录当前位置,如果没有进行中的记录则开始一次记录。

(!|!!)
记录当前位置,并停止正在进行的记录。

#track <interval>
开始一次自动记录。

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