discord.js - Imagine ❄d-I❄
discord.js - Imagine ❄12mo ago
13 replies
sean

[Solved] Voice States cleared

Hey, I noticed that when I get the voice channel, check for the members in the channel I only get the bot member while it should return me and the bot user.

I have the feeling that this is bcs of my makeCache and sweepers settings. This is my config:
    makeCache: Discord.Options.cacheWithLimits({
        ApplicationCommandManager: 0,
        BaseGuildEmojiManager: 0,
        GuildEmojiManager: 0,
        GuildEmojiRoleManager: 0,
        GuildBanManager: 0,
        GuildInviteManager: 0,
        GuildStickerManager: 0,
        StageInstanceManager: 0,
        PresenceManager: 0,
        GuildApplicationCommandManager: 0,
        ApplicationCommandPermissionsManager: 0,
        ThreadMemberManager: 0,
        MessageManager: 0,
        ThreadManager: 0,
        VoiceStateManager: {
            maxSize: 0,
            keepOverLimit: (voiceState) => typeof voiceState.channelId === "string"
        },
        UserManager: {
            maxSize: 250_000,
        },
        GuildMemberManager: {
            maxSize: 250_000,
        }
    }),
    sweepers: {
        messages: {
            interval: 60,
            filter: Discord.Sweepers.filterByLifetime({
                lifetime: 150,
                getComparisonTimestamp: (message) => message.editedTimestamp ?? message.createdTimestamp,
            }),
        },
        users: {
            interval: 60,
            filter: () => (user) => user.id !== user.client.user?.id,
        },
        guildMembers: {
            interval: 60,
            filter: () => (member) => member.id !== member.client.user?.id && (member.voice && member.voice.channelId),
        },
        threads: {
            interval: 60,
            filter: () => (thread) => thread.archived,
        },
        voiceStates: {
            interval: 60,
            filter: () => (voiceState) => typeof voiceState.channelId === "string"
        },
    }
Was this page helpful?