refactor: 优化 MsgInHandler 函数,改进消息处理逻辑以支持多条文本消息的触发器匹配,增强代码的灵活性和可读性

This commit is contained in:
lixiangwuxian 2025-07-17 14:44:45 +08:00
parent 2ec720e985
commit c434a3f0ce

View File

@ -131,9 +131,11 @@ 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 {
return auth.TryExecHandler(msg, handler.Level, handler.Handler)
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)
}
}
}
}