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, } }