refactor: 优化 MsgInHandler 函数,改进消息处理逻辑以支持多条文本消息的触发器匹配,增强代码的灵活性和可读性
This commit is contained in:
parent
2ec720e985
commit
c434a3f0ce
@ -131,14 +131,16 @@ func MsgInHandler(msg model.Message) (reply *model.Reply) {
|
||||
return nil
|
||||
}
|
||||
for trigger, handler := range atHandlers {
|
||||
if len(msg.StructuredMsg) > 1 {
|
||||
if textMsg, ok := msg.StructuredMsg[1].(*qq_message.TextMessage); ok && strings.Split(textMsg.Data.Text, " ")[0] == trigger {
|
||||
for _, textMsg := range msg.StructuredMsg {
|
||||
if textMsg.GetMessageType() == qq_message.TypeText {
|
||||
if util.SplitN(textMsg.(*qq_message.TextMessage).Data.Text, 2)[0] == trigger {
|
||||
return auth.TryExecHandler(msg, handler.Level, handler.Handler)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
for trigger, handler := range frontMatchHandlers {
|
||||
if strings.HasPrefix(msg.RawMsg, trigger) {
|
||||
return auth.TryExecHandler(msg, handler.Level, handler.Handler)
|
||||
|
Loading…
x
Reference in New Issue
Block a user