@chinchillaenterprises/mcp-discord
Version:
Modular Discord MCP server with 45+ tools for comprehensive server management, featuring clean architecture and discord_ prefixed tools
53 lines • 4.2 kB
JavaScript
export const toolDefinition = {
name: "discord_deafen_member",
description: "Server deafen a member in voice channels",
inputSchema: {
type: "object",
properties: {
userId: {
type: "string",
description: "User ID to deafen",
},
deafen: {
type: "boolean",
description: "True to deafen, false to undeafen",
},
reason: {
type: "string",
description: "Reason for deafening/undeafening (optional)",
},
},
required: ["userId", "deafen"],
}
};
export const handler = async (args, services) => {
const { userId, deafen, 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.voice.setDeaf(deafen, reason);
const action = deafen ? 'deafened' : 'undeafened';
return {
content: [
{
type: "text",
text: `Successfully ${action} member!
User: ${member.user.username}#${member.user.discriminator} (${userId})
Action: Server ${action}
${reason ? `Reason: ${reason}` : 'No reason provided'}
Server: ${guild.name}
${action.charAt(0).toUpperCase() + action.slice(1)} at: ${new Date().toISOString()}`
}
]
};
}
catch (error) {
console.error(`[DeafenMember] Error ${deafen ? 'deafening' : 'undeafening'} member:`, error);
throw new Error(`Failed to ${deafen ? 'deafen' : 'undeafen'} member: ${error.message}`);
}
};
export { DeafenMemberArgsSchema as schema } from "../../schemas/moderation.js";
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVhZmVuLW1lbWJlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90b29scy9tb2RlcmF0aW9uL2RlYWZlbi1tZW1iZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFTO0lBQ2xDLElBQUksRUFBRSx1QkFBdUI7SUFDN0IsV0FBVyxFQUFFLDBDQUEwQztJQUN2RCxXQUFXLEVBQUU7UUFDWCxJQUFJLEVBQUUsUUFBUTtRQUNkLFVBQVUsRUFBRTtZQUNWLE1BQU0sRUFBRTtnQkFDTixJQUFJLEVBQUUsUUFBUTtnQkFDZCxXQUFXLEVBQUUsbUJBQW1CO2FBQ2pDO1lBQ0QsTUFBTSxFQUFFO2dCQUNOLElBQUksRUFBRSxTQUFTO2dCQUNmLFdBQVcsRUFBRSxtQ0FBbUM7YUFDakQ7WUFDRCxNQUFNLEVBQUU7Z0JBQ04sSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsV0FBVyxFQUFFLDZDQUE2QzthQUMzRDtTQUNGO1FBQ0QsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQztLQUMvQjtDQUNGLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsS0FBSyxFQUFFLElBQXNCLEVBQUUsUUFBMEIsRUFBRSxFQUFFO0lBQ2xGLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQztJQUV4QyxNQUFNLEtBQUssR0FBRyxNQUFNLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUV4QyxJQUFJLENBQUM7UUFDSCxNQUFNLE1BQU0sR0FBRyxNQUFNLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2pELElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNaLE1BQU0sSUFBSSxLQUFLLENBQUMsVUFBVSxNQUFNLFlBQVksQ0FBQyxDQUFDO1FBQ2hELENBQUM7UUFFRCxNQUFNLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUUzQyxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDO1FBRWxELE9BQU87WUFDTCxPQUFPLEVBQUU7Z0JBQ1A7b0JBQ0UsSUFBSSxFQUFFLE1BQU07b0JBQ1osSUFBSSxFQUFFLGdCQUFnQixNQUFNO1FBQzlCLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxLQUFLLE1BQU07aUJBQ25ELE1BQU07RUFDckIsTUFBTSxDQUFDLENBQUMsQ0FBQyxXQUFXLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxvQkFBb0I7VUFDM0MsS0FBSyxDQUFDLElBQUk7RUFDbEIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxRQUFRLElBQUksSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLEVBQUU7aUJBQzNFO2FBQ0Y7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUFDLE9BQU8sS0FBVSxFQUFFLENBQUM7UUFDcEIsT0FBTyxDQUFDLEtBQUssQ0FBQyx3QkFBd0IsTUFBTSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLGFBQWEsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzdGLE1BQU0sSUFBSSxLQUFLLENBQUMsYUFBYSxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsVUFBVSxZQUFZLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQzFGLENBQUM7QUFDSCxDQUFDLENBQUM7QUFFRixPQUFPLEVBQUUsc0JBQXNCLElBQUksTUFBTSxFQUFFLE1BQU0sNkJBQTZCLENBQUMifQ==