@chinchillaenterprises/mcp-discord
Version:
Modular Discord MCP server with 45+ tools for comprehensive server management, featuring clean architecture and discord_ prefixed tools
47 lines • 3.29 kB
JavaScript
export const toolDefinition = {
name: "discord_kick_member",
description: "Kick a member from the server",
inputSchema: {
type: "object",
properties: {
userId: {
type: "string",
description: "User ID to kick",
},
reason: {
type: "string",
description: "Reason for kicking (optional)",
},
},
required: ["userId"],
}
};
export const handler = async (args, services) => {
const { userId, reason } = args;
const guild = await services.getGuild();
try {
const member = await guild.members.fetch(userId);
if (!member) {
throw new Error(`Member ${userId} not found`);
}
await member.kick(reason);
return {
content: [
{
type: "text",
text: `Successfully kicked member!
User: ${member.user.username}#${member.user.discriminator} (${userId})
${reason ? `Reason: ${reason}` : 'No reason provided'}
Server: ${guild.name}
Kicked at: ${new Date().toISOString()}`
}
]
};
}
catch (error) {
console.error(`[KickMember] Error kicking member:`, error);
throw new Error(`Failed to kick member: ${error.message}`);
}
};
export { KickMemberArgsSchema as schema } from "../../schemas/moderation.js";
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2ljay1tZW1iZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdG9vbHMvbW9kZXJhdGlvbi9raWNrLW1lbWJlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQVM7SUFDbEMsSUFBSSxFQUFFLHFCQUFxQjtJQUMzQixXQUFXLEVBQUUsK0JBQStCO0lBQzVDLFdBQVcsRUFBRTtRQUNYLElBQUksRUFBRSxRQUFRO1FBQ2QsVUFBVSxFQUFFO1lBQ1YsTUFBTSxFQUFFO2dCQUNOLElBQUksRUFBRSxRQUFRO2dCQUNkLFdBQVcsRUFBRSxpQkFBaUI7YUFDL0I7WUFDRCxNQUFNLEVBQUU7Z0JBQ04sSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsV0FBVyxFQUFFLCtCQUErQjthQUM3QztTQUNGO1FBQ0QsUUFBUSxFQUFFLENBQUMsUUFBUSxDQUFDO0tBQ3JCO0NBQ0YsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxLQUFLLEVBQUUsSUFBb0IsRUFBRSxRQUEwQixFQUFFLEVBQUU7SUFDaEYsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUM7SUFFaEMsTUFBTSxLQUFLLEdBQUcsTUFBTSxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFFeEMsSUFBSSxDQUFDO1FBQ0gsTUFBTSxNQUFNLEdBQUcsTUFBTSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDWixNQUFNLElBQUksS0FBSyxDQUFDLFVBQVUsTUFBTSxZQUFZLENBQUMsQ0FBQztRQUNoRCxDQUFDO1FBRUQsTUFBTSxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRTFCLE9BQU87WUFDTCxPQUFPLEVBQUU7Z0JBQ1A7b0JBQ0UsSUFBSSxFQUFFLE1BQU07b0JBQ1osSUFBSSxFQUFFO1FBQ1IsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLEtBQUssTUFBTTtFQUNsRSxNQUFNLENBQUMsQ0FBQyxDQUFDLFdBQVcsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLG9CQUFvQjtVQUMzQyxLQUFLLENBQUMsSUFBSTthQUNQLElBQUksSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLEVBQUU7aUJBQzlCO2FBQ0Y7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUFDLE9BQU8sS0FBVSxFQUFFLENBQUM7UUFDcEIsT0FBTyxDQUFDLEtBQUssQ0FBQyxvQ0FBb0MsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMzRCxNQUFNLElBQUksS0FBSyxDQUFDLDBCQUEwQixLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUM3RCxDQUFDO0FBQ0gsQ0FBQyxDQUFDO0FBRUYsT0FBTyxFQUFFLG9CQUFvQixJQUFJLE1BQU0sRUFBRSxNQUFNLDZCQUE2QixDQUFDIn0=