bansync/commands.js
2026-01-17 16:05:33 -07:00

239 lines
9.3 KiB
JavaScript

const Discord = require('discord.js');
module.exports = [
{
"name": "list",
"description": "Manage ban lists.",
"options": [
{
"type": Discord.ApplicationCommandOptionType.Subcommand,
"name": "view",
"description": "View your ban lists."
},
{
"type": Discord.ApplicationCommandOptionType.Subcommand,
"name": "create",
"description": "Create a new ban list.",
"options": [
{
"type": Discord.ApplicationCommandOptionType.String,
"name": "name",
"description": "The name of the ban list.",
"required": true
}
]
},
{
"type": Discord.ApplicationCommandOptionType.Subcommand,
"name": "delete",
"description": "Delete an existing ban list.",
"options": [
{
"type": Discord.ApplicationCommandOptionType.String,
"name": "list",
"description": "The ban list to delete.",
"required": true,
"autocomplete": true
}
]
},
{
"type": Discord.ApplicationCommandOptionType.Subcommand,
"name": "transfer",
"description": "Transfer ownership of a ban list.",
"options": [
{
"type": Discord.ApplicationCommandOptionType.String,
"name": "list",
"description": "The ban list to transfer.",
"required": true,
"autocomplete": true
},
{
"type": Discord.ApplicationCommandOptionType.User,
"name": "to",
"description": "The user to transfer ownership to.",
"required": true
}
]
},
{
"type": Discord.ApplicationCommandOptionType.Subcommand,
"name": "import",
"description": "Import bans from the current server to a ban list.",
"options": [
{
"type": Discord.ApplicationCommandOptionType.String,
"name": "list",
"description": "The ban list to import bans into.",
"required": true,
"autocomplete": true
}
]
},
{
"type": Discord.ApplicationCommandOptionType.Subcommand,
"name": "allowguild",
"description": "Allow a guild to use your ban list.",
"options": [
{
"type": Discord.ApplicationCommandOptionType.String,
"name": "list",
"description": "The ban list to allow the guild to use.",
"required": true,
"autocomplete": true
},
{
"type": Discord.ApplicationCommandOptionType.String,
"name": "guild_id",
"description": "The ID of the guild to allow. (Default: Current Guild)",
"required": false
}
]
},
{
"type": Discord.ApplicationCommandOptionType.Subcommand,
"name": "revokeguild",
"description": "Revoke a guild's access to your ban list.",
"options": [
{
"type": Discord.ApplicationCommandOptionType.String,
"name": "list",
"description": "The ban list to revoke the guild's access from.",
"required": true,
"autocomplete": true
},
{
"type": Discord.ApplicationCommandOptionType.String,
"name": "guild_id",
"description": "The ID of the guild to revoke. (Default: Current Guild)",
"required": false
}
]
}
]
},
{
"name": "ban",
"description": "Add a user to the ban list.",
"default_member_permissions": Discord.PermissionFlagsBits.BanMembers.toString(),
"options": [
{
"type": Discord.ApplicationCommandOptionType.User,
"name": "user",
"description": "The user to ban.",
"required": true
},
{
"type": Discord.ApplicationCommandOptionType.String,
"name": "list",
"description": "The ban list to add the user to.",
"required": true,
"autocomplete": true
},
{
"type": Discord.ApplicationCommandOptionType.String,
"name": "reason",
"description": "The reason for the ban.",
"required": false
}
]
},
{
"name": "unban",
"description": "Remove a user from the ban list.",
"default_member_permissions": Discord.PermissionFlagsBits.BanMembers.toString(),
"options": [
{
"type": Discord.ApplicationCommandOptionType.User,
"name": "user",
"description": "The user to unban.",
"required": true
},
{
"type": Discord.ApplicationCommandOptionType.String,
"name": "list",
"description": "The ban list to remove the user from.",
"required": true,
"autocomplete": true
}
]
},
{
"name": "guild",
"description": "Manage your guild's ban list settings.",
"options": [
{
"type": Discord.ApplicationCommandOptionType.Subcommand,
"name": "join",
"description": "Join a ban list.",
"options": [
{
"type": Discord.ApplicationCommandOptionType.String,
"name": "list_id",
"description": "The ID of the ban list to join.",
"required": true
}
]
},
{
"type": Discord.ApplicationCommandOptionType.Subcommand,
"name": "leave",
"description": "Leave a ban list.",
"options": [
{
"type": Discord.ApplicationCommandOptionType.String,
"name": "list_id",
"description": "The ID of the ban list to leave.",
"required": true,
"autocomplete": true
}
]
},
{
"type": Discord.ApplicationCommandOptionType.Subcommand,
"name": "autoadd",
"description": "Toggle automatic adding of bans from the list to this guild.",
"options": [
{
"type": Discord.ApplicationCommandOptionType.Boolean,
"name": "enabled",
"description": "Enable or disable auto-adding bans.",
"required": true
},
{
"type": Discord.ApplicationCommandOptionType.String,
"name": "list_id",
"description": "The ID of the ban list to enable/disable auto-adding from.",
"required": true,
"autocomplete": true
}
]
},
{
"type": Discord.ApplicationCommandOptionType.Subcommand,
"name": "autoremove",
"description": "Toggle automatic removal of bans from the list to this guild.",
"options": [
{
"type": Discord.ApplicationCommandOptionType.Boolean,
"name": "enabled",
"description": "Enable or disable auto-removal of bans.",
"required": true
},
{
"type": Discord.ApplicationCommandOptionType.String,
"name": "list_id",
"description": "The ID of the ban list to enable/disable auto-removal from.",
"required": true,
"autocomplete": true
}
]
},
{
"type": Discord.ApplicationCommandOptionType.Subcommand,
"name": "sync",
"description": "Manually sync bans from all joined lists to this guild."
}
]
}
];