Files
go-ts3/event.go

47 lines
1.5 KiB
Go

package ts3
import (
"time"
)
type TeamspeakEvent string
//noinspection GoUnusedConst
const (
NotifyTextMessage TeamspeakEvent = "notifytextmessage"
NotifyClientEnterView TeamspeakEvent = "notifycliententerview"
NotifyClientLeftView TeamspeakEvent = "notifyclientleftview"
NotifyServerEdited TeamspeakEvent = "notifyserveredited"
NotifyChannelEdited TeamspeakEvent = "notifychanneledited"
NotifyChannelDescriptionChanged TeamspeakEvent = "notifychanneldescriptionchanged"
NotifyClientMoved TeamspeakEvent = "notifyclientmoved"
NotifyChannelCreated TeamspeakEvent = "notifychannelcreated"
NotifyChannelDeleted TeamspeakEvent = "notifychanneldeleted"
NotifyChannelMoved TeamspeakEvent = "notifychannelmoved"
NotifyChannelPasswordChanged TeamspeakEvent = "notifychannelpasswordchanged"
NotifyTokenUsed TeamspeakEvent = "notifytokenused"
)
func (c *TeamspeakHttpClient) StartEventClient(host, user, password string) error {
client, err := newEventClient(host, user, password, c.eventBus)
if err != nil {
return err
}
time.Sleep(2 * time.Second)
_ = client.SwitchServer(c.serverID)
c.eventClient = client
return nil
}
func (c *TeamspeakHttpClient) SubscribeEvent(event TeamspeakEvent, fn interface{}) error {
return c.eventBus.Subscribe(string(event), fn)
}
func (c *TeamspeakHttpClient) UnsubscribeEvent(event TeamspeakEvent, handler interface{}) error {
return c.eventBus.Unsubscribe(string(event), handler)
}