interface Room {
    party.members: any[];
    room.chat: {
        content: string;
        content_safe?: string;
        pinned?: boolean;
        suppressable?: boolean;
        system: boolean;
        user: {
            _id: null | string;
            role?: Role;
            supporter?: boolean;
            supporter_tier?: number;
            username: string;
        };
    };
    room.chat.clear: void;
    room.chat.delete: {
        purge: string;
        uid: string;
    };
    room.chat.gift: {
        months: number;
        sender: number;
        target: number;
    };
    room.join: {
        banner: null;
        id: string;
        silent: boolean;
    };
    room.kick: "hostkick" | "hostban";
    room.leave: string;
    room.player.add: Types.Room.Player;
    room.player.remove: string;
    room.update: {
        allowAnonymous: boolean;
        allowBots: boolean;
        allowChat?: boolean;
        allowQueued: boolean;
        allowUnranked: boolean;
        auto: Autostart;
        autoStart: number;
        bgmList: unknown[];
        constants: unknown;
        creator: string;
        forceRequireXPToChat: boolean;
        gamebgm: string;
        id: string;
        info: Record<string, unknown>;
        lobbybg: null | string;
        lobbybgm: string;
        match: Match;
        name: string;
        name_safe?: string;
        options: Partial<Options>;
        owner: string;
        players: Types.Room.Player[];
        public: boolean;
        state: Types.Room.State;
        topic: Record<string, unknown>;
        type: "custom";
        useBestRankAsLimit: boolean;
        userLimit: number;
        userRankLimit: Rank;
    };
    room.update.auto: {
        enabled: boolean;
        maxtime: number;
        status: "ingame" | "active" | "needsplayers";
        time: number;
    };
    room.update.bracket: {
        bracket: Bracket;
        uid: string;
    };
    room.update.host: string;
}

Properties

party.members: any[]
room.chat: {
    content: string;
    content_safe?: string;
    pinned?: boolean;
    suppressable?: boolean;
    system: boolean;
    user: {
        _id: null | string;
        role?: Role;
        supporter?: boolean;
        supporter_tier?: number;
        username: string;
    };
}
room.chat.clear: void
room.chat.delete: {
    purge: string;
    uid: string;
}

Fires when a single user's chat messages are deleted

Type declaration

  • purge: string

    Whether or not to completely delete the messages or just mark them as deleted

  • uid: string
room.chat.gift: {
    months: number;
    sender: number;
    target: number;
}

Fires when someone is gifted supporter in the room

Type declaration

  • months: number
  • sender: number

    UID of who gave supporter

  • target: number

    UID of who received supporter

room.join: {
    banner: null;
    id: string;
    silent: boolean;
}
room.kick: "hostkick" | "hostban"
room.leave: string
room.player.add: Types.Room.Player
room.player.remove: string
room.update: {
    allowAnonymous: boolean;
    allowBots: boolean;
    allowChat?: boolean;
    allowQueued: boolean;
    allowUnranked: boolean;
    auto: Autostart;
    autoStart: number;
    bgmList: unknown[];
    constants: unknown;
    creator: string;
    forceRequireXPToChat: boolean;
    gamebgm: string;
    id: string;
    info: Record<string, unknown>;
    lobbybg: null | string;
    lobbybgm: string;
    match: Match;
    name: string;
    name_safe?: string;
    options: Partial<Options>;
    owner: string;
    players: Types.Room.Player[];
    public: boolean;
    state: Types.Room.State;
    topic: Record<string, unknown>;
    type: "custom";
    useBestRankAsLimit: boolean;
    userLimit: number;
    userRankLimit: Rank;
}
room.update.auto: {
    enabled: boolean;
    maxtime: number;
    status: "ingame" | "active" | "needsplayers";
    time: number;
}

Fires when the room's autostart state changes

room.update.bracket: {
    bracket: Bracket;
    uid: string;
}

Fires when a player's bracket is moved

room.update.host: string