fix: 修复权限加入问题
This commit is contained in:
parent
9cbcc3227f
commit
67cff69184
@ -21,7 +21,11 @@ func init() {
|
||||
|
||||
func HasPermission(qqID int64, level constants.PermissionLevel) bool {
|
||||
auth, err := getAuth(qqID)
|
||||
if err != nil {
|
||||
maxRetry := 50
|
||||
for i := 0; i < maxRetry && (err != nil); i++ {
|
||||
auth, err = getAuth(qqID)
|
||||
}
|
||||
if err != nil || auth.Qqid == "" {
|
||||
return false
|
||||
}
|
||||
return auth.Role <= level
|
||||
@ -40,7 +44,7 @@ func TryExecHandler(msg model.Message, level constants.PermissionLevel, handler
|
||||
return handler(msg)
|
||||
}
|
||||
return model.Reply{
|
||||
ReplyMsg: "权限验证失败",
|
||||
ReplyMsg: "权限不足,有需要请联系管理员",
|
||||
ReferOriginMsg: true,
|
||||
FromMsg: msg,
|
||||
}
|
||||
|
@ -16,10 +16,15 @@ func getAuth(qqID int64) (auth Auth, err error) {
|
||||
err = tx.Get(&auth, "SELECT * FROM auth WHERE qqid = ?", qqID)
|
||||
if err == sql.ErrNoRows {
|
||||
_, err = tx.Exec("INSERT INTO auth(qqid, role) VALUES(?, ?)", qqID, constants.LEVEL_USER)
|
||||
tx.Get(&auth, "SELECT * FROM auth WHERE qqid = ?", qqID)
|
||||
}
|
||||
if err != nil {
|
||||
return Auth{}, err
|
||||
}
|
||||
err = tx.Commit()
|
||||
if err != nil {
|
||||
return Auth{}, err
|
||||
}
|
||||
return auth, nil
|
||||
}
|
||||
|
||||
|
@ -12,7 +12,7 @@ import (
|
||||
)
|
||||
|
||||
func init() {
|
||||
handler.RegisterFrontMatchHandler("用户权限", setUserLevel, constants.LEVEL_ROOT)
|
||||
handler.RegisterFrontMatchHandler("用户权限", setUserLevel, constants.LEVEL_USER)
|
||||
handler.RegisterHelpInform("用户权限", "用户权限 [用户] [权限] 设置用户权限。允许的权限有:根用户、管理员、信任、用户、拉黑")
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user