Skip to content

Commit 5507ee9

Browse files
committed
refactor: 重构事件处理和消息结构,统一事件类型和消息发送逻辑
1 parent 1d6fe8c commit 5507ee9

17 files changed

Lines changed: 65 additions & 759 deletions

driver/http.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -76,22 +76,22 @@ func (l *ListenerHttp) Listen(ctx context.Context, eventChan chan<- event.Event)
7676
l.log.Error("Invalid content", "err", err)
7777
return
7878
}
79-
event, err := contentToEvent(content)
79+
botevent, err := contentToEvent(content)
8080
if err != nil {
8181
w.WriteHeader(http.StatusInternalServerError)
8282
l.log.Error("Invalid event", "err", err)
8383
return
8484
}
85-
if slices.Contains(event.Types, types.POST_TYPE_MESSAGE) || slices.Contains(event.Types, types.POST_TYPE_REQUEST) {
85+
if slices.Contains(botevent.Types, event.EVENT_MESSAGE) || slices.Contains(botevent.Types, event.EVENT_NOTICE) {
8686
ctx, cancel := context.WithTimeout(context.Background(), l.replyTimeout)
87-
event.Replyer = &HttpReplyer{
87+
botevent.Replyer = &HttpReplyer{
8888
Writer: w,
8989
Cancel: cancel,
9090
}
91-
eventChan <- event
91+
eventChan <- botevent
9292
<-ctx.Done()
9393
} else {
94-
eventChan <- event
94+
eventChan <- botevent
9595
}
9696

9797
})

driver/ws.go

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -121,26 +121,26 @@ func (ws *WSClient) Listen(ctx context.Context, eventChan chan<- event.Event) er
121121
return
122122
}
123123

124-
event, err := contentToEvent(content)
124+
botevent, err := contentToEvent(content)
125125
if err != nil {
126126
ws.log.Error("Invalid event", "err", err)
127127
return
128128
}
129129

130-
emitter := NewEmitterWS(event.SelfId, c, ws.echoStore.GetEcho(event.SelfId))
130+
emitter := NewEmitterWS(botevent.SelfId, c, ws.echoStore.GetEcho(botevent.SelfId))
131131

132-
if slices.Contains(event.Types, types.POST_TYPE_META_ENEVT) {
133-
connSelfId = event.SelfId
132+
if slices.Contains(botevent.Types, event.EVENT_META) {
133+
connSelfId = botevent.SelfId
134134
ws.AddEmitter(connSelfId, emitter)
135135
}
136136

137-
if slices.Contains(event.Types, types.POST_TYPE_MESSAGE) || slices.Contains(event.Types, types.POST_TYPE_REQUEST) {
138-
event.Replyer = &WSReplyer{
137+
if slices.Contains(botevent.Types, event.EVENT_MESSAGE) || slices.Contains(botevent.Types, event.EVENT_REQUEST) {
138+
botevent.Replyer = &WSReplyer{
139139
content: content,
140140
emitter: emitter,
141141
}
142142
}
143-
eventChan <- event
143+
eventChan <- botevent
144144
}()
145145
}
146146
}
@@ -226,26 +226,26 @@ func (ws *WServer) Listen(ctx context.Context, eventChan chan<- event.Event) err
226226
return
227227
}
228228

229-
event, err := contentToEvent(content)
229+
botevent, err := contentToEvent(content)
230230
if err != nil {
231231
ws.log.Error("Invalid event", "err", err)
232232
return
233233
}
234234

235-
emitter := NewEmitterWS(event.SelfId, c, ws.echoStore.GetEcho(event.SelfId))
235+
emitter := NewEmitterWS(botevent.SelfId, c, ws.echoStore.GetEcho(botevent.SelfId))
236236

