Black Cat Banlist

Community List

Users to ban to keep your Black Cat experience troll-free.

Created by SafetyFirst on Feb 15, 2026
Share Code: 8HrqvNUD
Community List: This list is curated by a community member and has not been verified by SpillVR moderators. See the official verified nuisance list for admin-verified entries.

Auto-Block Scripts

To automatically block all players on this list in VRChat:

  1. Go to vrchat.com/home and log in
  2. Open Developer Tools (F12 or Ctrl+Shift+I)
  3. Click the Console tab
  4. Paste the script below and press Enter
Note: This script blocks users one at a time with delays to avoid rate limiting. It will also ban these users from any VRChat groups you own. Keep the tab open until it completes.
// SpillVR Community List Auto-Block Script
// List: Black Cat Banlist
// Generated: 2026-03-14 19:52:52 UTC
// Total users to block: 12

(async function() {
    const usersToBlock = [
        { id: "usr_91d5ebb6-7ac5-400e-8dc5-811fefc1ca51", name: "Pimp Tank", reason: "" },
        { id: "usr_6bc2e42a-3d7f-46f1-bd64-e8000c2a535d", name: "Boosteralex4", reason: "" },
        { id: "usr_e3955355-246f-4f07-9404-8d47b36a0001", name: "DanielAckermann", reason: "" },
        { id: "usr_42813fc4-7524-418c-8b11-b592ec0ce7f2", name: "churchdevil", reason: "" },
        { id: "usr_d41f78dc-c817-4732-8220-a430ae8cf131", name: "AFLoli", reason: "" },
        { id: "usr_a07b910a-4ece-4e32-856a-2a8b5884a741", name: "logan·841636 a741", reason: "" },
        { id: "usr_d1c808cf-f996-4b3f-9e4e-68739e120549", name: "Baby Celeste", reason: "" },
        { id: "usr_865bd233-4be8-4db1-9b34-e4738f05db2c", name: "Ayotat db2c", reason: "" },
        { id: "usr_8bab0bd6-8df5-488b-aafd-dbefb36ec5fb", name: "FIR-3", reason: "" },
        { id: "usr_9b65a4a4-898b-4849-a530-6666abd72a50", name: "TrailerparkHung", reason: "" },
        { id: "usr_22f2a2f7-85ad-41ab-91c7-df56d3c7c48a", name: "proximity çhat", reason: "" },
        { id: "usr_64538bc3-11b8-4327-8d3c-6ba1ee62c0eb", name: "Proximitÿ", reason: "" }
    ];

    const delay = (ms) => new Promise(resolve => setTimeout(resolve, ms));

    console.log('=== SpillVR Community List Auto-Block ===');
    console.log('Starting to block ' + usersToBlock.length + ' players...');
    console.log('');

    let blocked = 0;
    let failed = 0;

    for (const user of usersToBlock) {
        try {
            const response = await fetch(`https://vrchat.com/api/1/auth/user/playermoderations`, {
                method: 'POST',
                headers: {
                    'Content-Type': 'application/json',
                },
                credentials: 'include',
                body: JSON.stringify({
                    moderated: user.id,
                    type: 'block'
                })
            });

            if (response.ok) {
                blocked++;
                console.log(`[BLOCKED] ${user.name} (${user.reason})`);
            } else {
                failed++;
                console.warn(`[FAILED] ${user.name}: HTTP ${response.status}`);
            }
        } catch (error) {
            failed++;
            console.error(`[ERROR] ${user.name}: ${error.message}`);
        }

        await delay(2000);
    }

    console.log('');
    console.log('=== Player Blocking Complete ===');
    console.log(`Blocked: ${blocked}`);
    console.log(`Failed: ${failed}`);
    console.log('');

    // Phase 2: Group Banning
    console.log('=== Phase 2: Banning from Your Groups ===');
    console.log('Fetching your groups...');

    let groupBanned = 0;
    let groupAlready = 0;
    let groupFailed = 0;
    let groupsProcessed = 0;

    try {
        const authResp = await fetch('https://vrchat.com/api/1/auth/user', { credentials: 'include' });
        if (!authResp.ok) {
            console.warn('Could not get current user info. Skipping group bans.');
        } else {
            const currentUser = await authResp.json();
            await delay(2000);

            const groupsResp = await fetch(`https://vrchat.com/api/1/users/${currentUser.id}/groups`, { credentials: 'include' });
            if (!groupsResp.ok) {
                console.warn('Could not fetch groups. Skipping group bans.');
            } else {
                const allGroups = await groupsResp.json();
                await delay(2000);

                const ownedGroups = allGroups.filter(g => g.ownerId === currentUser.id);
                console.log(`Found ${allGroups.length} group(s), ${ownedGroups.length} owned by you.`);

                if (ownedGroups.length === 0) {
                    console.log('No owned groups found. Skipping group bans.');
                } else {
                    for (const membership of ownedGroups) {
                        const groupId = membership.groupId || membership.id;
                        const groupName = membership.name || groupId;
                        console.log(`  Banning from ${groupName}...`);

                        for (const user of usersToBlock) {
                            try {
                                const banResp = await fetch(`https://vrchat.com/api/1/groups/${groupId}/bans`, {
                                    method: 'POST',
                                    headers: { 'Content-Type': 'application/json' },
                                    credentials: 'include',
                                    body: JSON.stringify({ userId: user.id })
                                });

                                if (banResp.ok) {
                                    groupBanned++;
                                    console.log(`  [GROUP BAN] ${user.name} from ${groupName}`);
                                } else if (banResp.status === 409 || banResp.status === 400) {
                                    groupAlready++;
                                } else {
                                    groupFailed++;
                                }
                            } catch (err) {
                                groupFailed++;
                            }
                            await delay(2000);
                        }
                        groupsProcessed++;
                        console.log(`  Finished group: ${groupName}`);
                    }
                }
            }
        }
    } catch (groupError) {
        console.warn('Group banning encountered an error:', groupError.message);
    }

    console.log('');
    console.log('=== All Complete ===');
    console.log(`Player blocks: ${blocked} blocked, ${failed} failed`);
    console.log(`Group bans: ${groupBanned} new, ${groupAlready} already banned, ${groupFailed} failed`);
    console.log(`Groups processed: ${groupsProcessed}`);
    console.log('');
    console.log('You can close this tab now.');
})();

To automatically block all players on this list in Resonite:

  1. Go to resonite.com and log in
  2. Open Developer Tools (F12 or Ctrl+Shift+I)
  3. Click the Console tab
  4. Paste the script below and press Enter
Note: Keep the tab open until it completes.
// No Resonite users to block at this time.
console.log('No Resonite players found on this list.');

12

Total Players

12

Blockable via Script

0

Categories

Pimp Tank

Added: Feb 16, 2026

Boosteralex4

Added: Feb 15, 2026

DanielAckermann

Added: Feb 15, 2026

churchdevil

Added: Feb 15, 2026

AFLoli

Added: Feb 15, 2026

logan·841636 a741

Added: Feb 15, 2026

Baby Celeste

Added: Feb 15, 2026

Ayotat db2c

Added: Feb 15, 2026

FIR-3

Added: Feb 15, 2026

TrailerparkHung

Added: Feb 15, 2026

proximity çhat

Added: Feb 15, 2026

Proximitÿ

Added: Feb 15, 2026