namespace SharpChat.Flashii;

/// <summary>
/// Flashii Chat Permissions.
/// Has strange naming because its yoinked from https://patchii.net/flashii/misuzu/src/commit/dd8ec7c8ddb8aa1343b993eac5d23d152ac71940/src/Perm.php#L98.
/// </summary>
[Flags]
public enum FlashiiUserPermissions : int {
    C_USER_KICK = 0b00000_00000000_00000000_00000000_00000000_00000000_00000001,
    C_USER_BAN = 0b00000_00000000_00000000_00000000_00000000_00000000_00000010,
    //C_USER_SILENCE = 0b00000_00000000_00000000_00000000_00000000_00000000_00000100,
    C_MESSAGE_BROADCAST = 0b00000_00000000_00000000_00000000_00000000_00000000_00001000,
    C_NICK_SET_OWN = 0b00000_00000000_00000000_00000000_00000000_00000000_00010000,
    C_NICK_SET_ANY = 0b00000_00000000_00000000_00000000_00000000_00000000_00100000,
    C_CHANNEL_CREATE = 0b00000_00000000_00000000_00000000_00000000_00000000_01000000,
    C_CHANNEL_SET_PERSIST = 0b00000_00000000_00000000_00000000_00000000_00000000_10000000,
    C_CHANNEL_SET_PASSWORD = 0b00000_00000000_00000000_00000000_00000000_00000001_00000000,
    C_CHANNEL_SET_MIN_RANK = 0b00000_00000000_00000000_00000000_00000000_00000010_00000000,
    C_MESSAGE_SEND = 0b00000_00000000_00000000_00000000_00000000_00000100_00000000,
    C_MESSAGE_DELETE_OWN = 0b00000_00000000_00000000_00000000_00000000_00001000_00000000,
    C_MESSAGE_DELETE_ANY = 0b00000_00000000_00000000_00000000_00000000_00010000_00000000,
    C_MESSAGE_EDIT_OWN = 0b00000_00000000_00000000_00000000_00000000_00100000_00000000,
    C_MESSAGE_EDIT_ANY = 0b00000_00000000_00000000_00000000_00000000_01000000_00000000,
    C_USER_VIEW_ADDR = 0b00000_00000000_00000000_00000000_00000000_10000000_00000000,
    C_CHANNEL_DELETE = 0b00000_00000000_00000000_00000000_00000001_00000000_00000000,
    C_CHANNEL_JOIN_ANY = 0b00000_00000000_00000000_00000000_00000010_00000000_00000000,
}