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