(client *QQClient, event T)
| 27 | } |
| 28 | |
| 29 | func (handle *EventHandle[T]) dispatch(client *QQClient, event T) { |
| 30 | eventMu.RLock() |
| 31 | defer func() { |
| 32 | eventMu.RUnlock() |
| 33 | if pan := recover(); pan != nil { |
| 34 | client.error("event error: %v\n%s", pan, debug.Stack()) |
| 35 | } |
| 36 | }() |
| 37 | for _, handler := range handle.handlers { |
| 38 | handler(client, event) |
| 39 | } |
| 40 | } |
| 41 | |
| 42 | type eventHandlers struct { |
| 43 | subscribedEventHandlers []any |
no test coverage detected