ts3-nodejs-library
Version:
TeamSpeak Server Query API
783 lines (714 loc) • 21.9 kB
text/typescript
import { TeamSpeakServer } from "../node/Server"
import { ApiKeyScope, ClientType, Codec } from "./enum"
import { TeamSpeakQuery } from "../transport/TeamSpeakQuery"
export interface ClientSetServerQueryLogin extends TeamSpeakQuery.ResponseEntry {
clientLoginPassword: string
}
export interface ClientFind extends TeamSpeakQuery.ResponseEntry {
clid: string
clientNickname: string
}
export interface ApiKeyAdd extends TeamSpeakQuery.ResponseEntry {
apikey: string
id: string
sid: string
cldbid: string
scope: ApiKeyScope
timeLeft: number
}
export type ApiKeyList = ApiKeyEntry[]
export interface ApiKeyEntry extends TeamSpeakQuery.ResponseEntry {
count: number
id: string
sid: number
cldbid: number
scope: ApiKeyScope
timeLeft: number
createdAt: number
expiresAt: number
}
export interface QueryErrorMessage extends TeamSpeakQuery.ResponseEntry {
id: string
msg: string
extraMsg?: string
failedPermid?: number
}
export type ClientList = ClientEntry[]
export interface ClientEntry extends TeamSpeakQuery.ResponseEntry {
clid: string
cid: string
clientDatabaseId: string
clientNickname: string
clientType: number
clientAway: number
clientAwayMessage: string
clientFlagTalking: boolean
clientInputMuted: boolean
clientOutputMuted: boolean
clientInputHardware: boolean
clientOutputHardware: boolean
clientTalkPower: number
clientIsTalker: boolean
clientIsPrioritySpeaker: boolean
clientIsRecording: boolean
clientIsChannelCommander: number
clientUniqueIdentifier: string
clientServergroups: string[]
clientChannelGroupId: string
clientChannelGroupInheritedChannelId: number
clientVersion: string
clientPlatform: string
clientIdleTime: number
clientCreated: number
clientLastconnected: number
clientCountry: string|undefined
clientEstimatedLocation: string|undefined
connectionClientIp: string
clientBadges: string
}
export type ChannelList = ChannelEntry[]
export interface ChannelEntry extends TeamSpeakQuery.ResponseEntry {
cid: string
pid: string
channelOrder: number
channelName: string
channelTopic: string
channelFlagDefault: boolean
channelFlagPassword: boolean
channelFlagPermanent: boolean
channelFlagSemiPermanent: boolean
channelCodec: Codec
channelCodecQuality: number
channelNeededTalkPower: number
channelIconId: string
secondsEmpty: number
totalClientsFamily: number
channelMaxclients: number
channelMaxfamilyclients: number
totalClients: number
channelNeededSubscribePower: number
/** only in server version >= 3.11.x */
channelBannerGfxUrl: string
/** only in server version >= 3.11.x */
channelBannerMode: number
}
export type ServerGroupList = ServerGroupEntry[]
export interface ServerGroupEntry extends TeamSpeakQuery.ResponseEntry {
sgid: string
name: string
type: number
iconid: string
savedb: number
sortid: number
namemode: number
nModifyp: number
nMemberAddp: number
nMemberRemovep: number
}
export interface ServerGroupsByClientId extends TeamSpeakQuery.ResponseEntry {
name: string
sgid: string
cldbid: string
}
export type ChannelClientPermIdList = ChannelClientPermIdEntry[]
export interface ChannelClientPermIdEntry extends TeamSpeakQuery.ResponseEntry {
cid: string
cldbid: string
permid: number
permvalue: number
permnegated: boolean
permskip: boolean
}
export type ChannelClientPermSidList = ChannelClientPermSidEntry[]
export interface ChannelClientPermSidEntry extends TeamSpeakQuery.ResponseEntry {
cid: string
cldbid: string
permsid: string
permvalue: number
permnegated: boolean
permskip: boolean
}
export type ChannelGroupList = ChannelGroupEntry[]
export interface ChannelGroupEntry extends TeamSpeakQuery.ResponseEntry {
cgid: string
name: string
type: number
iconid: string
savedb: number
sortid: number
namemode: number
nModifyp: number
nMemberAddp: number
nMemberRemovep: number
}
export type ServerList = ServerEntry[]
export interface ServerEntry extends TeamSpeakQuery.ResponseEntry {
virtualserverId: string
virtualserverPort: number
virtualserverStatus: string
virtualserverClientsonline: number
virtualserverQueryclientsonline: number
virtualserverMaxclients: number
virtualserverUptime: number
virtualserverName: string
virtualserverAutostart: number
virtualserverMachineId: string
virtualserverUniqueIdentifier: string
}
export interface ServerCreate {
token: string,
server: TeamSpeakServer
}
export interface QueryLoginAdd extends TeamSpeakQuery.ResponseEntry {
cldbid: string
sid: string
clientLoginName: string
clientLoginPassword: string
}
export type QueryLoginList = QueryLoginEntry[]
export interface QueryLoginEntry extends TeamSpeakQuery.ResponseEntry {
cldbid: string
sid: string
clientLoginName: string
}
export interface Version extends TeamSpeakQuery.ResponseEntry {
version: string
build: number
platform: string
}
export interface HostInfo extends TeamSpeakQuery.ResponseEntry {
instanceUptime: number
hostTimestampUtc: number
virtualserversRunningTotal: number
virtualserversTotalMaxclients: number
virtualserversTotalClientsOnline: number
virtualserversTotalChannelsOnline: number
connectionFiletransferBandwidthSent: number
connectionFiletransferBandwidthReceived: number
connectionFiletransferBytesSentTotal: number
connectionFiletransferBytesReceivedTotal: number
connectionPacketsSentTotal: number
connectionBytesSentTotal: number
connectionPacketsReceivedTotal: number
connectionBytesReceivedTotal: number
connectionBandwidthSentLastSecondTotal: number
connectionBandwidthSentLastMinuteTotal: number
connectionBandwidthReceivedLastSecondTotal: number
connectionBandwidthReceivedLastMinuteTotal: number
}
export interface InstanceInfo extends TeamSpeakQuery.ResponseEntry {
serverinstanceDatabaseVersion: number
serverinstanceFiletransferPort: number
serverinstanceMaxDownloadTotalBandwidth: number
serverinstanceMaxUploadTotalBandwidth: number
serverinstanceGuestServerqueryGroup: number
serverinstanceServerqueryFloodCommands: number
serverinstanceServerqueryFloodBanTime: number
serverinstanceTemplateServeradminGroup: number
serverinstanceTemplateServerdefaultGroup: string
serverinstanceTemplateChanneladminGroup: string
serverinstanceTemplateChanneldefaultGroup: string
serverinstancePermissionsVersion: number
serverinstancePendingConnectionsPerIp: number
serverinstanceServerqueryMaxConnectionsPerIp: number
}
export type BindingList = BindingEntry[]
export interface BindingEntry extends TeamSpeakQuery.ResponseEntry {
ip: string
}
export interface Whoami extends TeamSpeakQuery.ResponseEntry {
virtualserverStatus: string
virtualserverUniqueIdentifier: string
virtualserverPort: number
virtualserverId: string
clientId: string
clientChannelId: string
clientNickname: string
clientDatabaseId: string
clientLoginName: string
clientUniqueIdentifier: string
clientOriginServerId: string
}
export interface ServerInfo extends TeamSpeakQuery.ResponseEntry {
virtualserverUniqueIdentifier: string
virtualserverName: string
virtualserverWelcomemessage: string
virtualserverMaxclients: number
virtualserverPassword: string
virtualserverCreated: number
virtualserverCodecEncryptionMode: number
virtualserverHostmessage: string
virtualserverHostmessageMode: number
virtualserverFilebase: string
virtualserverDefaultServerGroup: string
virtualserverDefaultChannelGroup: string
virtualserverFlagPassword: boolean
virtualserverDefaultChannelAdminGroup: string
virtualserverMaxDownloadTotalBandwidth: number
virtualserverMaxUploadTotalBandwidth: number
virtualserverHostbannerUrl: string
virtualserverHostbannerGfxUrl: string
virtualserverHostbannerGfxInterval: number
virtualserverComplainAutobanCount: number
virtualserverComplainAutobanTime: number
virtualserverComplainRemoveTime: number
virtualserverMinClientsInChannelBeforeForcedSilence: number
virtualserverPrioritySpeakerDimmModificator: number
virtualserverAntifloodPointsTickReduce: number
virtualserverAntifloodPointsNeededCommandBlock: number
virtualserverAntifloodPointsNeededIpBlock: number
virtualserverHostbuttonTooltip: string
virtualserverHostbuttonUrl: string
virtualserverHostbuttonGfxUrl: string
virtualserverDownloadQuota: number
virtualserverUploadQuota: number
virtualserverNeededIdentitySecurityLevel: number
virtualserverLogClient: number
virtualserverLogQuery: number
virtualserverLogChannel: number
virtualserverLogPermissions: number
virtualserverLogServer: number
virtualserverLogFiletransfer: number
virtualserverMinClientVersion: number
virtualserverNamePhonetic: string
virtualserverIconId: string
virtualserverReservedSlots: number
virtualserverWeblistEnabled: number
virtualserverHostbannerMode: number
virtualserverChannelTempDeleteDelayDefault: number
virtualserverMinAndroidVersion: number
virtualserverMinIosVersion: number
virtualserverNickname: string
virtualserverAntifloodPointsNeededPluginBlock: number
virtualserverStatus: string
virtualserverTotalPing: number
virtualserverTotalPacketlossTotal: number
virtualserverChannelsonline: number
virtualserverTotalBytesUploaded: number
virtualserverTotalBytesDownloaded: number
virtualserverClientsonline: number
virtualserverQueryclientsonline: number
connectionFiletransferBandwidthSent: number
connectionFiletransferBandwidthReceived: number
connectionFiletransferBytesSentTotal: number
connectionFiletransferBytesReceivedTotal: number
connectionPacketsSentSpeech: number
connectionBytesSentSpeech: number
connectionPacketsReceivedSpeech: number
connectionBytesReceivedSpeech: number
connectionPacketsSentKeepalive: number
connectionBytesSentKeepalive: number
connectionPacketsReceivedKeepalive: number
connectionBytesReceivedKeepalive: number
connectionPacketsSentControl: number
connectionBytesSentControl: number
connectionPacketsReceivedControl: number
connectionBytesReceivedControl: number
connectionPacketsSentTotal: number
connectionBytesSentTotal: number
connectionPacketsReceivedTotal: number
connectionBytesReceivedTotal: number
connectionBandwidthSentLastSecondTotal: number
connectionBandwidthSentLastMinuteTotal: number
connectionBandwidthReceivedLastSecondTotal: number
connectionBandwidthReceivedLastMinuteTotal: number
}
export interface ServerIdGetByPort extends TeamSpeakQuery.ResponseEntry {
serverId: string
}
export interface ServerRequestConnectionInfo extends TeamSpeakQuery.ResponseEntry {
connectionFiletransferBandwidthSent: number
connectionFiletransferBandwidthReceived: number
connectionFiletransferBytesSentTotal: number
connectionFiletransferBytesReceivedTotal: number
connectionPacketsSentTotal: number
connectionBytesSentTotal: number
connectionPacketsReceivedTotal: number
connectionBytesReceivedTotal: number
connectionBandwidthSentLastSecondTotal: number
connectionBandwidthSentLastMinuteTotal: number
connectionBandwidthReceivedLastSecondTotal: number
connectionBandwidthReceivedLastMinuteTotal: number
connectionConnectedTime: number
connectionPacketlossTotal: number
connectionPing: number
}
export type ServerGroupClientList = ServerGroupClientEntry[]
export interface ServerGroupClientEntry extends TeamSpeakQuery.ResponseEntry {
cldbid: string
clientNickname: string
clientUniqueIdentifier: string
}
export interface ServerGroupCopy extends TeamSpeakQuery.ResponseEntry {
/** only available when a new group gets created */
sgid?: string
}
export interface ChannelGroupCopy extends TeamSpeakQuery.ResponseEntry {
/** only available when a new group gets created */
cgid?: string
}
export type ServerTempPasswordList = ServerTempPasswordEntry[]
export interface ServerTempPasswordEntry extends TeamSpeakQuery.ResponseEntry {
nickname: string
uid: string
desc: string
pwClear: string
start: number
end: number
tcid: string
}
export type ChannelGroupClientList = ChannelGroupClientEntry[]
export interface ChannelGroupClientEntry extends TeamSpeakQuery.ResponseEntry {
cid?: string
cldbid?: string
cgid?: string
}
export type PermList = PermEntry[]
export interface PermEntry extends TeamSpeakQuery.ResponseEntry {
permid?: number
permsid?: string
permvalue: number
permnegated: boolean
permskip: boolean
}
export interface ChannelFind extends TeamSpeakQuery.ResponseEntry {
cid: string
channelName: string
}
export interface ChannelInfo extends TeamSpeakQuery.ResponseEntry {
pid: string
channelName: string
channelTopic: string
channelDescription: string
channelPassword: string
channelCodec: number
channelCodecQuality: number
channelMaxclients: number
channelMaxfamilyclients: number
channelOrder: number
channelFlagPermanent: boolean
channelFlagSemiPermanent: boolean
channelFlagDefault: boolean
channelFlagPassword: boolean
channelCodecLatencyFactor: number
channelCodecIsUnencrypted: number
channelSecuritySalt: string
channelDeleteDelay: number
channelFlagMaxclientsUnlimited: boolean
channelFlagMaxfamilyclientsUnlimited: boolean
channelFlagMaxfamilyclientsInherited: boolean
channelFilepath: string
channelNeededTalkPower: number
channelForcedSilence: number
channelNamePhonetic: string
channelIconId: string
channelBannerGfxUrl: string
channelBannerMode: number
secondsEmpty: number
}
export type ClientGetIds = ClientGetIdEntry[]
export interface ClientGetIdEntry extends TeamSpeakQuery.ResponseEntry {
cluid: string
clid: string
name: string
}
export interface ClientGetDbidFromUid extends TeamSpeakQuery.ResponseEntry {
cluid: string
cldbid: string
}
export interface ClientGetNameFromUid extends TeamSpeakQuery.ResponseEntry {
cluid: string
cldbid: string
name: string
}
export interface ClientGetUidFromClid extends TeamSpeakQuery.ResponseEntry {
clid: string
cluid: string
nickname: string
}
export interface ClientGetNameFromDbid extends TeamSpeakQuery.ResponseEntry {
cluid: string
cldbid: string
name: string
}
export interface ClientInfo extends TeamSpeakQuery.ResponseEntry {
cid: string
clientIdleTime: number
clientUniqueIdentifier: string
clientNickname: string
clientVersion: string
clientPlatform: string
clientInputMuted: number
clientOutputMuted: number
clientOutputonlyMuted: number
clientInputHardware: number
clientOutputHardware: number
clientDefaultChannel: string
clientMetaData: string
clientIsRecording: boolean
clientVersionSign: string
clientSecurityHash: string
clientLoginName: string
clientDatabaseId: number
clientChannelGroupId: string
clientServergroups: string[]
clientCreated: number
clientLastconnected: number
clientTotalconnections: number
clientAway: boolean
clientAwayMessage: string|undefined
clientType: ClientType
clientFlagAvatar: string
clientTalkPower: number
clientTalkRequest: number
clientTalkRequestMsg: string
clientDescription: string
clientIsTalker: boolean
clientMonthBytesUploaded: number
clientMonthBytesDownloaded: number
clientTotalBytesUploaded: number
clientTotalBytesDownloaded: number
clientIsPrioritySpeaker: boolean
clientNicknamePhonetic: string
clientNeededServerqueryViewPower: number
clientDefaultToken: string
clientIconId: string
clientIsChannelCommander: boolean
clientCountry: string
clientChannelGroupInheritedChannelId: string
clientBadges: string
clientMyteamspeakId: string
clientIntegrations: string
clientMyteamspeakAvatar: string
clientSignedBadges: string
clientBase64HashClientUID: string
connectionFiletransferBandwidthSent: number
connectionFiletransferBandwidthReceived: number
connectionPacketsSentTotal: number
connectionBytesSentTotal: number
connectionPacketsReceivedTotal: number
connectionBytesReceivedTotal: number
connectionBandwidthSentLastSecondTotal: number
connectionBandwidthSentLastMinuteTotal: number
connectionBandwidthReceivedLastSecondTotal: number
connectionBandwidthReceivedLastMinuteTotal: number
connectionConnectedTime: number
connectionClientIp: string
}
export type ClientDBList = ClientDBEntry[]
export interface ClientDBEntry extends TeamSpeakQuery.ResponseEntry {
count: number
cldbid: string
clientUniqueIdentifier: string
clientNickname: string
clientCreated: number
clientLastconnected: number
clientTotalconnections: number
clientDescription: string
clientLastip: string
clientLoginName: string
}
export interface ClientDBInfo extends TeamSpeakQuery.ResponseEntry {
clientUniqueIdentifier: string
clientNickname: string
clientDatabaseId: string
clientCreated: number
clientLastconnected: number
clientTotalconnections: number
clientFlagAvatar: string
clientDescription: string
clientMonthBytesUploaded: number
clientMonthBytesDownloaded: number
clientTotalBytesUploaded: number
clientTotalBytesDownloaded: number
clientBase64HashClientUID: string
clientLastip: string
}
export type CustomSearch = CustomSearchEntry[]
export interface CustomSearchEntry extends TeamSpeakQuery.ResponseEntry {
cldbid: string
ident: string
value: string
}
export type CustomInfo = CustomInfoEntry[]
export interface CustomInfoEntry extends TeamSpeakQuery.ResponseEntry {
cldbid: string
ident: string
value: string
}
export interface TokenCustomSet extends TeamSpeakQuery.ResponseEntry {
ident: string
value: string
}
export type PermOverview = PermOverviewEntry[]
export interface PermOverviewEntry extends TeamSpeakQuery.ResponseEntry {
t: number
id: number
id2: number
/** perm */
p: number
/** value */
v: number
/** negate */
n: number
/** skip */
s: number
}
export type PermissionList = PermissionEntry[]
export interface PermissionEntry extends TeamSpeakQuery.ResponseEntry {
permid: number
permname: string
permdesc: string
}
export interface PermIdGetByName extends TeamSpeakQuery.ResponseEntry {
permsid: string
permid: number
}
export interface PermGet extends TeamSpeakQuery.ResponseEntry {
permsid: string
permid: number
permvalue: number
}
export interface PermFind extends TeamSpeakQuery.ResponseEntry {
t: number
id1: number
id2: number
p: number
}
export interface Token extends TeamSpeakQuery.ResponseEntry {
token: string
}
export type PrivilegeKeyList = PrivilegeKeyEntry[]
export interface PrivilegeKeyEntry extends TeamSpeakQuery.ResponseEntry {
token: string
tokenType: number
tokenId1: number
tokenId2: number
tokenCreated: number
tokenDescription: string
/** only in server version >= 3.11.x */
tokenCustomset: TokenCustomSet[]
}
export type MessageList = MessageEntry[]
export interface MessageEntry extends TeamSpeakQuery.ResponseEntry {
msgid: string
cluid: string
subject: string
timestamp: number
flagRead: boolean
}
export interface MessageGet extends TeamSpeakQuery.ResponseEntry {
msgid: string
cluid: string
subject: string
message: string
timestamp: number
}
export type ComplainList = ComplainEntry[]
export interface ComplainEntry extends TeamSpeakQuery.ResponseEntry {
tcldbid: string
tname: string
fcldbid: string
fname: string
message: string
timestamp: number
}
export interface BanAdd extends TeamSpeakQuery.ResponseEntry {
banid: string
}
export type BanList = BanEntry[]
export interface BanEntry extends TeamSpeakQuery.ResponseEntry {
banid: string
ip: string
name: string
uid: string
mytsid: string
lastnickname: string
created: number
duration: number
invokername: string
invokercldbid: string
invokeruid: string
reason: string
enforcements: number
}
export interface LogView extends TeamSpeakQuery.ResponseEntry {
lastPos: number
fileSize: number
l: string
}
export interface ClientDBFind extends TeamSpeakQuery.ResponseEntry {
cldbid: string
}
export type FTList = FileTransferEntry[]
export interface FileTransferEntry extends TeamSpeakQuery.ResponseEntry {
clid: string
path: string
name: string
size: number
sizedone: number
clientftfid: number
serverftfid: number
sender: number
status: number
currentSpeed: number
averageSpeed: number
runtime: number
}
export type FTGetFileList = FTGetFileEntry[]
export interface FTGetFileEntry extends TeamSpeakQuery.ResponseEntry {
cid: string
path: string
name: string
size: number
datetime: number
/** 1=file 0=folder */
type: number
}
export interface FTGetFileInfo extends TeamSpeakQuery.ResponseEntry {
cid: string
name: string
size: number
datetime: number
}
export interface FTInitUpload extends TeamSpeakQuery.ResponseEntry {
clientftfid: number
/** exists when an error occured */
status?: number
/** exists when an error occured */
msg?: string
/** exists when an error occured */
size?: number
/** exists when file is uploadable */
serverftfid?: number
/** exists when file is uploadable */
ftkey?: string
/** exists when file is uploadable */
port?: number
/** exists when file is uploadable */
seekpos?: number
/** exists when file is uploadable */
proto?: number
}
export interface FTInitDownload extends TeamSpeakQuery.ResponseEntry {
clientftfid: number
size: number
/** exists when an error occured */
status?: number
/** exists when an error occured */
msg?: string
/** exists when file is downloadable */
serverftfid?: number
/** exists when file is downloadable */
ftkey?: string
/** exists when file is downloadable */
port?: number
/** exists when file is downloadable */
proto?: number
}
export interface SnapshotCreate extends TeamSpeakQuery.ResponseEntry {
version: number,
/** only exists when a password has been set otherwise it will be undefined */
salt?: string,
snapshot: string
}