“部娘bot”的版本间差异

来自ThunionWiki
(创建页面,内容为“ == 从#help开始 ==”)
 
 
(未显示同一用户的24个中间版本)
第1行: 第1行:
部娘bot是由@[[用户:Hexatomic ring|六元环]]基于[https://gitee.com/Glavo/meow-bot#https://github.com/mamoe/mirai 喵呜呜二号]的框架上开发而来的qq群助手。本页面将会介绍部娘bot的各种群指令和隐藏功能。


== 从#help开始 ==
对部娘bot私聊发送''#help''可以返回群指令列表。
注1:该指令仅限私聊使用。
注2:由于在未添加好友的情况下,[https://github.com/mamoe/mirai mirai]不能发送过长的文本,因此不得不分条发送。
== 信息查询与设置 ==
=== 在线玩家查询 ===
发送 ''#list'' 可以返回当前主服务器中在线的玩家列表。
注:该指令可以在主群或私聊使用。
=== bot与服务器状态查询 ===
发送 ''#test'' 可以返回bot与服务器状态。
可通过该指令确认bot是否在线。当bot在线时,可通过该指令确认主服是否停机。
=== 用户信息查询 ===
发送以 ''#info'' 开头的消息可以返回用户的部内id与MC id。
如果该信息没有包含有效的@,则返回发送者的信息;如果包含了有效的@,则返回第一个被@的用户信息。
注:该指令可以在主群或私聊使用。
=== 个人信息设置 ===
发送 ''#setID 你的部门ID'' 可以设置或更改自己的部内id;
发送 ''#setMCID 你的部门ID'' 可以设置或更改自己的MC id。
部内id是部内大家对你的称呼,MC id则是你的Minecraft账号。这两个信息与你的qq账号都是一对一绑定的,如果与别人的id或MC id冲突,会导致设置失败。
在设置或更改MC id的时候,bot会将你的旧MC id移出主服白名单,并将新MC id添加到主服白名单。
注1:MC id对大小写不敏感,即你无法将自己的MC id改为与别人的MC id仅大小写不同,但可以更改自己MC id的大小写状态。不同的大小写状态仅在bot的数据库中不同,对于白名单则没有影响。
注2:由于之前bot对MC id的大小写敏感,导致了部分信息无法匹配到玩家,并且可以通过设置与别人仅大小写不同的MC id,将别人的id移出服务器白名单。该bug已于2021年8月21日修复。
注3:该指令仅限私聊使用。
=== 服务器卡顿信息查询 ===
在主群中发送 ''#tick entities'' 或 ''#tick health'' 可以查询服务器卡顿信息(即carpet mod的对应功能)。
注1:仅限群聊中使用。由于该功能会检测服务器一段时间,在获得返回信息前会锁定该功能。如果发生了异常锁定而无法使用,请联系管理员强制解除。
注2:该命令后可加参数,即监测时长,单位为tick,最小为20,最大为600,默认值为100。
== 消息互通与连续聊天模式 ==
=== 主群和主服之间的消息互通 ===
发送在主群的消息会通过rcon转发至主服,如果该消息满足以下条件:
*消息不以 ''#'' 开头;
*用户处于连续聊天模式或消息以 ''>'' 或 ''》'' 或 ''>'' 开头;
*消息不以 '';;'' 或 '';;'' 开头;
*消息没有被其它功能拦截;
设置过mcid的用户被转发的消息,发送者会显示为对应的mcid,否则显示群名片。
注1:过长的消息无法被转发,长度上限与rcon设置有关。
注2:转发的消息不会被记录在服务器log中。
注3:消息的双向转发都会进行一些敏感词替换。
发送在主服务器中的消息会通过读取log的方式获得并转发至主群,如果消息以''>'' 或 ''》'' 或 ''>'' 开头。
注:bot的群指令和其它功能不会处理自己转发的消息。
=== 连续聊天模式 ===
处于该模式下的用户发送的消息无需以''>'' 或 ''》'' 或 ''>''开头,即可被转发至主服中,除非以 ''#'' 或 '';;'' 或 '';;'' 开头,或被其他功能拦截。
所有用户默认处于连续聊天模式。
发送 ''#chat'' 可以返回与连续聊天模式相关的指令;
发送 ''#chat on'' 可以进入连续聊天模式;
发送 ''#chat off'' 可以退出连续聊天模式;
发送 ''#chat status'' 可以查询当前是否在连续聊天模式下;
发送 ''#chat list'' 可以查看所有处于连续聊天模式下的用户。
注:以上指令仅限私聊使用。
== 其它消息提醒与个性化信息设置 ==
=== 玩家信息播报 ===
如果bot能找到服务器中一位玩家的用户信息,那么他/她登录、登出、取得成就或者登陆受阻时,bot会在主群中发送该信息。Bot还会转发服务器卡顿信息,和服务器启动/停止信息。
另外,如果一位用户在登出后60秒内登入,bot会撤回之前发送的登入信息,以防止仰卧起坐或者使用传送站而刷屏。
=== 卡顿信息播报 ===
当服务器检测到超过2秒(即40gt)以上的卡顿时,会将信息在服务器中广播并记录该次信息。如果距离上一次播报已经超过t分钟,则会将t分钟内的卡顿次数和平均卡顿时长反馈到主群。t默认值为5,且可以由管理员设置。当一次卡顿超过10秒时会强制播报。


== #help开始 ==
 
=== 个性化信息设置 ===
玩家可以个性化设置的信息有的登录、登出两种,默认值分别为 ''[Login]<部内id>加入了游戏'' 和 ''[Logout]<部内id>退出了游戏'' 。玩家可以为自己添加或删除随机项,设置之后登录、登出时会从随机项中随机一条信息发送。
 
发送 ''#match'' 可以返回与个性化信息设置相关的指令;
 
发送 ''#match add <类型> <信息内容>'' 可以增加该类型的随机项;
 
发送 ''#match reset <类型>'' 可以重设该类型;
 
发送 ''#match show <类型>'' 可以显示该类型所有项;
 
发送 ''#match del <类型> <index>'' 可以删除该类型的某一项;
 
发送 ''#match test'' 对所有信息类型进行一次测试。
 
<类型>包含:login(登录),logout(登出),<index>为序号(从0开始,也是#match show返回的列表中的序号)。
 
用%代替自己的id。
 
注1:任意信息类型必须至少包含自己的id(即%)一次。
 
注2:为防止有些玩家部内id过于简单且可随时设置,因此后来加入尖括号以防止无法辨认。
 
注3:以上指令仅限私聊使用。
 
== 实用功能 ==
=== 踢出自己 ===
当你在外挂机需要下线的时候,可以私聊bot发送 ''#kick'' 以使自己下线。
 
=== 获取实时高清地图 ===
发送 ''#img 世界(overworld/the_nether/the_end) x轴起始值 z轴起始值 x轴终值 z轴终值'' 可以返回该范围内的一张高清地图,其由dynmap产生的地图碎片拼接而来,分辨率为每个方块4x4。
 
注1:该指令仅限私聊使用,原因是bot无法在群聊中发送图片。
 
注2:使用该指令可能需要较长时间返回图片,因此地图大小限制为4000x4000.
 
== 其它功能 ==
对于不以 ''#'' 或 ''>'' 或 ''》'' 或 ''>'' 开头的消息可能会触发bot的其它功能,这些功能可能会对消息拦截,使其不被转发或者触发其它优先度更低的功能。
 
整体优先级为玩梗、回复、复读、转发。
 
=== 玩梗===
当群消息中识别到某些关键词/句式时,会触发该功能,进行特殊回复并拦截这条消息。部娘可以识别的句式包括(按优先级从从高到低排序):
 
* A了,但是没有完全A
* A觉得B可以用来C
* A是这样的
* A不是普通的B
* 集结部队
* 不敢苟同
* 贴贴
* 讲解伪和平
 
注:一些句式的回复会带有随机相关词语。
 
注:想大量体验请移步私聊,避免在主群刷屏。
 
=== 回复 ===
 
如果消息中@了bot,会拦截此消息并触发回复功能,bot会从回复库中随机选一条进行回复(相似度接近0.4~0.8的回复概率大幅提高)。该条回复中@bot会被替换为@被回复的用户,并且会将回复中的所有“部娘”替换为被回复用户的部内id。存在已收录的高相似回复会使收录概率降低。回复库上限为1000条,超过上限时,最早的记录会被移除。
 
每天15:00-15:59的回复有0.9^n的概率为“三点几勒,饮茶先啦!”,n为当前时间分钟值。
 
如果你调戏部娘,她也会调戏你。
 
注1:bot每天只能对同一用户回复5次。
 
注2:长于100字符的回复不会被记录。
 
注3:直接和bot私聊也能触发回复(无需@),此功能没有每日限制次数,但用户发送的内容不会被记录进回复库。
 
=== 复读机 ===
 
对于满足以下条件的信息有65%的概率触发复读机:
 
*不包含文件或者音乐分享;
 
*内容与上一条消息相同,但发送者不同(上一条消息不包含 ''#'' 或 ''>'' 或 ''》'' 或 ''>'' 开头的消息,以及bot自己发送的消息);
 
*bot不处于复读冷却时间内;
 
*bot不处于已复读状态中。
 
对任意符合以上第一条但没触发复读的消息,仍有0.5%的概率强制触发复读。
 
对于触发复读的消息,bot进行以下操作:
 
*复读内容有80%的概率添加到回复库;
 
*如果复读消息包含“复读”,有75%的概率发送“禁止”+复读消息;
 
*对于没有触发上一条的复读消息,有3%的概率发送“不要”+复读消息;
 
*对于没有触发上一条的复读消息,有10%的概率发送“打断复读”;
 
*对于没有触发上一条的复读消息,有10%的概率发送复读消息+“!”;
 
*对于没有触发上一条的复读消息,发送复读消息;
 
*进入20秒复读冷却;
 
*进入已复读状态。
 
当一条消息与上一条消息内容不同时会解除已复读状态(不包含 ''#'' 或 ''>'' 或 ''》'' 或 ''>'' 开头的消息,以及bot自己发送的消息)。
 
任意消息均有15%的概率解除已复读状态。
 
触发复读不会拦截消息。

2024年9月13日 (五) 14:16的最新版本

部娘bot是由@六元环基于喵呜呜二号的框架上开发而来的qq群助手。本页面将会介绍部娘bot的各种群指令和隐藏功能。

从#help开始

对部娘bot私聊发送#help可以返回群指令列表。

注1:该指令仅限私聊使用。

注2:由于在未添加好友的情况下,mirai不能发送过长的文本,因此不得不分条发送。

信息查询与设置

在线玩家查询

发送 #list 可以返回当前主服务器中在线的玩家列表。

注:该指令可以在主群或私聊使用。

bot与服务器状态查询

发送 #test 可以返回bot与服务器状态。

可通过该指令确认bot是否在线。当bot在线时,可通过该指令确认主服是否停机。

用户信息查询

发送以 #info 开头的消息可以返回用户的部内id与MC id。

如果该信息没有包含有效的@,则返回发送者的信息;如果包含了有效的@,则返回第一个被@的用户信息。

注:该指令可以在主群或私聊使用。

个人信息设置

发送 #setID 你的部门ID 可以设置或更改自己的部内id;

发送 #setMCID 你的部门ID 可以设置或更改自己的MC id。

部内id是部内大家对你的称呼,MC id则是你的Minecraft账号。这两个信息与你的qq账号都是一对一绑定的,如果与别人的id或MC id冲突,会导致设置失败。

在设置或更改MC id的时候,bot会将你的旧MC id移出主服白名单,并将新MC id添加到主服白名单。

注1:MC id对大小写不敏感,即你无法将自己的MC id改为与别人的MC id仅大小写不同,但可以更改自己MC id的大小写状态。不同的大小写状态仅在bot的数据库中不同,对于白名单则没有影响。

注2:由于之前bot对MC id的大小写敏感,导致了部分信息无法匹配到玩家,并且可以通过设置与别人仅大小写不同的MC id,将别人的id移出服务器白名单。该bug已于2021年8月21日修复。

注3:该指令仅限私聊使用。

服务器卡顿信息查询

在主群中发送 #tick entities#tick health 可以查询服务器卡顿信息(即carpet mod的对应功能)。

注1:仅限群聊中使用。由于该功能会检测服务器一段时间,在获得返回信息前会锁定该功能。如果发生了异常锁定而无法使用,请联系管理员强制解除。

注2:该命令后可加参数,即监测时长,单位为tick,最小为20,最大为600,默认值为100。

消息互通与连续聊天模式

主群和主服之间的消息互通

发送在主群的消息会通过rcon转发至主服,如果该消息满足以下条件:

  • 消息不以 # 开头;
  • 用户处于连续聊天模式或消息以 > 开头;
  • 消息不以 ;;;; 开头;
  • 消息没有被其它功能拦截;

设置过mcid的用户被转发的消息,发送者会显示为对应的mcid,否则显示群名片。

注1:过长的消息无法被转发,长度上限与rcon设置有关。

注2:转发的消息不会被记录在服务器log中。

注3:消息的双向转发都会进行一些敏感词替换。


发送在主服务器中的消息会通过读取log的方式获得并转发至主群,如果消息以> 开头。

注:bot的群指令和其它功能不会处理自己转发的消息。

连续聊天模式

处于该模式下的用户发送的消息无需以>开头,即可被转发至主服中,除非以 #;;;; 开头,或被其他功能拦截。

所有用户默认处于连续聊天模式。

发送 #chat 可以返回与连续聊天模式相关的指令;

发送 #chat on 可以进入连续聊天模式;

发送 #chat off 可以退出连续聊天模式;

发送 #chat status 可以查询当前是否在连续聊天模式下;

发送 #chat list 可以查看所有处于连续聊天模式下的用户。

注:以上指令仅限私聊使用。


其它消息提醒与个性化信息设置

玩家信息播报

如果bot能找到服务器中一位玩家的用户信息,那么他/她登录、登出、取得成就或者登陆受阻时,bot会在主群中发送该信息。Bot还会转发服务器卡顿信息,和服务器启动/停止信息。

另外,如果一位用户在登出后60秒内登入,bot会撤回之前发送的登入信息,以防止仰卧起坐或者使用传送站而刷屏。

卡顿信息播报

当服务器检测到超过2秒(即40gt)以上的卡顿时,会将信息在服务器中广播并记录该次信息。如果距离上一次播报已经超过t分钟,则会将t分钟内的卡顿次数和平均卡顿时长反馈到主群。t默认值为5,且可以由管理员设置。当一次卡顿超过10秒时会强制播报。


个性化信息设置

玩家可以个性化设置的信息有的登录、登出两种,默认值分别为 [Login]<部内id>加入了游戏[Logout]<部内id>退出了游戏 。玩家可以为自己添加或删除随机项,设置之后登录、登出时会从随机项中随机一条信息发送。

发送 #match 可以返回与个性化信息设置相关的指令;

发送 #match add <类型> <信息内容> 可以增加该类型的随机项;

发送 #match reset <类型> 可以重设该类型;

发送 #match show <类型> 可以显示该类型所有项;

发送 #match del <类型> <index> 可以删除该类型的某一项;

发送 #match test 对所有信息类型进行一次测试。

<类型>包含:login(登录),logout(登出),<index>为序号(从0开始,也是#match show返回的列表中的序号)。

用%代替自己的id。

注1:任意信息类型必须至少包含自己的id(即%)一次。

注2:为防止有些玩家部内id过于简单且可随时设置,因此后来加入尖括号以防止无法辨认。

注3:以上指令仅限私聊使用。

实用功能

踢出自己

当你在外挂机需要下线的时候,可以私聊bot发送 #kick 以使自己下线。

获取实时高清地图

发送 #img 世界(overworld/the_nether/the_end) x轴起始值 z轴起始值 x轴终值 z轴终值 可以返回该范围内的一张高清地图,其由dynmap产生的地图碎片拼接而来,分辨率为每个方块4x4。

注1:该指令仅限私聊使用,原因是bot无法在群聊中发送图片。

注2:使用该指令可能需要较长时间返回图片,因此地图大小限制为4000x4000.

其它功能

对于不以 #> 开头的消息可能会触发bot的其它功能,这些功能可能会对消息拦截,使其不被转发或者触发其它优先度更低的功能。

整体优先级为玩梗、回复、复读、转发。

玩梗

当群消息中识别到某些关键词/句式时,会触发该功能,进行特殊回复并拦截这条消息。部娘可以识别的句式包括(按优先级从从高到低排序):

  • A了,但是没有完全A
  • A觉得B可以用来C
  • A是这样的
  • A不是普通的B
  • 集结部队
  • 不敢苟同
  • 贴贴
  • 讲解伪和平

注:一些句式的回复会带有随机相关词语。

注:想大量体验请移步私聊,避免在主群刷屏。

回复

如果消息中@了bot,会拦截此消息并触发回复功能,bot会从回复库中随机选一条进行回复(相似度接近0.4~0.8的回复概率大幅提高)。该条回复中@bot会被替换为@被回复的用户,并且会将回复中的所有“部娘”替换为被回复用户的部内id。存在已收录的高相似回复会使收录概率降低。回复库上限为1000条,超过上限时,最早的记录会被移除。

每天15:00-15:59的回复有0.9^n的概率为“三点几勒,饮茶先啦!”,n为当前时间分钟值。

如果你调戏部娘,她也会调戏你。

注1:bot每天只能对同一用户回复5次。

注2:长于100字符的回复不会被记录。

注3:直接和bot私聊也能触发回复(无需@),此功能没有每日限制次数,但用户发送的内容不会被记录进回复库。

复读机

对于满足以下条件的信息有65%的概率触发复读机:

  • 不包含文件或者音乐分享;
  • 内容与上一条消息相同,但发送者不同(上一条消息不包含 #> 开头的消息,以及bot自己发送的消息);
  • bot不处于复读冷却时间内;
  • bot不处于已复读状态中。

对任意符合以上第一条但没触发复读的消息,仍有0.5%的概率强制触发复读。

对于触发复读的消息,bot进行以下操作:

  • 复读内容有80%的概率添加到回复库;
  • 如果复读消息包含“复读”,有75%的概率发送“禁止”+复读消息;
  • 对于没有触发上一条的复读消息,有3%的概率发送“不要”+复读消息;
  • 对于没有触发上一条的复读消息,有10%的概率发送“打断复读”;
  • 对于没有触发上一条的复读消息,有10%的概率发送复读消息+“!”;
  • 对于没有触发上一条的复读消息,发送复读消息;
  • 进入20秒复读冷却;
  • 进入已复读状态。

当一条消息与上一条消息内容不同时会解除已复读状态(不包含 #> 开头的消息,以及bot自己发送的消息)。

任意消息均有15%的概率解除已复读状态。

触发复读不会拦截消息。