@chinchillaenterprises/mcp-discord
Version:
Modular Discord MCP server with 45+ tools for comprehensive server management, featuring clean architecture and discord_ prefixed tools
55 lines (54 loc) • 3.77 kB
JavaScript
export const toolDefinition = {
name: "discord_delete_invite",
description: "Delete an invite",
inputSchema: {
type: "object",
properties: {
inviteCode: {
type: "string",
description: "Invite code to delete",
},
reason: {
type: "string",
description: "Reason for deleting invite (optional)",
},
},
required: ["inviteCode"],
}
};
export const handler = async (args, services) => {
const { inviteCode, reason } = args;
const guild = await services.getGuild();
try {
const invite = await guild.invites.fetch(inviteCode);
if (!invite) {
throw new Error(`Invite ${inviteCode} not found`);
}
const inviteDetails = {
code: invite.code,
channel: invite.channel?.name,
creator: invite.inviter?.username,
uses: invite.uses
};
await invite.delete(reason);
return {
content: [
{
type: "text",
text: `✅ Successfully deleted invite!
**Code:** ${inviteDetails.code}
**Channel:** #${inviteDetails.channel || 'unknown'}
**Created by:** ${inviteDetails.creator || 'unknown'}
**Had uses:** ${inviteDetails.uses || 0}
${reason ? `**Reason:** ${reason}` : ''}`,
},
],
};
}
catch (error) {
console.error(`[DeleteInvite] Error deleting invite:`, error);
throw new Error(`Failed to delete invite: ${error.message}`);
}
};
export { DeleteInviteArgsSchema as schema } from "../../schemas/server.js";
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZXRlLWludml0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90b29scy9zZXJ2ZXIvZGVsZXRlLWludml0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQVM7SUFDbEMsSUFBSSxFQUFFLHVCQUF1QjtJQUM3QixXQUFXLEVBQUUsa0JBQWtCO0lBQy9CLFdBQVcsRUFBRTtRQUNYLElBQUksRUFBRSxRQUFRO1FBQ2QsVUFBVSxFQUFFO1lBQ1YsVUFBVSxFQUFFO2dCQUNWLElBQUksRUFBRSxRQUFRO2dCQUNkLFdBQVcsRUFBRSx1QkFBdUI7YUFDckM7WUFDRCxNQUFNLEVBQUU7Z0JBQ04sSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsV0FBVyxFQUFFLHVDQUF1QzthQUNyRDtTQUNGO1FBQ0QsUUFBUSxFQUFFLENBQUMsWUFBWSxDQUFDO0tBQ3pCO0NBQ0YsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxLQUFLLEVBQUUsSUFBc0IsRUFBRSxRQUEwQixFQUFFLEVBQUU7SUFDbEYsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUM7SUFFcEMsTUFBTSxLQUFLLEdBQUcsTUFBTSxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFFeEMsSUFBSSxDQUFDO1FBQ0gsTUFBTSxNQUFNLEdBQUcsTUFBTSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNyRCxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDWixNQUFNLElBQUksS0FBSyxDQUFDLFVBQVUsVUFBVSxZQUFZLENBQUMsQ0FBQztRQUNwRCxDQUFDO1FBRUQsTUFBTSxhQUFhLEdBQUc7WUFDcEIsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJO1lBQ2pCLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTyxFQUFFLElBQUk7WUFDN0IsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPLEVBQUUsUUFBUTtZQUNqQyxJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUk7U0FDbEIsQ0FBQztRQUVGLE1BQU0sTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUU1QixPQUFPO1lBQ0wsT0FBTyxFQUFFO2dCQUNQO29CQUNFLElBQUksRUFBRSxNQUFNO29CQUNaLElBQUksRUFBRTs7WUFFSixhQUFhLENBQUMsSUFBSTtnQkFDZCxhQUFhLENBQUMsT0FBTyxJQUFJLFNBQVM7a0JBQ2hDLGFBQWEsQ0FBQyxPQUFPLElBQUksU0FBUztnQkFDcEMsYUFBYSxDQUFDLElBQUksSUFBSSxDQUFDO0VBQ3JDLE1BQU0sQ0FBQyxDQUFDLENBQUMsZUFBZSxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO2lCQUNoQzthQUNGO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFBQyxPQUFPLEtBQVUsRUFBRSxDQUFDO1FBQ3BCLE9BQU8sQ0FBQyxLQUFLLENBQUMsdUNBQXVDLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDOUQsTUFBTSxJQUFJLEtBQUssQ0FBQyw0QkFBNEIsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDL0QsQ0FBQztBQUNILENBQUMsQ0FBQztBQUVGLE9BQU8sRUFBRSxzQkFBc0IsSUFBSSxNQUFNLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQyJ9