ts3-nodejs-library
Version:
TeamSpeak Server Query API
145 lines (144 loc) • 6.63 kB
TypeScript
/// <reference types="node" />
import { Abstract } from "./Abstract";
import { TeamSpeak } from "../TeamSpeak";
import { ClientList } from "../types/ResponseTypes";
import { ClientDBEdit, ClientEdit } from "../types/PropertyTypes";
import { ClientType } from "../types/enum";
export declare class TeamSpeakClient extends Abstract {
constructor(parent: TeamSpeak, list: ClientList);
get clid(): number;
get cid(): number;
get databaseId(): number;
get nickname(): string;
get type(): ClientType;
get uniqueIdentifier(): string;
get away(): number | undefined;
get awayMessage(): string | undefined;
get flagTalking(): number | undefined;
get inputMuted(): number | undefined;
get outputMuted(): number | undefined;
get inputHardware(): number | undefined;
get outputHardware(): number | undefined;
get talkPower(): number | undefined;
get isTalker(): number | undefined;
get isPrioritySpeaker(): number | undefined;
get isRecording(): number | undefined;
get isChannelCommander(): number | undefined;
get servergroups(): number[] | undefined;
get channelGroupId(): number | undefined;
get channelGroupInheritedChannelId(): number | undefined;
get version(): string | undefined;
get platform(): string | undefined;
get idleTime(): number | undefined;
get created(): number | undefined;
get lastconnected(): number | undefined;
get country(): string | undefined;
get connectionClientIp(): string | undefined;
get badges(): string | undefined;
/** evaluates if the client is a query client or a normal client */
isQuery(): boolean;
/**
* Retrieves a displayable Client Link for the TeamSpeak Chat
*/
getUrl(): string;
/** returns general info of the client, requires the client to be online */
getInfo(): Promise<import("../types/ResponseTypes").ClientInfo>;
/** returns the clients database info */
getDBInfo(): Promise<import("../types/ResponseTypes").ClientDBInfo>;
/** returns a list of custom properties for the client */
customInfo(): Promise<import("../types/ResponseTypes").CustomInfo[]>;
/**
* removes a custom property from the client
* @param ident the key which should be deleted
*/
customDelete(ident: string): Promise<import("../types/QueryResponse").QueryResponseTypes[]>;
/**
* creates or updates a custom property for the client
* ident and value can be any value, and are the key value pair of the custom property
* @param ident the key which should be set
* @param value the value which should be set
*/
customSet(ident: string, value: string): Promise<import("../types/QueryResponse").QueryResponseTypes[]>;
/**
* kicks the client from the server
* @param msg the message the client should receive when getting kicked
*/
kickFromServer(msg: string): Promise<import("../types/QueryResponse").QueryResponseTypes[]>;
/**
* kicks the client from their currently joined channel
* @param msg the message the client should receive when getting kicked (max 40 Chars)
*/
kickFromChannel(msg: string): Promise<import("../types/QueryResponse").QueryResponseTypes[]>;
/**
* bans the chosen client with its uid
* @param banreason ban reason
* @param time bantime in seconds, if left empty it will result in a permaban
*/
ban(banreason: string, time?: number): Promise<import("../types/ResponseTypes").BanAdd>;
/**
* moves the client to a different channel
* @param cid channel id in which the client should get moved
* @param cpw the channel password
*/
move(cid: number, cpw?: string): Promise<import("../types/QueryResponse").QueryResponseTypes[]>;
/**
* adds the client to one or more groups
* @param sgid one or more servergroup ids which the client should be added to
*/
addGroups(sgid: number | number[]): Promise<import("../types/QueryResponse").QueryResponseTypes[]>;
/**
* Removes the client from one or more groups
* @param sgid one or more servergroup ids which the client should be added to
*/
delGroups(sgid: number | number[]): Promise<import("../types/QueryResponse").QueryResponseTypes[]>;
/**
* edits the client
* @param properties the properties to change
*/
edit(properties: ClientEdit): Promise<import("../types/QueryResponse").QueryResponseTypes[]>;
/**
* Changes a clients settings using given properties.
* @param properties the properties which should be modified
*/
dbEdit(properties: ClientDBEdit): Promise<import("../types/QueryResponse").QueryResponseTypes[]>;
/**
* pokes the client with a certain message
* @param msg the message the client should receive
*/
poke(msg: string): Promise<import("../types/QueryResponse").QueryResponseTypes[]>;
/**
* sends a textmessage to the client
* @param msg the message the client should receive
*/
message(msg: string): Promise<import("../types/QueryResponse").QueryResponseTypes[]>;
/**
* returns a list of permissions defined for the client
* @param permsid if the permsid option is set to true the output will contain the permission names
*/
permList(permsid?: boolean): Promise<import("../types/ResponseTypes").PermList[]>;
/**
* Adds a set of specified permissions to a client.
* Multiple permissions can be added by providing the three parameters of each permission.
* A permission can be specified by permid or permsid.
* @param perm the permid or permsid
* @param value value of the permission
* @param skip whether the skip flag should be set
* @param negate whether the negate flag should be set
*/
addPerm(perm: string | number, value: number, skip?: number, negate?: number): Promise<import("../types/QueryResponse").QueryResponseTypes[]>;
/**
* Removes a set of specified permissions from a client.
* Multiple permissions can be removed at once.
* A permission can be specified by permid or permsid
* @param perm the permid or permsid
*/
delPerm(perm: string | number): Promise<import("../types/QueryResponse").QueryResponseTypes[]>;
/** returns a Buffer with the avatar of the user */
getAvatar(): Promise<Buffer>;
/** returns a Buffer with the icon of the client */
getIcon(): Promise<Buffer>;
/** returns the avatar name of the client */
getAvatarName(): Promise<string>;
/** gets the icon name of the client */
getIconName(): Promise<string>;
}