利用{FormFeed}实现简单地概率回复和延时回复

使用《署名—非商业性使用—相同方式共享 4.0 协议国际版》(CC BY-NC-SA 4.0)进行授权
https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode.zh-Hans
基本信息:

  • 作者:タブー術
  • 联系方式:qq2646962622
  • 版本:v1.0
  • 更新日期:2022/1/17
  • 简介:利用消息发送间隔实现概率回复和延时回复
  • 许可协议:CC BY-NC-SA 4.0

实现概率回复

原理

用{FormFeed}代替回复词,可以达到不回复的效果
值得一提的是,根据以前的实验,如果用||这样空或者\n并不会在reply show中显示,而且回复概率很迷

具体应用

.reply 触发词 {FormFeed}|回复词

.reply set
Match=触发词
Deck={FormFeed}|回复词

效果图

根据之前的帖子顺便捞一下自定义回复机制和牌堆机制相似
做到快捷地设置概率回复
如图

方法2: 更新至598及以上,使用Limit(具体见手册)

实现延时回复

原理

消息发送间隔(.admin SendIntervalIdle=500)
一般地,Dice!的待发送QQ消息不会立即发送,而是进入发送队列排队发送,并在每次发送后等待固定时间,即发送间隔(ms)。
{FormFeed}分段的实质是将该条消息延迟一个消息间隔,默认为500ms

示例

如图

{FormFeed}越多,延时越长

利用牌堆快捷实现随机延时回复

我把{FormFeed}做成牌堆,可以通过调用牌堆进行快捷地设置延时回复,同时也可以做到跨牌堆调用(如果有人制作牌堆需要这个)应该只有兔兔把回复弄成牌堆
下载:

55d3b829-087e-419f-a7a5-4d2f61bb30bb.zip
444B

将文件放入DiceQQ号/PublicDeck内并重启或load

以下时间计算使用默认的.admin SendIntervalIdle=500
实际时间可根据实际消息间隔计算
实际延时=(SendIntervalIdle实际值)*预计随机延时÷500

(例如.admin SendIntervalIdle=1000,第一个的实际延时为27s)
.reply 触发词 {__低延时}回复词 预计随机延时1s到3.5s

.reply 触发词 {__中延时}回复词 预计随机延时4s到6.5s

.reply 触发词 {__低中延时}回复词 预计随机延时1s到6.5s

.reply 触发词 {__高延时}回复词 预计随机延时7s到9.5s
.reply 触发词 {__超高延时}回复词 预计随机延时10s到12.5s

.reply 触发词 {___全延时}回复词 预计随机延时1s到12.5s

感谢仑质大佬,我用递归牌堆做出的延时
【原创牌堆】有多长 - 有关牌堆概率实现的试验性牌堆
未经过大量测试,存在爆栈的风险,请谨慎使用这三条
.reply 触发词 {__递归延时1}回复词 时间不短
.reply 触发词 {__递归延时2}回复词 时间长
.reply 触发词 {__递归延时3}回复词 时间很长很长~

延时了一个小时大获成功
注意:由于存在SendIntervalBusy机制(忙时消息队列处理一条消息发送的间隔),理论上会导致延时失效

延时具体应用

稍后会上传一个牌堆

反向应用

有没有可能将.admin SendIntervalIdle设置的更小,例如为10,用大量的{FormFeed}调控发送时间的长短,做到真正地随机及时回复

点个赞再走呗~

5 天 后
说点什么吧...