This article will guide you through change the channel variables on a TeamSpeak SDK server.
Topics:
There are a lot of informations you can modifying, related to channels, in the enum ChannelProperties
.
enum ChannelProperties {
CHANNEL_NAME = 0, //Available for all channels that are "in view", always up-to-date
CHANNEL_TOPIC, //Available for all channels that are "in view", always up-to-date
CHANNEL_DESCRIPTION, //Must be requested (=> requestChannelDescription)
CHANNEL_PASSWORD, //not available client side
CHANNEL_CODEC, //Available for all channels that are "in view", always up-to-date
CHANNEL_CODEC_QUALITY, //Available for all channels that are "in view", always up-to-date
CHANNEL_MAXCLIENTS, //Available for all channels that are "in view", always up-to-date
CHANNEL_MAXFAMILYCLIENTS, //Available for all channels that are "in view", always up-to-date
CHANNEL_ORDER, //Available for all channels that are "in view", always up-to-date
CHANNEL_FLAG_PERMANENT, //Available for all channels that are "in view", always up-to-date
CHANNEL_FLAG_SEMI_PERMANENT, //Available for all channels that are "in view", always up-to-date
CHANNEL_FLAG_DEFAULT, //Available for all channels that are "in view", always up-to-date
CHANNEL_FLAG_PASSWORD, //Available for all channels that are "in view", always up-to-date
CHANNEL_CODEC_LATENCY_FACTOR, //Available for all channels that are "in view", always up-to-date
CHANNEL_CODEC_IS_UNENCRYPTED, //Available for all channels that are "in view", always up-to-date
CHANNEL_SECURITY_SALT, //Sets the options+salt for security hash (SDK only)
CHANNEL_DELETE_DELAY, //How many seconds to wait before deleting this channel
CHANNEL_ENDMARKER,
};
For the modifying you will need ts3server_setChannelVariableAsInt
and ts3server_setChannelVariableAsString
:
unsigned int ts3server_setChannelVariableAsInt(serverID, channelID, flag, value);
uint64 serverID;
uint64 channelID;
ChannelProperties flag;
int value;
unsigned int ts3server_setChannelVariableAsString(serverID, channelID, flag, value);
uint64 serverID;
uint64 channelID;
ChannelProperties flag;
const char* value;
• serverConnectionHandlerID
ID of the virtual server on which the information for the specified channel should be changed.
• channelID
ID of the channel whoses property should be changed.
• flag
Channel propery to change, see above.
• value
Value the channel property should be changed to.
After modifying one or more channel variables, you must flush the changes.
unsigned int ts3server_flushChannelVariable(serverID, channelID);
uint64 serverID;
uint64 channelID;
Now we’re ready to change the name of a channel on the TeamSpeak SDK Server.
First set the channel variables:
uint64 server_id;
unsigned int channel_id;
unsigned int error;
if ((error = ts3server_setChannelVariableAsString(server_id, channel_id, CHANNEL_NAME, "New channel name")) != ERROR_ok)
{
printf("Error setting channel name variable: %d\n", error);
}
Note: In contrast to the channel creation, we must specify the channel id, of the channel we want to modify, here
And now you can flush the changes:
uint64 server_id;
unsigned int channel_id;
if ((error = ts3server_flushChannelVariable(serverID, channel_id)) != ERROR_ok)
{
printf("Error change channel variables: %d\n", error);
}
You have change your first channel name on a Teamspeak server using the TeamSpeak SDK and have learned the basics of channel variables.