47 lines
1.5 KiB
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)
|
|
}
|