违禁词管理

目录

一、添加违禁词

1.添加一个违禁词

2.批量添加违禁词

二、违禁词实时检测

 三、查看违禁词

四、删除违禁词

1.删除一个违禁词

2.批量删除违禁词

五、清空违禁词

 


一、添加违禁词

1.添加一个违禁词


添加违禁词 ?([\s\S]*)
b:$读 违禁词/%群号% a []$
如果:%括号1%==
请按照格式添加,例如 添加违禁词 违禁词1
返回
如果尾
如果:$JSON 包含 b %括号1%$==
$JSON 添加 b %括号1%$
$写 违禁词/%群号% a %b%$
@%昵称%\n
添加成功
返回
如果尾
@%昵称%\n
已经有该违禁词了

如果包含这个关键词,则输出:已经有该关键词了;如果不包含,则添加该关键词到文件的a数组JSON中。


##正常的读写
$读 文件路径 key value$
$写 文件路径 Key 默认值$##当文件为空的时候,默认值是什么就会读取什么
读写的路径都是从/storage/emulated/0/QR/QRDic/data开始
即$写 1 1 1$会在/storage/emulated/0/QR/QRDic/data下生成一个叫1的文件而不是在根目录/storage/emulated/0/下生成
读同理
 

##JSON数组
$JSON 包含 A Key/Value Value$
$JSON 包含 A Value$


【包含:返回值为这个值,不包含:返回值为空】

test
A:[]
$JSON 添加 A value$
%A%\r
B:{}
$JSON 添加 B 嗯 呢$
%B%

违禁词管理_第1张图片

Eg2:

添加违禁词 ?([\s\S]*)
b:$读 违禁词/%群号% a []$
%b%\r
$JSON 添加 b %括号1%$
%b%\r

违禁词管理_第2张图片

$JSON 添加  ……$ 无返回值

2.批量添加违禁词


批量添加违禁词 ?([\s\S]*)
A:$正则 £ %括号1%£\w£$
正则:%A%!=[\s\W]*
@%昵称%\n未使用分割符\n 例子 啊啊,哈哈,
返回
如果尾
b:$读 违禁词/%群号% a []$
a:$正则 £ %括号1%£[\s\W]£","$
a:["%a%"]
c:$JSON 长度 a$
@%昵称%\n
1:0
:我
如果:%1%<%c%
如果:$JSON 包含 b @a[%1%]$==
$JSON 添加 b @a[%1%]$
$写 违禁词/%群号% a %b%$
 -- @a[%1%]  添加成功\n
1:[%1%+1]
$跳 :我$
返回
如果尾
 -- @a[%1%]  该违禁词已存在\n
1:[%1%+1]
$跳 :我$
返回
如果尾

 违禁词管理_第3张图片

 违禁词管理_第4张图片

二、违禁词实时检测

[内部]违禁词 ?([\s\S]*)
a:$正则 £ %括号1%£[\s\W]£$
M:$读 批量添加 a []$
B:0
K:0
U:$JSON 长度 M$
:循环D
如果:%K%<%U%
T:$JSON 获取 M %K%$
正则:%a%==[\s\S]*%T%[\s\S]*
%T%
返回
如果尾
K:[%K%+1]
$跳 :循环D$
如果尾

([\s\S]*)
如果:%括号1%==
返回
如果尾
S:$回调 违禁词 %参数-1%$
如果:%S%!=
叼毛,话不要乱说
返回

这段代码是用于实现违禁词匹配的功能。它通过比较用户输入的内容与违禁词列表中的每个违禁词进行匹配,从而判断是否包含违禁词。

以下是代码的主要逻辑:

  • 首先,通过正则表达式将用户输入的内容进行处理,转换为正则匹配的格式。
  • 然后,读取违禁词列表的数据,存储在变量M中。
  • 将变量B初始化为0,用于记录当前处理的违禁词的索引号。
  • 将变量U设置为违禁词列表的长度,用于判断是否处理完所有违禁词。
  • 进入一个循环标签"循环D",用于逐个处理违禁词。
  • 在每次循环中,将变量T设置为当前违禁词的值,通过读取违禁词列表的JSON数据获取。
  • 进行正则匹配操作,判断用户输入的内容是否包含当前违禁词。
  • 如果匹配成功,则返回该违禁词。
  • 将索引号B增加1,继续处理下一个违禁词,直到处理完所有违禁词为止。

最后,如果用户输入的内容被匹配到违禁词,则会输出"叼毛,话不要乱说"的消息。

##不能调用带有内部标签的指令
$常调 内容$

#示例:
测试
测试1
$常调 测试1$

测试1
测试2

##能调用带有内部标签的指令 , 也能调用不带内部标签的指令
$回调 内容$

#示例:
测试
成功
$回调 测试2$

[内部]测试2
成功2

##回调获取返回的数值,可以当指令使用  也可以替代上个函数
$回调内部 内容$
##示例:
$回调内部 你好$
哈喽

[内部]你好
这是指令

##有无内部标签均可调用,1000是时间延迟,1000=1s,内容为调用指令
$调用 1000 内容$
示例:
你好
$调用 10000 哈喽$

[内部]哈喽
这是10s延迟回复

##正则替换
$正则 分割符 内容分割符正则表达式分割符要替换内容$

eg:
test
$正则 @ 你好呀@好.*@吗$

违禁词管理_第5张图片

##正则替换,同上
$正则 内容 正则表达式 要替换内容$ 

 eg:

$正则 你好呀 好.* 吧$

违禁词管理_第6张图片

正则

#示例:
test ?(.*)
正则:%括号1%==.*测试.*
成功
返回如果尾
失败

违禁词管理_第7张图片

[\s\S]*%T%[\s\S]*

  • [\s\S]:表示匹配任意字符,包括空白字符和非空白字符。
  • *:表示前面的模式可以出现 0 次或多次。
  • [\s\S]* 表示匹配任意长度的字符,包括空白字符和非空白字符。%T% 是一个替换变量,代表违禁词列表中的一个违禁词。
  • 因此,[\s\S]*%T%[\s\S]* 可以匹配任意位置的违禁词,即使违禁词前后有其他字符也可以匹配成功。

 三、查看违禁词

查看违禁词
b:$读 批量添加 a []$
c:$JSON 长度 b$
如果:%c%==0
@%昵称% \n没得违禁词
返回
如果尾
@%昵称% \n
e:0
:啊
如果:%e%<%c%
 -- @b[%e%]\n
e:[%e%+1]
$跳 :啊$
返回
如果尾


##取JSON数组的元素
@变量名[0][Name]
示例:
a:["1","2"]
@a[0]

四、删除违禁词

[内部]违禁词匹配 ?([\s\S]*)
M:$读 违禁词/%群号% a []$
B:0
K:0
U:$JSON 长度 M$
:循环D
如果:%K%<%U%
T:$JSON 获取 M %K%$
如果:%括号1%==%T%
%K%
返回
如果尾
K:[%K%+1]
$跳 :循环D$
如果尾
-1

1.删除一个违禁词


删除违禁词 ?([\s\S]*)
b:$读 违禁词/%群号% a []$
m:$回调 违禁词匹配 %括号1%$
如果:%m%!=-1
$JSON 删除 b %m%$
$写 违禁词/%群号% a %b%$
@%昵称%\n
删除成功
返回
如果尾
@%昵称%\n
无该违禁词

 违禁词管理_第8张图片

2.批量删除违禁词

违禁词管理_第9张图片

五、清空违禁词

清空违禁词
$写 违禁词/%群号% a []$
%昵称%\n已清空

你可能感兴趣的:(QR,数学建模)