UNPKG

ts3-nodejs-library

Version:
783 lines (714 loc) 21.9 kB
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 }