607 lines
21 KiB
Go
607 lines
21 KiB
Go
package ts3
|
|
|
|
import (
|
|
"errors"
|
|
"fmt"
|
|
)
|
|
|
|
// clientaddperm `manage_scope`
|
|
type clientAddPermissionRequest struct {
|
|
ClientDbId int `schema:"cldbid"`
|
|
PermissionId int `schema:"permid"`
|
|
PermissionValue int `schema:"permvalue"`
|
|
PermSkip int `schema:"permskip"`
|
|
}
|
|
|
|
func (c *TeamspeakHttpClient) ClientAddPermission(clientDbId, permissionId, permissionValue int, permSkip bool) error {
|
|
return c.requestWithParams(
|
|
"clientaddperm",
|
|
clientAddPermissionRequest{
|
|
ClientDbId: clientDbId,
|
|
PermissionId: permissionId,
|
|
PermissionValue: permissionValue,
|
|
PermSkip: boolToInt(permSkip),
|
|
},
|
|
nil,
|
|
)
|
|
}
|
|
|
|
type clientAddStringPermissionRequest struct {
|
|
ClientDbId int `schema:"cldbid"`
|
|
PermissionName string `schema:"permsid"`
|
|
PermissionValue int `schema:"permvalue"`
|
|
PermSkip int `schema:"permskip"`
|
|
}
|
|
|
|
func (c *TeamspeakHttpClient) ClientAddStringPermission(clientDbId int, permissionName string, permissionValue int, permSkip bool) error {
|
|
return c.requestWithParams(
|
|
"clientaddperm",
|
|
clientAddStringPermissionRequest{
|
|
ClientDbId: clientDbId,
|
|
PermissionName: permissionName,
|
|
PermissionValue: permissionValue,
|
|
PermSkip: boolToInt(permSkip),
|
|
},
|
|
nil,
|
|
)
|
|
}
|
|
|
|
// clientdbdelete `manage_scope, write_scope`
|
|
type clientDbDeleteRequest struct {
|
|
ClientDbId int `schema:"cldbid,required"`
|
|
}
|
|
|
|
func (c *TeamspeakHttpClient) ClientDbDelete(clientDbId int) error {
|
|
return c.requestWithParams("clientdbdelete", clientDbDeleteRequest{ClientDbId: clientDbId}, nil)
|
|
}
|
|
|
|
// clientdbedit `manage_scope, write_scope`
|
|
type ClientDbEditRequest struct {
|
|
ClientDbId int `schema:"cldbid,required"`
|
|
ClientNickname string `schema:"client_nickname"`
|
|
ClientIsTalker string `schema:"client_is_talker"`
|
|
ClientDescription string `schema:"client_description"`
|
|
ClientIsChannelCommander string `schema:"client_is_channel_commander"`
|
|
ClientIconID string `schema:"client_icon_id"`
|
|
}
|
|
|
|
func (c *TeamspeakHttpClient) ClientDbEdit(request ClientDbEditRequest) error {
|
|
return c.requestWithParams("clientdbedit", request, nil)
|
|
}
|
|
|
|
// clientdbfind `manage_scope, write_scope, read_scope`
|
|
type clientDbFindRequest struct {
|
|
IsUid bool `schema:"-uid,omitempty"`
|
|
Pattern string `schema:"pattern"`
|
|
}
|
|
|
|
type ClientDbFindResponse struct {
|
|
ClientDbId []int `json:"cldbid,string"`
|
|
}
|
|
|
|
func (c *TeamspeakHttpClient) clientDbFind(request clientDbFindRequest) (*[]ClientDbFindResponse, error) {
|
|
var clients []ClientDbFindResponse
|
|
|
|
err := c.requestWithParams("clientdbfind", request, &clients)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
return &clients, err
|
|
}
|
|
|
|
func (c *TeamspeakHttpClient) ClientDbFindName(pattern string) (*[]ClientDbFindResponse, error) {
|
|
return c.clientDbFind(clientDbFindRequest{
|
|
IsUid: false,
|
|
Pattern: pattern,
|
|
})
|
|
}
|
|
|
|
func (c *TeamspeakHttpClient) ClientDbFindUid(uid int) (*[]ClientDbFindResponse, error) {
|
|
return c.clientDbFind(clientDbFindRequest{
|
|
IsUid: true,
|
|
Pattern: fmt.Sprint(uid),
|
|
})
|
|
}
|
|
|
|
// clientdbinfo `manage_scope, write_scope, read_scope`
|
|
type clientDbInfoRequest struct {
|
|
ClientDbId int `schema:"cldbid,required"`
|
|
}
|
|
|
|
type ClientDbInfo struct {
|
|
ClientBase64HashClientUID string `json:"client_base64HashClientUID"`
|
|
ClientCreated int `json:"client_created,string"`
|
|
ClientDatabaseID int `json:"client_database_id,string"`
|
|
ClientDescription string `json:"client_description"`
|
|
ClientFlagAvatar string `json:"client_flag_avatar"`
|
|
ClientLastconnected int `json:"client_lastconnected,string"`
|
|
ClientLastip string `json:"client_lastip"`
|
|
ClientMonthBytesDownloaded int `json:"client_month_bytes_downloaded,string"`
|
|
ClientMonthBytesUploaded int `json:"client_month_bytes_uploaded,string"`
|
|
ClientNickname string `json:"client_nickname"`
|
|
ClientTotalBytesDownloaded int `json:"client_total_bytes_downloaded,string"`
|
|
ClientTotalBytesUploaded int `json:"client_total_bytes_uploaded,string"`
|
|
ClientTotalconnections int `json:"client_totalconnections,string"`
|
|
ClientUniqueIdentifier string `json:"client_unique_identifier"`
|
|
}
|
|
|
|
func (c *TeamspeakHttpClient) ClientDbInfo(clientDbId int) (*ClientDbInfo, error) {
|
|
var clientDbInfos []ClientDbInfo
|
|
|
|
err := c.requestWithParams(
|
|
"clientdbinfo",
|
|
clientDbInfoRequest{ClientDbId: clientDbId},
|
|
&clientDbInfos,
|
|
)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
return &clientDbInfos[0], nil
|
|
}
|
|
|
|
// clientdblist `manage_scope, write_scope, read_scope`
|
|
type ClientDbListRequest struct {
|
|
Start int `schema:"start,omitempty"`
|
|
Duration int `schema:"duration,omitempty"`
|
|
}
|
|
|
|
type DbClient struct {
|
|
Cldbid int `json:"cldbid,string"`
|
|
ClientCreated int `json:"client_created,string"`
|
|
ClientDescription string `json:"client_description"`
|
|
ClientLastConnected int `json:"client_lastconnected,string"`
|
|
ClientLastIP string `json:"client_lastip"`
|
|
ClientLoginName string `json:"client_login_name"`
|
|
ClientNickname string `json:"client_nickname"`
|
|
ClientTotalConnections int `json:"client_totalconnections,string"`
|
|
ClientUniqueIdentifier string `json:"client_unique_identifier"`
|
|
}
|
|
|
|
func (c *TeamspeakHttpClient) ClientDbList(request ClientDbListRequest) (*[]DbClient, error) {
|
|
var clients []DbClient
|
|
|
|
err := c.requestWithParams("clientdblist", request, &clients)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
return &clients, nil
|
|
}
|
|
|
|
// clientdelperm `manage_scope`
|
|
type ClientDeletePermission struct {
|
|
ClientDbId int `schema:"cldbid,required"`
|
|
PermId []int `schema:"permid"`
|
|
PermsId []string `schema:"permsid"`
|
|
}
|
|
|
|
func (c *TeamspeakHttpClient) ClientDeletePermission(request ClientDeletePermission) error {
|
|
return c.requestWithParams("clientdelperm", request, nil)
|
|
}
|
|
|
|
// clientedit `manage_scope, write_scope`
|
|
type ClientEditRequest struct {
|
|
ClientId int `schema:"clid,required"`
|
|
ClientNickname string `schema:"client_nickname"`
|
|
ClientIsTalker string `schema:"client_is_talker"`
|
|
ClientDescription string `schema:"client_description"`
|
|
ClientIsChannelCommander string `schema:"client_is_channel_commander"`
|
|
ClientIconID string `schema:"client_icon_id"`
|
|
}
|
|
|
|
func (c *TeamspeakHttpClient) ClientEdit(request ClientEditRequest) error {
|
|
return c.requestWithParams("clientedit", request, nil)
|
|
}
|
|
|
|
// clientfind `manage_scope, write_scope, read_scope`
|
|
type clientFindRequest struct {
|
|
Pattern string `schema:"pattern,required"`
|
|
}
|
|
|
|
type ClientFindResponse struct {
|
|
ClientId int `json:"clid,string"`
|
|
ClientNickname string `json:"client_nickname"`
|
|
}
|
|
|
|
func (c *TeamspeakHttpClient) ClientFind(pattern string) (*[]ClientFindResponse, error) {
|
|
var clients []ClientFindResponse
|
|
|
|
err := c.requestWithParams("clientfind", clientFindRequest{Pattern: pattern}, clients)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
return &clients, nil
|
|
}
|
|
|
|
// clientgetdbidfromuid `manage_scope, write_scope, read_scope`
|
|
type clientGetDbIdFromUidRequest struct {
|
|
ClientUid string `schema:"cluid,required"`
|
|
}
|
|
|
|
type clientGetDbIdFromUidResponse struct {
|
|
ClientDbId int `json:"cldbid,string"`
|
|
}
|
|
|
|
func (c *TeamspeakHttpClient) ClientGetDbIdFromUid(clientUid string) (*int, error) {
|
|
var clients []clientGetDbIdFromUidResponse
|
|
|
|
err := c.requestWithParams(
|
|
"clientgetdbidfromuid",
|
|
clientGetDbIdFromUidRequest{ClientUid: clientUid},
|
|
&clients,
|
|
)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
return &clients[0].ClientDbId, nil
|
|
}
|
|
|
|
// clientgetids `manage_scope, write_scope, read_scope`
|
|
type clientGetIdsRequest struct {
|
|
ClientUid string `schema:"cluid,required"`
|
|
}
|
|
|
|
type ClientGetIdsResponse struct {
|
|
ClientUid string `json:"cluid"`
|
|
ClientId int `json:"clid,string"`
|
|
Name string `json:"name"`
|
|
}
|
|
|
|
func (c *TeamspeakHttpClient) ClientGetIds(clientUid string) (*ClientGetIdsResponse, error) {
|
|
var clients []ClientGetIdsResponse
|
|
|
|
err := c.requestWithParams(
|
|
"clientgetids",
|
|
clientGetIdsRequest{ClientUid: clientUid},
|
|
&clients,
|
|
)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
return &clients[0], nil
|
|
}
|
|
|
|
// clientgetnamefromdbid `manage_scope, write_scope, read_scope`
|
|
type clientGetNameFromDbIdRequest struct {
|
|
ClientDbId int `schema:"cldbid,required"`
|
|
}
|
|
|
|
type clientGetNameFromDbIdResponse struct {
|
|
ClientUid string `json:"cluid"`
|
|
ClientDbId int `json:"cldbid,string"`
|
|
Name string `json:"name"`
|
|
}
|
|
|
|
func (c *TeamspeakHttpClient) ClientGetNameFromDbId(clientDbId int) (*clientGetNameFromDbIdResponse, error) {
|
|
var clients []clientGetNameFromDbIdResponse
|
|
|
|
err := c.requestWithParams(
|
|
"clientgetnamefromdbid",
|
|
clientGetNameFromDbIdRequest{ClientDbId: clientDbId},
|
|
&clients,
|
|
)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
return &clients[0], nil
|
|
}
|
|
|
|
// clientgetnamefromuid `manage_scope, write_scope, read_scope`
|
|
type clientGetNameFromUidRequest struct {
|
|
ClientUid string `schema:"cldbid,required"`
|
|
}
|
|
|
|
type clientGetNameFromUidResponse struct {
|
|
ClientUid string `json:"cluid"`
|
|
ClientDbId int `json:"cldbid,string"`
|
|
Name string `json:"name"`
|
|
}
|
|
|
|
func (c *TeamspeakHttpClient) ClientGetNameFromUid(clientUid string) (*clientGetNameFromUidResponse, error) {
|
|
var clients []clientGetNameFromUidResponse
|
|
|
|
err := c.requestWithParams(
|
|
"clientgetnamefromdbid",
|
|
clientGetNameFromUidRequest{ClientUid: clientUid},
|
|
&clients,
|
|
)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
return &clients[0], nil
|
|
}
|
|
|
|
// clientgetuidfromclid `manage_scope, write_scope, read_scope`
|
|
type clientGetUidFromClientIdRequest struct {
|
|
ClientId int `schema:"clid,required"`
|
|
}
|
|
|
|
type clientGetUidFromClientIdResponse struct {
|
|
ClientId int `json:"clid,string"`
|
|
ClientUid string `json:"cluid"`
|
|
NickName string `json:"nickname"`
|
|
}
|
|
|
|
func (c *TeamspeakHttpClient) ClientGetUidFromClientId(clientId int) (*clientGetUidFromClientIdResponse, error) {
|
|
var clients []clientGetUidFromClientIdResponse
|
|
|
|
err := c.requestWithParams(
|
|
"clientgetuidfromclid",
|
|
clientGetUidFromClientIdRequest{ClientId: clientId},
|
|
&clients,
|
|
)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
return &clients[0], nil
|
|
}
|
|
|
|
// clientinfo `manage_scope, write_scope, read_scope`
|
|
type clientInfoRequest struct {
|
|
ClientId int `schema:"clid"`
|
|
}
|
|
|
|
type ClientInfo struct {
|
|
ClientId int `json:"cid,string"`
|
|
ClientAway int `json:"client_away,string"`
|
|
ClientAwayMessage string `json:"client_away_message"`
|
|
ClientBadges string `json:"client_badges"`
|
|
ClientBase64HashClientUID string `json:"client_base64HashClientUID"`
|
|
ClientChannelGroupID int `json:"client_channel_group_id,string"`
|
|
ClientChannelGroupInheritedChannelID int `json:"client_channel_group_inherited_channel_id,string"`
|
|
ClientCountry string `json:"client_country"`
|
|
ClientCreated int `json:"client_created,string"`
|
|
ClientDatabaseID int `json:"client_database_id,string"`
|
|
ClientDefaultChannel string `json:"client_default_channel"`
|
|
ClientDefaultToken string `json:"client_default_token"`
|
|
ClientDescription string `json:"client_description"`
|
|
ClientFlagAvatar string `json:"client_flag_avatar"`
|
|
ClientIconID int `json:"client_icon_id,string"`
|
|
ClientIdleTime int `json:"client_idle_time,string"`
|
|
ClientInputHardware int `json:"client_input_hardware,string"`
|
|
ClientInputMuted int `json:"client_input_muted,string"`
|
|
ClientIntegrations string `json:"client_integrations"`
|
|
ClientIsChannelCommander int `json:"client_is_channel_commander,string"`
|
|
ClientIsPrioritySpeaker int `json:"client_is_priority_speaker,string"`
|
|
ClientIsRecording int `json:"client_is_recording,string"`
|
|
ClientIsTalker int `json:"client_is_talker,string"`
|
|
ClientLastconnected int `json:"client_lastconnected,string"`
|
|
ClientLoginName string `json:"client_login_name"`
|
|
ClientMetaData string `json:"client_meta_data"`
|
|
ClientMonthBytesDownloaded int `json:"client_month_bytes_downloaded,string"`
|
|
ClientMonthBytesUploaded int `json:"client_month_bytes_uploaded,string"`
|
|
ClientMyteamspeakAvatar string `json:"client_myteamspeak_avatar"`
|
|
ClientMyteamspeakID string `json:"client_myteamspeak_id"`
|
|
ClientNeededServerqueryViewPower int `json:"client_needed_serverquery_view_power,string"`
|
|
ClientNickname string `json:"client_nickname"`
|
|
ClientNicknamePhonetic string `json:"client_nickname_phonetic"`
|
|
ClientOutputHardware int `json:"client_output_hardware,string"`
|
|
ClientOutputMuted int `json:"client_output_muted,string"`
|
|
ClientOutputonlyMuted int `json:"client_outputonly_muted,string"`
|
|
ClientPlatform string `json:"client_platform"`
|
|
ClientSecurityHash string `json:"client_security_hash"`
|
|
ClientServergroups int `json:"client_servergroups,string"`
|
|
ClientSignedBadges string `json:"client_signed_badges"`
|
|
ClientTalkPower int `json:"client_talk_power,string"`
|
|
ClientTalkRequest int `json:"client_talk_request,string"`
|
|
ClientTalkRequestMsg string `json:"client_talk_request_msg"`
|
|
ClientTotalBytesDownloaded int `json:"client_total_bytes_downloaded,string"`
|
|
ClientTotalBytesUploaded int `json:"client_total_bytes_uploaded,string"`
|
|
ClientTotalconnections int `json:"client_totalconnections,string"`
|
|
ClientType int `json:"client_type,string"`
|
|
ClientUniqueIdentifier string `json:"client_unique_identifier"`
|
|
ClientUnreadMessages int `json:"client_unread_messages,string"`
|
|
ClientVersion string `json:"client_version"`
|
|
ClientVersionSign string `json:"client_version_sign"`
|
|
ConnectionBandwidthReceivedLastMinuteTotal int `json:"connection_bandwidth_received_last_minute_total,string"`
|
|
ConnectionBandwidthReceivedLastSecondTotal int `json:"connection_bandwidth_received_last_second_total,string"`
|
|
ConnectionBandwidthSentLastMinuteTotal int `json:"connection_bandwidth_sent_last_minute_total,string"`
|
|
ConnectionBandwidthSentLastSecondTotal int `json:"connection_bandwidth_sent_last_second_total,string"`
|
|
ConnectionBytesReceivedTotal int `json:"connection_bytes_received_total,string"`
|
|
ConnectionBytesSentTotal int `json:"connection_bytes_sent_total,string"`
|
|
ConnectionClientIP string `json:"connection_client_ip"`
|
|
ConnectionConnectedTime int `json:"connection_connected_time,string"`
|
|
ConnectionFiletransferBandwidthReceived int `json:"connection_filetransfer_bandwidth_received,string"`
|
|
ConnectionFiletransferBandwidthSent int `json:"connection_filetransfer_bandwidth_sent,string"`
|
|
ConnectionPacketsReceivedTotal int `json:"connection_packets_received_total,string"`
|
|
ConnectionPacketsSentTotal int `json:"connection_packets_sent_total,string"`
|
|
}
|
|
|
|
func (c *TeamspeakHttpClient) ClientInfo(clientId int) (*[]ClientInfo, error) {
|
|
var clients []ClientInfo
|
|
|
|
err := c.requestWithParams(
|
|
"clientinfo",
|
|
clientInfoRequest{ClientId: clientId},
|
|
&clients,
|
|
)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
return &clients, nil
|
|
}
|
|
|
|
// clientkick `manage_scope, write_scope`
|
|
type clientKickRequest struct {
|
|
ClientId []int `schema:"clid,required"`
|
|
ReasonId int `schema:"reasonid,required"`
|
|
ReasonMessage string `schema:"reasonmsg,omitempty"`
|
|
}
|
|
|
|
func (c *TeamspeakHttpClient) clientKick(request clientKickRequest) error {
|
|
if len(request.ReasonMessage) > 40 {
|
|
return errors.New("the message must not have more than 40 characters")
|
|
}
|
|
|
|
return c.requestWithParams("clientkick", request, nil)
|
|
}
|
|
|
|
func (c *TeamspeakHttpClient) ClientKickChannel(clientIds []int, reasonMessage string) error {
|
|
return c.clientKick(clientKickRequest{
|
|
ClientId: clientIds,
|
|
ReasonId: 4,
|
|
ReasonMessage: reasonMessage,
|
|
})
|
|
}
|
|
|
|
func (c *TeamspeakHttpClient) ClientKickServer(clientIds []int, reasonMessage string) error {
|
|
return c.clientKick(clientKickRequest{
|
|
ClientId: clientIds,
|
|
ReasonId: 5,
|
|
ReasonMessage: reasonMessage,
|
|
})
|
|
}
|
|
|
|
// clientlist `manage_scope, write_scope, read_scope`
|
|
type Client struct {
|
|
ChannelId int `json:"cid,string"`
|
|
ClientId int `json:"clid,string"`
|
|
ClientDatabaseId int `json:"client_database_id,string"`
|
|
ClientNickname string `json:"client_nickname"`
|
|
ClientType int `json:"client_type,string"`
|
|
}
|
|
|
|
func (u *Client) IsBot() bool {
|
|
return u.ClientType == 1
|
|
}
|
|
|
|
func (c *TeamspeakHttpClient) ClientList() (*[]Client, error) {
|
|
var users []Client
|
|
err := c.request("clientlist", &users)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
return &users, nil
|
|
}
|
|
|
|
// clientmove `manage_scope, write_scope`
|
|
type ClientMoveRequest struct {
|
|
ClientId []int `schema:"clid,required"`
|
|
ChannelId int `schema:"cid,required"`
|
|
ChannelPassword string `schema:"cpw,omitempty"`
|
|
}
|
|
|
|
func (c *TeamspeakHttpClient) ClientMove(request ClientMoveRequest) error {
|
|
return c.requestWithParams("clientmove", request, nil)
|
|
}
|
|
|
|
// clientpermlist `manage_scope, write_scope, read_scope`
|
|
type clientPermissionListRequest struct {
|
|
ClientDbId int `schema:"cldbid"`
|
|
AsString bool `schema:"-permsid,omitempty"`
|
|
}
|
|
|
|
type ClientPermissionListResponse struct {
|
|
PermissionId int `json:"permid,string"`
|
|
PermissionNegated int `json:"permnegated,string"`
|
|
PermissionSkip int `json:"permskip,string"`
|
|
PermissionValue int `json:"permvalue,string"`
|
|
}
|
|
|
|
func (c *TeamspeakHttpClient) ClientPermissionList(clientDbId int) (*[]ClientPermissionListResponse, error) {
|
|
var perms []ClientPermissionListResponse
|
|
|
|
err := c.requestWithParams(
|
|
"clientpermlist",
|
|
clientPermissionListRequest{
|
|
ClientDbId: clientDbId,
|
|
},
|
|
&perms,
|
|
)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
return &perms, nil
|
|
}
|
|
|
|
type ClientStringPermissionListResponse struct {
|
|
PermissionId string `json:"permsid"`
|
|
PermissionNegated int `json:"permnegated,string"`
|
|
PermissionSkip int `json:"permskip,string"`
|
|
PermissionValue int `json:"permvalue,string"`
|
|
}
|
|
|
|
func (c *TeamspeakHttpClient) ClientStringPermissionList(clientDbId int) (*[]ClientStringPermissionListResponse, error) {
|
|
var perms []ClientStringPermissionListResponse
|
|
|
|
err := c.requestWithParams(
|
|
"clientpermlist",
|
|
clientPermissionListRequest{
|
|
ClientDbId: clientDbId,
|
|
AsString: true,
|
|
},
|
|
&perms,
|
|
)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
return &perms, nil
|
|
}
|
|
|
|
// clientpoke `manage_scope, write_scope`
|
|
type clientPokeRequest struct {
|
|
ClientId int `schema:"clid,required"`
|
|
Message string `schema:"msg,required"`
|
|
}
|
|
|
|
func (c *TeamspeakHttpClient) ClientPoke(clientId int, message string) error {
|
|
return c.requestWithParams("clientpoke", clientPokeRequest{ClientId: clientId, Message: message}, nil)
|
|
}
|
|
|
|
// clientsetserverquerylogin `manage_scope, write_scope`
|
|
type clientSetServerQueryLoginRequest struct {
|
|
ClientLoginName string `schema:"client_login_name"`
|
|
}
|
|
|
|
func (c *TeamspeakHttpClient) ClientSetServerQueryLogin(clientLoginName string) error {
|
|
return c.requestWithParams(
|
|
"clientsetserverquerylogin",
|
|
clientSetServerQueryLoginRequest{ClientLoginName: clientLoginName},
|
|
nil,
|
|
)
|
|
}
|
|
|
|
// clientupdate `manage_scope, write_scope`
|
|
type ClientUpdateRequest struct {
|
|
ClientNickname string `schema:"client_nickname"`
|
|
ClientIsTalker string `schema:"client_is_talker"`
|
|
ClientDescription string `schema:"client_description"`
|
|
ClientIsChannelCommander string `schema:"client_is_channel_commander"`
|
|
ClientIconID string `schema:"client_icon_id"`
|
|
}
|
|
|
|
func (c *TeamspeakHttpClient) ClientUpdate(request ClientUpdateRequest) error {
|
|
return c.requestWithParams("clientupdate", request, nil)
|
|
}
|
|
|
|
// setclientchannelgroup `manage_scope, write_scope`
|
|
type setClientChannelGroupRequest struct {
|
|
ChannelGroupId int `schema:"cgid"`
|
|
ChannelId int `schema:"cid"`
|
|
ClientDbId int `schema:"cldbid"`
|
|
}
|
|
|
|
func (c *TeamspeakHttpClient) SetClientChannelGroup(channelGroupId, channelId, clientDbId int) error {
|
|
return c.requestWithParams(
|
|
"setclientchannelgroup",
|
|
setClientChannelGroupRequest{
|
|
ChannelGroupId: channelGroupId,
|
|
ChannelId: channelId,
|
|
ClientDbId: clientDbId,
|
|
},
|
|
nil,
|
|
)
|
|
}
|