namespace axXez.TS3.Protocol
{
/// Audio codec used in a channel.
public enum ChannelCodec
{
/// Speex Narrowband (8 kHz).
SpeexNarrowband = 0,
/// Speex Wideband (16 kHz).
SpeexWideband = 1,
/// Speex Ultra-Wideband (32 kHz).
SpeexUltraWideband = 2,
/// CELT Mono (legacy).
CeltMono = 3,
/// Opus optimized for voice.
OpusVoice = 4,
/// Opus optimized for music.
OpusMusic = 5,
}
/// Whether a client is a regular voice client or a ServerQuery client.
public enum ClientType
{
/// Regular voice client.
Voice = 0,
/// ServerQuery client.
Query = 1,
}
/// Type of a server or channel group.
public enum GroupType
{
/// Template group used when creating new virtual servers.
Template = 0,
/// Regular assignable group.
Regular = 1,
/// ServerQuery group.
Query = 2,
}
/// How a group name is displayed relative to a client's nickname.
public enum GroupNameMode
{
/// Server-default display mode.
Default = 0,
/// Group name shown before the nickname.
Prefix = 1,
/// Group name shown after the nickname.
Postfix = 2,
}
/// How a banner image is scaled in the client.
public enum BannerMode
{
/// Image is displayed at its original size without adjustment.
NoAdjust = 0,
/// Image is stretched to fill the banner area, ignoring the aspect ratio.
IgnoreAspect = 1,
/// Image is scaled to fit while preserving the aspect ratio.
KeepAspect = 2,
}
/// Server-wide voice encryption policy.
public enum CodecEncryptionMode
{
/// Encryption is configured per-channel.
PerChannel = 0,
/// Encryption is globally disabled.
ForcedOff = 1,
/// Encryption is globally enforced.
ForcedOn = 2,
}
/// How the server host message is presented to clients on connect.
public enum HostMessageMode
{
/// No host message is displayed.
None = 0,
/// Message is written to the server log.
Log = 1,
/// Message is shown as a modal dialog.
Modal = 2,
/// Message is shown as a modal dialog that the client must dismiss before connecting.
ModalQuit = 3,
}
/// Target scope of a text message.
public enum MessageTargetMode
{
/// Direct private message to a specific client.
Private = 1,
/// Message sent to the current channel.
Channel = 2,
/// Message broadcast to the entire server.
Server = 3,
}
/// Reason code attached to client view and edit events.
public enum EventReason
{
/// No specific reason; self-action, connection, or default.
None = 0,
/// Moved by another client or moderator.
Moved = 1,
/// Kicked from the server.
KickedFromServer = 4,
/// Kicked from the channel.
KickedFromChannel = 5,
/// Banned from the server.
Banned = 6,
/// Left voluntarily or timed out.
Disconnected = 8,
/// Channel or server settings were edited.
Edited = 10,
}
}