149 lines
4.5 KiB
JavaScript
149 lines
4.5 KiB
JavaScript
const Discord = require("discord.js");
|
|
|
|
const adminGuildCommands = [
|
|
{
|
|
name: "add",
|
|
description: "Add a bad actor to the list",
|
|
options: [
|
|
{
|
|
name: "user",
|
|
type: 6, // USER type
|
|
description: "The user to add",
|
|
required: true
|
|
},
|
|
{
|
|
name: "comment",
|
|
type: 3, // STRING type
|
|
description: "Comment, reason, or any other context for the addition",
|
|
required: true
|
|
},
|
|
{
|
|
name: "attachment1",
|
|
type: 11, // ATTACHMENT type
|
|
|
|
description: "Optional attachment 1",
|
|
required: false
|
|
},
|
|
{
|
|
name: "attachment2",
|
|
type: 11,
|
|
description: "Optional attachment 2",
|
|
required: false
|
|
},
|
|
{
|
|
name: "attachment3",
|
|
type: 11,
|
|
description: "Optional attachment 3",
|
|
required: false
|
|
},
|
|
{
|
|
name: "attachment4",
|
|
type: 11,
|
|
description: "Optional attachment 4",
|
|
required: false
|
|
}
|
|
]
|
|
},
|
|
{
|
|
name: "remove",
|
|
description: "Remove a bad actor from the list",
|
|
options: [
|
|
{
|
|
name: "user",
|
|
type: 6, // USER type
|
|
description: "The user to remove",
|
|
required: true
|
|
},
|
|
{
|
|
name: "confirmation",
|
|
type: Discord.ApplicationCommandOptionType.String,
|
|
description: "Type 'yes im absolutely sure' to confirm removal",
|
|
required: true
|
|
}
|
|
]
|
|
}
|
|
]
|
|
|
|
const globalCommands = [
|
|
{
|
|
name: "lookup",
|
|
description: "Look up a bad actor by their User ID",
|
|
options: [
|
|
{
|
|
name: "user",
|
|
type: 6, // USER type
|
|
description: "The user to look up",
|
|
required: true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
name: "serverconfig",
|
|
description: "Configure server settings for bad actor management",
|
|
type: 1, // CHAT_INPUT type
|
|
default_member_permissions: Discord.PermissionFlagsBits.Administrator.toString(),
|
|
options: [
|
|
{
|
|
name: "mode",
|
|
description: "Set the mode for bad actor management in this server",
|
|
type: 1, // SUB_COMMAND type
|
|
options: [
|
|
{
|
|
name: "mode",
|
|
type: 3, // STRING type
|
|
description: "Choose 'strict' or 'lenient' mode",
|
|
required: true,
|
|
choices: [
|
|
{
|
|
name: "Auto-Kick",
|
|
value: "kick"
|
|
},
|
|
{
|
|
name: "Auto-Ban",
|
|
value: "ban"
|
|
},
|
|
{
|
|
name: "Warn Only",
|
|
value: "warn"
|
|
},
|
|
{
|
|
name: "No Action",
|
|
value: "none"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
name: "logchannel",
|
|
description: "Set the channel for logging bad actor actions",
|
|
type: 1, // SUB_COMMAND type
|
|
options: [
|
|
{
|
|
name: "channel",
|
|
type: 7, // CHANNEL type
|
|
description: "The channel to log actions in",
|
|
required: true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
name: "view",
|
|
description: "View the current server configuration for bad actor management",
|
|
type: 1 // SUB_COMMAND type
|
|
},
|
|
{
|
|
name: "fullscan",
|
|
description: "Perform a full scan of the server for bad actors",
|
|
type: 1 // SUB_COMMAND type
|
|
}
|
|
]
|
|
}
|
|
]
|
|
|
|
|
|
// Define commands
|
|
module.exports = {
|
|
adminGuildCommands: adminGuildCommands,
|
|
globalCommands: globalCommands
|
|
} |