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
|
return nil
|
||||||
}
|
}
|
||||||
for trigger, handler := range atHandlers {
|
for trigger, handler := range atHandlers {
|
||||||
if len(msg.StructuredMsg) > 1 {
|
for _, textMsg := range msg.StructuredMsg {
|
||||||
if textMsg, ok := msg.StructuredMsg[1].(*qq_message.TextMessage); ok && strings.Split(textMsg.Data.Text, " ")[0] == trigger {
|
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)
|
return auth.TryExecHandler(msg, handler.Level, handler.Handler)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
for trigger, handler := range frontMatchHandlers {
|
for trigger, handler := range frontMatchHandlers {
|
||||||
if strings.HasPrefix(msg.RawMsg, trigger) {
|
if strings.HasPrefix(msg.RawMsg, trigger) {
|
||||||
return auth.TryExecHandler(msg, handler.Level, handler.Handler)
|
return auth.TryExecHandler(msg, handler.Level, handler.Handler)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user