已停止维护,刷屏检测有bug,不推荐安装,安装不推荐开启刷屏检测
- 名称:
zhaiBlackList
- 作者:
宅爷
- 版本:
1.2.0
- 兼容版本:
0.11.6
- 平台:
QQ
- 操作系统:
全平台
下载
本插件依赖OlivaDiceCore
解压后放入plugin\app
文件夹
v1.2.0
尝试修复黑名单消失的问题(测试中)
在手动添加黑名单的指令中可以备注黑名单原因
黑名单+QQ号 理由
黑名单+123456789心情不好给你加个黑名单
历史版本
v1.1.2
此版本的更新只针对其他开发者
将刷屏检测独立封装到def,在编写其他插件时可以直接引用,将其他插件的指令加入到刷屏检测的范围内
你应该告知你的用户,更新本插件至1.1.2以上版本
在其他插件中引入刷屏检测 见下文详细
v1.1.1
大幅度修改代码
增加刷屏警告 刷屏黑名单,入群检测黑名单
增加额外设置项
紧急修复1.1.0版本的匹配bug
v1.0.1
屏蔽黑名单用户除[.send]以外所有指令(已将此插件的优先等级调整为1000)
v1.0.0
说明
此插件没有进行充分测试,可能会有BUG出现
此插件没有进行充分测试,可能会有BUG出现
此插件没有进行充分测试,可能会有BUG出现
骰主/通知群设定
刷屏判定
根据正则进行判定,只匹配.
和。
开头的指令,可以自行修改正则表达式匹配内容见下文详细
即使用户使用的指令超出使用范围,只要匹配正则,都会计算刷屏周期
bot off
时不会进行刷屏判定
群聊私聊都会触发刷屏,每群每人分别计算
刷屏指令正则修改
你首先需要对正则表达式及python有一定了解
找到def frequentPrivate(plugin_event)
和 def frequentGroup(plugin_event)
分别对应私聊和群聊刷屏
正则指令 p = "(\.|。).+"
,代表匹配以.
和。
为开头的指令,且他们之后有其他字符
(之所以是\.
因为点在正则表达式中有任意匹配的意思)
匹配开头指令
如果你要匹配其他内容为开头的指令,可以这样添加 p = "(\.|。|翻译|搜索).+"
整句匹配
首先,你要做一个嵌套
p = "(\.|。|翻译|搜索).+"
m = re.match(p,plugin_event.data.message)
if not m:
p = "(epic|steam)$"
m = re.match(p,plugin_event.data.message)
if not m:
return
最外层是保留在指令后有内容的指令匹配
第二层是指令完全匹配epic
和steam
的情况触发
指令不开头(不推荐)
只要文本包含内容就会触发,平时聊天也会触发,建议不要做这样的匹配
在其他插件中引用刷屏指令(针对插件开发者)
你需要提醒你的用户将本插件更新至1.1.2版本以上
在你的插件中插入以下代码(在指令匹配后)
你不需要在头部引入zhaiBlakcList,这是为了防止用户没有安装本插件而导致不能运行
# 私聊刷屏检测
try:
import zhaiBlackList
zhaiBlackList.main.frequentPrivateMain(plugin_event)
except:
pass
# 群聊刷屏检测
try:
import zhaiBlackList
zhaiBlackList.main.frequentGroupMain(plugin_event)
except:
pass
指令(只对骰主有反应)
黑名单
,黑名单+12345678(拉黑理由)
,黑名单-12345678
插件设置(如果你需要修改基础设置)
将下载的rar压缩包解压后,获得opk文件,将opk文件的后缀名改为zip
,并解压或用压缩工具打开
打开main.py
文件,在最上方的设置位置进行设置
### 基础设置
# 向骰主发送消息(通过Dice核心设定骰主) True/False
sendMessageToMaster = False
# 向通知群发送消息(通过Dice核心设定通知群) True/False
sendMessageToNotice = True
# 黑名单功能(不开启则仅通知事件) True/False
addBlackList = True
# 屏蔽黑名单发送的消息(.send会响应) True/False
blockBlackMessage = True
# 新增黑名单时检测所有群聊(只对触发用户) True/False
checkGroup = True
# 在含有黑名单的群聊内通报黑名单事件 True/False
sendBlackAdd = True
# 退出所有含有黑名单的群聊 True/False
exitAllGroup = False
### 禁言
# 退出被禁言的群聊 True/False
exitBanGroup = True
### 入群检测
# 黑名单入群通报 True/False
sendBlackJoin = True
# 黑名单入群触发退群 True/False
exitBlackJoin = False
# 新群聊含有黑名单时通报 True/False
sendGroupJoin = True
# 新群聊含有黑名单时触发退群(延时2秒) True/False
exitGroupJoin = False
### 刷屏
# 刷屏判定时长,整数(秒)
frequentDetectionTime = 30
# 时长内发送X条指令触发警告,整数
frequentDetectionWarning = 12
# 时长内发送超过X条指令加入黑名单,整数(不能等于警告数量 低于警告则不会警告用户直接拉黑)
frequentDetectionBlack = 15
# 退出触发刷屏的群聊 True/False
exitFrequentGroup = False
截图示例
因为做这个插件需要频繁禁言骰子踢出骰子才能测试效果,我怕出问题,所以没有做多少测试,此插件可能含有bug,欢迎反馈,不过我更希望官方能接手