ts3-nodejs-library
Version:
TeamSpeak Server Query API
114 lines • 4.18 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const Abstract_1 = require("./Abstract");
class TeamSpeakChannelGroup extends Abstract_1.Abstract {
constructor(parent, list) {
super(parent, list, "channelgroup");
}
get cgid() {
return super.getPropertyByName("cgid");
}
get name() {
return super.getPropertyByName("name");
}
get type() {
return super.getPropertyByName("type");
}
get iconid() {
return super.getPropertyByName("iconid");
}
get savedb() {
return super.getPropertyByName("savedb");
}
get sortid() {
return super.getPropertyByName("sortid");
}
get namemode() {
return super.getPropertyByName("namemode");
}
get nModifyp() {
return super.getPropertyByName("n_modifyp");
}
get nMemberAddp() {
return super.getPropertyByName("n_member_addp");
}
get nMemberRemovep() {
return super.getPropertyByName("n_member_removep");
}
/**
* Deletes the channel group. If force is set to 1, the channel group will be deleted even if there are clients within.
* @param force if set to 1 the channelgroup will be deleted even when clients are in it
*/
del(force) {
return super.getParent().deleteChannelGroup(this.cgid, force);
}
/**
* Creates a copy of the channel group. If tcgid is set to 0, the server will create a new group.
* To overwrite an existing group, simply set tcgid to the ID of a designated target group.
* If a target group is set, the name parameter will be ignored.
* @param tcgid the target group, 0 to create a new group
* @param type the type of the group (0 = Template Group | 1 = Normal Group)
* @param name name of the group
*/
copy(tcgid, type, name) {
return super.getParent().channelGroupCopy(this.cgid, tcgid, type, name);
}
/**
* changes the name of the channelgroup
* @param name new name of the group
*/
rename(name) {
return super.getParent().channelGroupRename(this.cgid, name);
}
/**
* returns a list of permissions assigned to the channel group specified with cgid.
* @param permsid if the permsid option is set to true the output will contain the permission names
*/
permList(permsid = false) {
return super.getParent().channelGroupPermList(this.cgid, permsid);
}
/**
* Adds a specified permissions to the channel group.
* 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, value, skip, negate) {
return super.getParent().channelGroupAddPerm(this.cgid, perm, value, skip, negate);
}
/**
* Removes a set of specified permissions from the channel group.
* A permission can be specified by permid or permsid.
* @param perm the permid or permsid
*/
delPerm(perm) {
return super.getParent().channelGroupDelPerm(this.cgid, perm);
}
/**
* sets the channel group of a client
* @param cid the channel in which the client should be assigned the Group
* @param cldbid the client database id which should be added to the Group
*/
setClient(cid, cldbid) {
return super.getParent().setClientChannelGroup(this.cgid, cid, cldbid);
}
/**
* returns the ids of all clients currently residing in the channelgroup
* @param cid the channel id
*/
clientList(cid) {
return super.getParent().channelGroupClientList(this.cgid, cid);
}
/** returns a buffer with the icon of the channelgroup */
getIcon() {
return this.getIconName().then(name => super.getParent().downloadIcon(name));
}
/** gets the icon name of the channelgroup */
getIconName() {
return super.getParent().getIconName(this.permList(true));
}
}
exports.TeamSpeakChannelGroup = TeamSpeakChannelGroup;
//# sourceMappingURL=ChannelGroup.js.map