UNPKG

ts3-nodejs-library

Version:
145 lines (144 loc) 6.63 kB
/// <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>; }