Keyword 插件使用教程 - 进阶篇
𝚠𝚑𝚒𝚕𝚎(𝟷) (𝚒𝚗𝚝*)𝚖𝚊𝚕𝚕𝚘𝚌(𝟼𝟻𝟻𝟹𝟼); | Memory Leak一、回复限制 ( -replyset )
1. 黑名单、白名单 ( -replyset mode )
黑名单 : 不回复在列表中的用户。
白名单 : 仅回复在列表中的用户。
设置为黑名单 :
-replyset mode 0 ( 注意,这里是数字零而不是英文字母 o,仅仅因为显示问题 )
设置为白名单 :
-replyset mode 1
清除黑白名单设置 : -replyset mode clear
2. 列表 ( -replyset list )
添加用户 : -replyset list add 100000000 ( 将用户 id 为 100000000 的用户添加进列表 )
删除用户 : -replyset list del 100000000 ( 将用户 id 为 100000000 的用户从列表移除 )
显示列表 : -replyset list show ( 显示已有用户列表 )
清空列表 : -replyset list clear ( 清空用户列表 )
3. 频率限制 ( -replyset freq )
限制 : 最短回复间隔 ( 秒 )
设置限制 : -replyset freq 7.5 ( 设置最短回复间隔为 7.5 秒 )
清除限制 : -replyset freq clear ( 清除设置的频率限制,使用默认值 )
4. 文件缓存 ( -replyset cache )
功能 : 当设置打开后,自动缓存规则中的文件和图片,下次发送时不用再次下载。
打开缓存 : -replyset cache 1
关闭缓存 : -replyset cache 0 ( 注意,这里是数字零而不是英文字母 o,仅仅因为显示问题 )
清除缓存 : -replyset cache remove
删除缓存设置 : -replyset cache clear
可以使用全局设置和单独设置,具体参考第 7 和第 8 条 : 全局设置、单独设置。
5. 自我触发 ( -replyset trig )
功能 : 当此设置开启后,自己发送的消息也将会触发规则,同样可以使用全局设置和单独设置。
开启关闭和缓存设置一样,清除为 -replyset trig clear。
6. 显示设置 ( -replyset show )
显示所有设置,包括黑白名单,列表和频率限制。
7. 清除设置 ( -replyset clear )
清除所有设置,慎用。
8. 全局设置 ( global )
在 -replyset 后面加上 global,如 -replyset global list add 1234。
9. 单独设置 ( plain / regex )
在 -replyset 后面加上 plain 或者 regex 加上对应规则编号 ( -keyword list 查看 ) ,
如 -replyset plain 1 list add 1234。
二、规则进阶 ( -keyword )
看这里之前请务必了解 入门篇 中的所有内容。
1. 回复信息 ( reply_to )
-keyword new regex '^/prpr$' 'reply::NM$L'
2. 正则捕获组 ( ${regex_<捕获组名称>} )
-keyword new regex '(?P<text>[\S\s]+)' 'reply::${regex_text}' ( 复读机,${regex_text} 中的 text 为捕获组名称 )
3. 回复文件或图片 ( file, photo, tgfile, tgphoto )
本机文件 : -keyword new plain 'file' 'file::file_name file:///home/ubuntu/testfile' ( 发送 /home/ubuntu/testfile,送出的文件名为 file_name )
网络图片 : -keyword new plain 'photo' 'photo::photo.png https://test.test/test.png' ( 以 file_name 发送此网络文件,文件名处必须以图片的后缀结尾 )
TG 中的文件和图片同理,将文件链接替换成包含文件的消息链接即可。
4. 外部回复 ( ext_<chat_id> )
-keyword new plain 'test' 'ext_100000000,plain::message' ( 在聊天中匹配到 test 后给 user_id 为 100000000 的用户发送 message )
5. 删除信息 ( op::delete )
-keyword new plain 'test' 'op::delete' ( 如果消息含有 test 就删除 )
6. 睡眠时间 ( op::sleep <time> )
-keyword new plain 'test' 'op::sleep 1' ( 如果消息含有 test 就休息 1 秒 )
7. 删除自己的信息 ( op::delself <int> )
用法 : op::delself 回复序号 ( 本条规则中的回复中的序号,序号从 0 开始 )
-keyword new plain 'test' 'reply1||reply2||op::sleep 5||op::delself 1' ( 检测到发送 test 后发送 reply1 和 reply2,发送五秒后删除 reply2 )
8. 属性混用 ( 逗号分隔 )
eg : -keyword new plain 'test' 'ext_100000000,file::file_name file:///home/ubuntu/testfile' ( 如果检测到文本中有 test,给 user_id 为 100000000 的用户发送 /home/ubuntu/testfile,文件名为 file_name )
9. 多个回复 ( || 分隔 )
eg : -keyword new plain 'cnm' 'reply::warn||op::sleep 2||op::delete' ( 检测到消息中含有 cnm 后,回复发送 warn,2 秒后删除含有 cnm 的消息 )