UNPKG

@chinchillaenterprises/mcp-discord

Version:

Modular Discord MCP server with 45+ tools for comprehensive server management, featuring clean architecture and discord_ prefixed tools

51 lines 3.42 kB
export const toolDefinition = { name: "discord_ban_member", description: "Ban a member from the server", inputSchema: { type: "object", properties: { userId: { type: "string", description: "User ID to ban", }, reason: { type: "string", description: "Reason for banning (optional)", }, deleteMessageDays: { type: "number", description: "Number of days of messages to delete (0-7, default: 0)", }, }, required: ["userId"], } }; export const handler = async (args, services) => { const { userId, reason, deleteMessageDays = 0 } = args; const guild = await services.getGuild(); try { await guild.members.ban(userId, { deleteMessageDays, reason, }); return { content: [ { type: "text", text: `Successfully banned user! User ID: ${userId} ${reason ? `Reason: ${reason}` : 'No reason provided'} ${deleteMessageDays > 0 ? `Deleted ${deleteMessageDays} days of messages` : 'No messages deleted'} Server: ${guild.name} Banned at: ${new Date().toISOString()}` } ] }; } catch (error) { console.error(`[BanMember] Error banning member:`, error); throw new Error(`Failed to ban member: ${error.message}`); } }; export { BanMemberArgsSchema as schema } from "../../schemas/moderation.js"; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFuLW1lbWJlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90b29scy9tb2RlcmF0aW9uL2Jhbi1tZW1iZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFTO0lBQ2xDLElBQUksRUFBRSxvQkFBb0I7SUFDMUIsV0FBVyxFQUFFLDhCQUE4QjtJQUMzQyxXQUFXLEVBQUU7UUFDWCxJQUFJLEVBQUUsUUFBUTtRQUNkLFVBQVUsRUFBRTtZQUNWLE1BQU0sRUFBRTtnQkFDTixJQUFJLEVBQUUsUUFBUTtnQkFDZCxXQUFXLEVBQUUsZ0JBQWdCO2FBQzlCO1lBQ0QsTUFBTSxFQUFFO2dCQUNOLElBQUksRUFBRSxRQUFRO2dCQUNkLFdBQVcsRUFBRSwrQkFBK0I7YUFDN0M7WUFDRCxpQkFBaUIsRUFBRTtnQkFDakIsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsV0FBVyxFQUFFLHdEQUF3RDthQUN0RTtTQUNGO1FBQ0QsUUFBUSxFQUFFLENBQUMsUUFBUSxDQUFDO0tBQ3JCO0NBQ0YsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxLQUFLLEVBQUUsSUFBbUIsRUFBRSxRQUEwQixFQUFFLEVBQUU7SUFDL0UsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEdBQUcsQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDO0lBRXZELE1BQU0sS0FBSyxHQUFHLE1BQU0sUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBRXhDLElBQUksQ0FBQztRQUNILE1BQU0sS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFO1lBQzlCLGlCQUFpQjtZQUNqQixNQUFNO1NBQ1AsQ0FBQyxDQUFDO1FBRUgsT0FBTztZQUNMLE9BQU8sRUFBRTtnQkFDUDtvQkFDRSxJQUFJLEVBQUUsTUFBTTtvQkFDWixJQUFJLEVBQUU7V0FDTCxNQUFNO0VBQ2YsTUFBTSxDQUFDLENBQUMsQ0FBQyxXQUFXLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxvQkFBb0I7RUFDbkQsaUJBQWlCLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLGlCQUFpQixtQkFBbUIsQ0FBQyxDQUFDLENBQUMscUJBQXFCO1VBQ3ZGLEtBQUssQ0FBQyxJQUFJO2FBQ1AsSUFBSSxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsRUFBRTtpQkFDOUI7YUFDRjtTQUNGLENBQUM7SUFDSixDQUFDO0lBQUMsT0FBTyxLQUFVLEVBQUUsQ0FBQztRQUNwQixPQUFPLENBQUMsS0FBSyxDQUFDLG1DQUFtQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzFELE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQzVELENBQUM7QUFDSCxDQUFDLENBQUM7QUFFRixPQUFPLEVBQUUsbUJBQW1CLElBQUksTUFBTSxFQUFFLE1BQU0sNkJBQTZCLENBQUMifQ==