add player package with key client-side player functionality, update protocol codecs, and refactor metadata definitions and slot usage
This commit is contained in:
20
pkg/bot/event.go
Normal file
20
pkg/bot/event.go
Normal file
@ -0,0 +1,20 @@
|
||||
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))
|
||||
})
|
||||
}
|
Reference in New Issue
Block a user