Files
minego/pkg/bot/event.go

21 lines
507 B
Go

package bot
type EventHandler interface {
PublishEvent(event string, data any) error
SubscribeEvent(event string, handler func(data any) error)
}
type Event interface {
EventID() string
}
func PublishEvent(client Client, event Event) error {
return client.EventHandler().PublishEvent(event.EventID(), event)
}
func SubscribeEvent(client Client, event string, handler func(event Event) error) {
client.EventHandler().SubscribeEvent(event, func(data any) error {
return handler(data.(Event))
})
}