对话模块

懒孩纸(*^ω^*)

刚入坑的萌新
2020-05-29
38
14
8
&&本模块依照QR官方词库的违禁系统修改而生
&&使用mt的搜索替换功能可方便你快速修改
&&QR又在迁移服务器,我懒得等测试了,所以可能还有bug
&&写了部分注释,自己看着改。
&&至于表情。。。我不会取~

指令集
设管理@.*\r\n
机器人对话(开|关)\r\n
添加对话(.*)回复(.*)\r\n
删除对话(.*)\r\n
对话列表\r\n
对话触发列表\r\n
对话回复列表\r\n
注:不要有空格,符号尽量不要有
以上

设管理@.*
##个人习惯,设置权限。
如果:%QQ%!=%主人%
无权限。
返回
如果尾
$写 机器人/管理/%AT0% 1 1$
好了~

机器人对话开
Q:$读 机器人/管理/%QQ% 1 0$
如果:%Q%!=1
$回调 AT$
你不是管理哦~
返回
如果尾
如果:$读 机器人/群列表/%群号%/开关/对话 1 0$==1
开着呢~
返回
如果尾
$写 机器人/群列表/%群号%/开关/对话 1 1$
打开啦~

机器人对话关
Q:$读 机器人/管理/%QQ% 1 0$
如果:%Q%!=1
$回调 AT$
你不是管理哦~
返回
如果尾
如果:$读 机器人/群列表/%群号%/开关/对话 1 0$==0
关着呢~
返回
如果尾
$写 机器人/群列表/%群号%/开关/对话 1 0$
关上啦~

添加对话(.*)回复(.*)
Q:$读 机器人/管理/%QQ% 1 0$
如果:%Q%!=1
$回调 AT$
你不是管理哦~
返回
如果尾
B:$字符长度 %括号1%$##触发词为包含就回复,不建议过短
如果:%B%<3
太短了,我可不想刷屏。
返回
如果尾
C:$字符长度 %括号2%$
如果:%C%<1
你想我回复什么???
返回
如果尾
W:$读 机器人/对话/data.txt 1 空$##触发词,用作匹配
A:$读 机器人/对话/date1.txt 1 0$##已写入对话总数,总数+1=新建对话编号
如果:%W%==
$写 机器人/对话/data.txt 1 %括号1%$
$写 机器人/对话/date1.txt 1 [%A%+1]$
$写 机器人/对话/date2.txt %括号1% [%A%+1]$##键=触发词,值=对话编号。用于取编号
$写 机器人/对话/date3.txt [%A%+1] %括号1%$##键=对话编号,值=触发词。用于列表,方便管理。
$写 机器人/对话/date4.txt [%A%+1] %括号2%$##键=对话编号,值=回复词。同上,还用于回复
添加对话成功
返回
如果尾
如果:%W%==空
$写 机器人/对话/data.txt 1 %括号1%$
$写 机器人/对话/date1.txt 1 [%A%+1]$
$写 机器人/对话/date2.txt %括号1% [%A%+1]$
$写 机器人/对话/date3.txt [%A%+1] %括号1%$
$写 机器人/对话/date4.txt [%A%+1] %括号2%$
添加对话成功
返回
如果尾
T:$替换 € %W%€|€¥$
正则:%T%¥==.*(%括号1%¥).*
添加失败\r\n
当前对话已存在
返回
如果尾
$写 机器人/对话/data.txt 1 %括号1%$
$写 机器人/对话/date1.txt 1 [%A%+1]$
$写 机器人/对话/date2.txt %括号1% [%A%+1]$
$写 机器人/对话/date3.txt [%A%+1] %括号1%$
$写 机器人/对话/date4.txt [%A%+1] %括号2%$
添加对话成功

删除对话(.*)
Q:$读 机器人/管理/%QQ% 1 0$
如果:%Q%!=1
$回调 AT$
你不是管理哦~
返回
如果尾
W:$读 机器人/对话/data.txt 1 空$
A:$替换 @ %W%@%括号1%@$
A:$替换 Э %A%Э||Э|$
如果:%A%==
至少保留一个对话
返回
如果尾
如果:%A%==空
至少保留一个对话
返回
如果尾
$写 机器人/对话/data.txt 1 %A%$
B:$读 机器人/对话/date2.txt %括号1% 0$
$写 机器人/对话/date3.txt %B% 0$
$写 机器人/对话/date4.txt %B% 0$
删除对话成功

对话列表
$调用 0 对话列表1$

对话触发列表
$调用 0 对话触发列表1$

对话回复列表
$调用 0 对话回复列表1$

[内部]对话列表1
A:$读 机器人/对话/date1.txt 1 0$
B:$读 缓存/对话列表 1 1$
如果:%B%>%A%
$写 缓存/对话列表 1 0$
注:空处为已删除对话\r\n
以上
返回
如果尾
$写 缓存/对话列表 1 [%B%+1]$
C:$读 机器人/对话/date3.txt %B% 0$
D:$读 机器人/对话/date4.txt %B% 0$
如果:%C%!=
%B%、触发:%C%\r\n
%B%、回复:%D%\r\n
$回调 对话列表1$
返回
如果尾
$回调 对话列表1$

[内部]对话触发列表1
A:$读 机器人/对话/date1.txt 1 0$
B:$读 缓存/对话触发 1 1$
如果:%B%>%A%
$写 缓存/对话触发 1 0$
注:空处为已删除对话\r\n
以上
返回
如果尾
$写 缓存/对话触发 1 [%B%+1]$
C:$读 机器人/对话/date3.txt %B% 0$
如果:%C%!=
%B%:%C%\r\n
$回调 对话触发列表1$
返回
如果尾
$回调 对话触发列表1$

[内部]对话回复列表1
A:$读 机器人/对话/date1.txt 1 0$
B:$读 缓存/对话回复 1 1$
如果:%B%>%A%
$写 缓存/对话回复 1 0$
注:空处为已删除对话\r\n
以上
返回
如果尾
$写 缓存/对话回复 1 [%B%+1]$
C:$读 机器人/对话/date4.txt %B% 0$
如果:%C%!=
%B%:%C%\r\n
$回调 对话回复列表1$
返回
如果尾
$回调 对话回复列表1$

[内部]AT
@%昵称%
±at %QQ%±:\r\n

[内部]读对话
$读 机器人/对话/data.txt 1 空$

(?i)[\s\S]*($回调内部 读对话$)[\s\S]*
Z:$读 机器人/群列表/%群号%/开关/对话 1 0$
如果:%Z%!=1
返回
如果尾
如果:%括号1%==
返回
如果尾
如果:%括号1%==空
返回
如果尾
A:$读 机器人/对话/date2.txt %括号1% 0$
B:$读 机器人/对话/date4.txt %A% 0$
%B%
 

懒孩纸(*^ω^*)

刚入坑的萌新
2020-05-29
38
14
8
%FACE0%##和%IMG0%用法差不多
±face 1±##不会
↑表情相关(不是表情包那些,那些算图片,是这种?)