From 0fc6e0d52a8923e0e95770ceb25957e4b8c8754b Mon Sep 17 00:00:00 2001 From: lixiangwuxian Date: Thu, 24 Oct 2024 14:33:49 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E5=BF=BD=E7=95=A5?= =?UTF-8?q?=E7=AD=89=E7=BA=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- auth/auth.go | 9 +++++++++ constants/auth.go | 1 + handler/auth/auth.go | 3 ++- 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/auth/auth.go b/auth/auth.go index 2c22283..9a40d09 100644 --- a/auth/auth.go +++ b/auth/auth.go @@ -40,6 +40,15 @@ func SetPermission(qqID int64, level constants.PermissionLevel) error { } func TryExecHandler(msg model.Message, level constants.PermissionLevel, handler model.Handler) (reply model.Reply) { + if permission, err := getAuth(msg.UserId); err != nil { + if permission.Role == constants.LEVEL_IGNORE { + return model.Reply{ + ReplyMsg: "", + ReferOriginMsg: false, + FromMsg: msg, + } + } + } if HasPermission(msg.UserId, level) { return handler(msg) } diff --git a/constants/auth.go b/constants/auth.go index ec2fc23..c6a5d2e 100644 --- a/constants/auth.go +++ b/constants/auth.go @@ -8,4 +8,5 @@ const ( LEVEL_TRUSTED = 100 LEVEL_USER = 200 //default LEVEL_BANNED = 400 + LEVEL_IGNORE = 1000 ) diff --git a/handler/auth/auth.go b/handler/auth/auth.go index ff3faa0..1b6690b 100644 --- a/handler/auth/auth.go +++ b/handler/auth/auth.go @@ -13,7 +13,7 @@ import ( func init() { handler.RegisterFrontMatchHandler("用户权限", setUserLevel, constants.LEVEL_USER) - handler.RegisterHelpInform("用户权限", "用户权限 [用户] [权限] 设置用户权限。允许的权限有:根用户、管理员、信任、用户、拉黑") + handler.RegisterHelpInform("用户权限", "用户权限 [用户] [权限] 设置用户权限。允许的权限有:根用户、管理员、信任、用户、拉黑、忽略") } var userLevelMap = map[string]constants.PermissionLevel{ @@ -22,6 +22,7 @@ var userLevelMap = map[string]constants.PermissionLevel{ "信任": constants.LEVEL_TRUSTED, "用户": constants.LEVEL_USER, "拉黑": constants.LEVEL_BANNED, + "忽略": constants.LEVEL_IGNORE, } func setUserLevel(msg model.Message) (reply model.Reply) {