refactor: modernize codebase for Go 1.26 and fix adapter issues

- Upgrade Go version from 1.24 to 1.26.1 with updated dependencies
- Replace interface{} with any type throughout codebase
- Add message deduplication in OneBot11 adapter to prevent duplicate event processing
- URL-encode access token in WebSocket connections to handle special characters
- Remove duplicate bot startup hooks in DI providers (now handled by botManager.StartAll)
- Use slices.Clone and errgroup.Go patterns for cleaner concurrent code
- Apply omitzero JSON tags for optional fields (Go 1.24+ feature)
This commit is contained in:
lafay
2026-03-18 01:22:49 +08:00
parent f3a72264af
commit f3220a2381
32 changed files with 2262 additions and 296 deletions

View File

@@ -101,7 +101,7 @@ func (c *EventConverter) convertMessageEvent(milkyEvent *Event) (protocol.Event,
SubType: "",
Timestamp: milkyEvent.Time,
SelfID: selfID,
Data: map[string]interface{}{
Data: map[string]any{
"peer_id": msgData.PeerID,
"message_seq": msgData.MessageSeq,
"sender_id": msgData.SenderID,
@@ -145,7 +145,7 @@ func (c *EventConverter) convertFriendRequestEvent(milkyEvent *Event) (protocol.
SubType: "",
Timestamp: milkyEvent.Time,
SelfID: selfID,
Data: map[string]interface{}{
Data: map[string]any{
"initiator_id": data.InitiatorID,
"initiator_uid": data.InitiatorUID,
"comment": data.Comment,
@@ -178,7 +178,7 @@ func (c *EventConverter) convertGroupJoinRequestEvent(milkyEvent *Event) (protoc
SubType: "add",
Timestamp: milkyEvent.Time,
SelfID: selfID,
Data: map[string]interface{}{
Data: map[string]any{
"group_id": data.GroupID,
"notification_seq": data.NotificationSeq,
"is_filtered": data.IsFiltered,
@@ -212,7 +212,7 @@ func (c *EventConverter) convertGroupInvitedJoinRequestEvent(milkyEvent *Event)
SubType: "invite",
Timestamp: milkyEvent.Time,
SelfID: selfID,
Data: map[string]interface{}{
Data: map[string]any{
"group_id": data.GroupID,
"notification_seq": data.NotificationSeq,
"initiator_id": data.InitiatorID,
@@ -245,7 +245,7 @@ func (c *EventConverter) convertGroupInvitationEvent(milkyEvent *Event) (protoco
SubType: "invite_self",
Timestamp: milkyEvent.Time,
SelfID: selfID,
Data: map[string]interface{}{
Data: map[string]any{
"group_id": data.GroupID,
"invitation_seq": data.InvitationSeq,
"initiator_id": data.InitiatorID,
@@ -277,7 +277,7 @@ func (c *EventConverter) convertMessageRecallEvent(milkyEvent *Event) (protocol.
SubType: data.MessageScene,
Timestamp: milkyEvent.Time,
SelfID: selfID,
Data: map[string]interface{}{
Data: map[string]any{
"message_scene": data.MessageScene,
"peer_id": data.PeerID,
"message_seq": data.MessageSeq,
@@ -310,7 +310,7 @@ func (c *EventConverter) convertBotOfflineEvent(milkyEvent *Event) (protocol.Eve
SubType: "",
Timestamp: milkyEvent.Time,
SelfID: selfID,
Data: map[string]interface{}{
Data: map[string]any{
"reason": data.Reason,
},
},
@@ -337,7 +337,7 @@ func (c *EventConverter) convertFriendNudgeEvent(milkyEvent *Event) (protocol.Ev
SubType: "",
Timestamp: milkyEvent.Time,
SelfID: selfID,
Data: map[string]interface{}(milkyEvent.Data),
Data: map[string]any(milkyEvent.Data),
},
UserID: strconv.FormatInt(data.UserID, 10),
}
@@ -362,7 +362,7 @@ func (c *EventConverter) convertFriendFileUploadEvent(milkyEvent *Event) (protoc
SubType: "",
Timestamp: milkyEvent.Time,
SelfID: selfID,
Data: map[string]interface{}(milkyEvent.Data),
Data: map[string]any(milkyEvent.Data),
},
UserID: strconv.FormatInt(data.UserID, 10),
}
@@ -392,7 +392,7 @@ func (c *EventConverter) convertGroupAdminChangeEvent(milkyEvent *Event) (protoc
SubType: subType,
Timestamp: milkyEvent.Time,
SelfID: selfID,
Data: map[string]interface{}(milkyEvent.Data),
Data: map[string]any(milkyEvent.Data),
},
GroupID: strconv.FormatInt(data.GroupID, 10),
UserID: strconv.FormatInt(data.UserID, 10),
@@ -423,7 +423,7 @@ func (c *EventConverter) convertGroupEssenceMessageChangeEvent(milkyEvent *Event
SubType: subType,
Timestamp: milkyEvent.Time,
SelfID: selfID,
Data: map[string]interface{}(milkyEvent.Data),
Data: map[string]any(milkyEvent.Data),
},
GroupID: strconv.FormatInt(data.GroupID, 10),
}
@@ -448,7 +448,7 @@ func (c *EventConverter) convertGroupMemberIncreaseEvent(milkyEvent *Event) (pro
SubType: "",
Timestamp: milkyEvent.Time,
SelfID: selfID,
Data: map[string]interface{}(milkyEvent.Data),
Data: map[string]any(milkyEvent.Data),
},
GroupID: strconv.FormatInt(data.GroupID, 10),
UserID: strconv.FormatInt(data.UserID, 10),
@@ -478,7 +478,7 @@ func (c *EventConverter) convertGroupMemberDecreaseEvent(milkyEvent *Event) (pro
SubType: "",
Timestamp: milkyEvent.Time,
SelfID: selfID,
Data: map[string]interface{}(milkyEvent.Data),
Data: map[string]any(milkyEvent.Data),
},
GroupID: strconv.FormatInt(data.GroupID, 10),
UserID: strconv.FormatInt(data.UserID, 10),
@@ -508,7 +508,7 @@ func (c *EventConverter) convertGroupNameChangeEvent(milkyEvent *Event) (protoco
SubType: "",
Timestamp: milkyEvent.Time,
SelfID: selfID,
Data: map[string]interface{}(milkyEvent.Data),
Data: map[string]any(milkyEvent.Data),
},
GroupID: strconv.FormatInt(data.GroupID, 10),
Operator: strconv.FormatInt(data.OperatorID, 10),
@@ -539,7 +539,7 @@ func (c *EventConverter) convertGroupMessageReactionEvent(milkyEvent *Event) (pr
SubType: subType,
Timestamp: milkyEvent.Time,
SelfID: selfID,
Data: map[string]interface{}(milkyEvent.Data),
Data: map[string]any(milkyEvent.Data),
},
GroupID: strconv.FormatInt(data.GroupID, 10),
UserID: strconv.FormatInt(data.UserID, 10),
@@ -570,7 +570,7 @@ func (c *EventConverter) convertGroupMuteEvent(milkyEvent *Event) (protocol.Even
SubType: subType,
Timestamp: milkyEvent.Time,
SelfID: selfID,
Data: map[string]interface{}(milkyEvent.Data),
Data: map[string]any(milkyEvent.Data),
},
GroupID: strconv.FormatInt(data.GroupID, 10),
UserID: strconv.FormatInt(data.UserID, 10),
@@ -602,7 +602,7 @@ func (c *EventConverter) convertGroupWholeMuteEvent(milkyEvent *Event) (protocol
SubType: subType,
Timestamp: milkyEvent.Time,
SelfID: selfID,
Data: map[string]interface{}(milkyEvent.Data),
Data: map[string]any(milkyEvent.Data),
},
GroupID: strconv.FormatInt(data.GroupID, 10),
Operator: strconv.FormatInt(data.OperatorID, 10),
@@ -628,7 +628,7 @@ func (c *EventConverter) convertGroupNudgeEvent(milkyEvent *Event) (protocol.Eve
SubType: "",
Timestamp: milkyEvent.Time,
SelfID: selfID,
Data: map[string]interface{}(milkyEvent.Data),
Data: map[string]any(milkyEvent.Data),
},
GroupID: strconv.FormatInt(data.GroupID, 10),
UserID: strconv.FormatInt(data.SenderID, 10),
@@ -654,7 +654,7 @@ func (c *EventConverter) convertGroupFileUploadEvent(milkyEvent *Event) (protoco
SubType: "",
Timestamp: milkyEvent.Time,
SelfID: selfID,
Data: map[string]interface{}(milkyEvent.Data),
Data: map[string]any(milkyEvent.Data),
},
GroupID: strconv.FormatInt(data.GroupID, 10),
UserID: strconv.FormatInt(data.UserID, 10),