forked from foxbot/gavalink
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathevent.go
31 lines (25 loc) · 1009 Bytes
/
event.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
package gavalink
// EventHandler defines events that Lavalink may send to a player
type EventHandler struct {
OnTrackEnd OnTrackEnd
OnTrackException OnTrackException
OnTrackStuck OnTrackStuck
}
type OnTrackEnd func(*Player, string, string) error
type OnTrackException func(*Player, string, string) error
type OnTrackStuck func(*Player, string, int) error
// DummyEventHandler provides an empty event handler for users who
// wish to drop events outright. This is not recommended.
type DummyEventHandler struct{}
// OnTrackEnd is raised when a track ends
func (d DummyEventHandler) OnTrackEnd(player *Player, track string, reason string) error {
return nil
}
// OnTrackException is raised when a track throws an exception
func (d DummyEventHandler) OnTrackException(player *Player, track string, reason string) error {
return nil
}
// OnTrackStuck is raised when a track gets stuck
func (d DummyEventHandler) OnTrackStuck(player *Player, track string, threshold int) error {
return nil
}