Skip to content

Commit 26a6312

Browse files
committed
fix: 修改EventHandler和Composer类型的泛型约束,统一为any
1 parent 4deeb32 commit 26a6312

2 files changed

Lines changed: 13 additions & 3 deletions

File tree

bot.go

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ type HandlerEnd[T any] struct {
2020
handlers HandlersChain[T]
2121
}
2222

23-
type EventHandler[T event.Eventer] struct {
23+
type EventHandler[T any] struct {
2424
selfIds []int64
2525
Composer[T]
2626
handlerEnds []HandlerEnd[T]
@@ -72,6 +72,17 @@ type consumer interface {
7272
consume(ctx context.Context, emitter driver.Emitter, event event.Event) error
7373
}
7474

75+
func SubEvent[T any](engine *Engine, eventype string) *EventHandler[T] {
76+
handler := &EventHandler[T]{
77+
log: engine.log,
78+
}
79+
// root a pointer to the beginning of the middleware chain
80+
handler.root = handler
81+
82+
engine.consumers[eventype] = handler
83+
return handler
84+
}
85+
7586
// start handler all self event
7687
func OnEvent[T event.Eventer](engine *Engine) *EventHandler[T] {
7788
eventHandler := new(EventHandler[T])

compose.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ import (
55
"runtime"
66
"strings"
77

8-
"github.com/nsxdevx/nsxbot/event"
98
"github.com/nsxdevx/nsxbot/filter"
109
)
1110

@@ -23,7 +22,7 @@ type HandlersChain[T any] []HandlerFunc[T]
2322

2423
type HandlerFunc[T any] func(ctx *Context[T])
2524

26-
type Composer[T event.Eventer] struct {
25+
type Composer[T any] struct {
2726
handlers HandlersChain[T]
2827
filters FilterChain[T]
2928
root *EventHandler[T]

0 commit comments

Comments
 (0)