refactor: 提取用户信息获取逻辑到 util.NewSelfNodeMessage 函数,简化消息处理逻辑

This commit is contained in:
lixiangwuxian 2025-05-05 01:37:48 +08:00
parent ebadac56c4
commit b55d1f24b8
3 changed files with 23 additions and 22 deletions

View File

@ -293,17 +293,7 @@ func getMyRecentScore(msg model.Message) (reply *model.Reply) {
Text: "玩家 " + userName + " 的" + strconv.Itoa(recordCount) + "条最近记录为:\n" + scoreMsg,
},
}
nodeMsg := message.NewNodeMessage()
loginAccountInfo, err := action.GetLoginAccountInfo()
if err != nil {
log.Println("GetLoginAccountInfo error:", err)
return nil
}
if loginAccountInfo == nil {
return nil
}
nodeMsg.Data.UserID = strconv.FormatInt(int64(loginAccountInfo.Data.UserID), 10)
nodeMsg.Data.Nickname = loginAccountInfo.Data.Nickname
nodeMsg := util.NewSelfNodeMessage()
nodeMsg.Data.Content = []any{&textMsg}
action.ActionManager.SendForward(
&model.Reply{

View File

@ -306,17 +306,7 @@ func getMyRecentScore(msg model.Message) (reply *model.Reply) {
Text: "玩家 " + userName + " 的" + strconv.Itoa(recordCount) + "条最近记录为:\n" + scoreMsg,
},
}
nodeMsg := message.NewNodeMessage()
loginAccountInfo, err := action.GetLoginAccountInfo()
if err != nil {
log.Println("GetLoginAccountInfo error:", err)
return nil
}
if loginAccountInfo == nil {
return nil
}
nodeMsg.Data.UserID = strconv.FormatInt(int64(loginAccountInfo.Data.UserID), 10)
nodeMsg.Data.Nickname = loginAccountInfo.Data.Nickname
nodeMsg := util.NewSelfNodeMessage()
nodeMsg.Data.Content = []any{&textMsg}
action.ActionManager.SendForward(
&model.Reply{

21
util/message.go Normal file
View File

@ -0,0 +1,21 @@
package util
import (
"log"
"strconv"
"git.lxtend.com/qqbot/action"
"git.lxtend.com/qqbot/message"
)
func NewSelfNodeMessage() *message.NodeMessage {
loginAccountInfo, err := action.GetLoginAccountInfo()
if err != nil {
log.Println("GetLoginAccountInfo error:", err)
return nil
}
if loginAccountInfo == nil {
return nil
}
return &message.NodeMessage{Type: message.TypeNode, Data: message.NodeMessageData{UserID: strconv.FormatInt(int64(loginAccountInfo.Data.UserID), 10), Nickname: loginAccountInfo.Data.Nickname}}
}