237-
if slices.Contains(event.Types, types.POST_TYPE_META_ENEVT) {
238-
connSelfId = event.SelfId
237+
if slices.Contains(botevent.Types, event.EVENT_META) {
238+
connSelfId = botevent.SelfId
239239
ws.AddEmitter(connSelfId, emitter)
240240
}
241241

242-
if slices.Contains(event.Types, types.POST_TYPE_MESSAGE) || slices.Contains(event.Types, types.POST_TYPE_REQUEST) {
243-
event.Replyer = &WSReplyer{
242+
if slices.Contains(botevent.Types, event.EVENT_MESSAGE) || slices.Contains(botevent.Types, event.EVENT_REQUEST) {
243+
botevent.Replyer = &WSReplyer{
244244
content: content,
245245
emitter: emitter,
246246
}
247247
}
248-
eventChan <- event
248+
eventChan <- botevent
249249
}()
250250
}
251251
})

event/message.go

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -32,14 +32,7 @@ type CommonMessage struct {
3232
Messages []schema.Message `json:"message"`
3333
RawMessage string `json:"raw_message"`
3434
Font int `json:"font"`
35-
Sender Sender `json:"sender"`
36-
}
37-
38-
type Sender struct {
39-
UserID int64 `json:"user_id"`
40-
Nickname string `json:"nickname"`
41-
Sex string `json:"sex"`
42-
Age int `json:"age"`
35+
Sender schema.Sender `json:"sender"`
4336
}
4437

4538
func (cm CommonMessage) Id() int {

go.mod

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@ go 1.24.1
55
require (
66
github.com/google/uuid v1.6.0
77
github.com/gorilla/websocket v1.5.3
8-
github.com/lmittmann/tint v1.0.7
8+
github.com/lmittmann/tint v1.1.1
99
github.com/stretchr/testify v1.10.0
1010
github.com/tidwall/gjson v1.18.0
11-
golang.org/x/image v0.26.0
11+
golang.org/x/image v0.27.0
1212
)
1313

1414
require (

go.sum

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ github.com/gorilla/websocket v1.5.3 h1:saDtZ6Pbx/0u+bgYQ3q96pZgCzfhKXGPqt7kZ72aN
66
github.com/gorilla/websocket v1.5.3/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
77
github.com/lmittmann/tint v1.0.7 h1:D/0OqWZ0YOGZ6AyC+5Y2kD8PBEzBk6rFHVSfOqCkF9Y=
88
github.com/lmittmann/tint v1.0.7/go.mod h1:HIS3gSy7qNwGCj+5oRjAutErFBl4BzdQP6cJZ0NfMwE=
9+
github.com/lmittmann/tint v1.1.1 h1:xmmGuinUsCSxWdwH1OqMUQ4tzQsq3BdjJLAAmVKJ9Dw=
10+
github.com/lmittmann/tint v1.1.1/go.mod h1:HIS3gSy7qNwGCj+5oRjAutErFBl4BzdQP6cJZ0NfMwE=
911
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
1012
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
1113
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
@@ -19,6 +21,8 @@ github.com/tidwall/pretty v1.2.1 h1:qjsOFOWWQl+N3RsoF5/ssm1pHmJJwhjlSbZ51I6wMl4=
1921
github.com/tidwall/pretty v1.2.1/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU=
2022
golang.org/x/image v0.26.0 h1:4XjIFEZWQmCZi6Wv8BoxsDhRU3RVnLX04dToTDAEPlY=
2123
golang.org/x/image v0.26.0/go.mod h1:lcxbMFAovzpnJxzXS3nyL83K27tmqtKzIJpctK8YO5c=
24+
golang.org/x/image v0.27.0 h1:C8gA4oWU/tKkdCfYT6T2u4faJu3MeNS5O8UPWlPF61w=
25+
golang.org/x/image v0.27.0/go.mod h1:xbdrClrAUway1MUTEZDq9mz/UpRwYAkFFNUslZtcB+g=
2226
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
2327
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
2428
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=

schema/others.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
package schema
2+
3+
type Sender struct {
4+
UserID int64 `json:"user_id"`
5+
Nickname string `json:"nickname"`
6+
Sex string `json:"sex"`
7+
Age int `json:"age"`
8+
}

types/event.go

Lines changed: 0 additions & 22 deletions
This file was deleted.

types/event_meta.go

Lines changed: 0 additions & 18 deletions
This file was deleted.

types/event_msg.go

Lines changed: 0 additions & 171 deletions
This file was deleted.

0 commit comments

Comments
 (0)