@chinchillaenterprises/mcp-discord
Version:
Modular Discord MCP server with 45+ tools for comprehensive server management, featuring clean architecture and discord_ prefixed tools
82 lines (81 loc) • 6.31 kB
JavaScript
export const toolDefinition = {
name: "discord_edit_server",
description: "Edit server settings",
inputSchema: {
type: "object",
properties: {
name: {
type: "string",
description: "New server name",
},
description: {
type: "string",
description: "New server description",
},
verificationLevel: {
type: "string",
enum: ["None", "Low", "Medium", "High", "VeryHigh"],
description: "Verification level for new members",
},
defaultMessageNotifications: {
type: "string",
enum: ["AllMessages", "OnlyMentions"],
description: "Default message notification level",
},
explicitContentFilter: {
type: "string",
enum: ["Disabled", "MembersWithoutRoles", "AllMembers"],
description: "Explicit content filter level",
},
reason: {
type: "string",
description: "Reason for server edit (optional)",
},
},
}
};
export const handler = async (args, services) => {
const guild = await services.getGuild();
try {
const updates = {};
if (args.name)
updates.name = args.name;
if (args.description)
updates.description = args.description;
if (args.verificationLevel)
updates.verificationLevel = args.verificationLevel;
if (args.defaultMessageNotifications)
updates.defaultMessageNotifications = args.defaultMessageNotifications;
if (args.explicitContentFilter)
updates.explicitContentFilter = args.explicitContentFilter;
await guild.edit(updates);
const changedSettings = [];
if (args.name)
changedSettings.push(`Name: ${args.name}`);
if (args.description)
changedSettings.push(`Description: ${args.description}`);
if (args.verificationLevel)
changedSettings.push(`Verification Level: ${args.verificationLevel}`);
if (args.defaultMessageNotifications)
changedSettings.push(`Default Notifications: ${args.defaultMessageNotifications}`);
if (args.explicitContentFilter)
changedSettings.push(`Content Filter: ${args.explicitContentFilter}`);
return {
content: [
{
type: "text",
text: `✅ Successfully updated server settings!
Changed settings:
${changedSettings.map(s => `• ${s}`).join('\n')}
${args.reason ? `\nReason: ${args.reason}` : ''}`,
},
],
};
}
catch (error) {
console.error(`[EditServer] Error editing server:`, error);
throw new Error(`Failed to edit server: ${error.message}`);
}
};
export { EditServerArgsSchema as schema } from "../../schemas/server.js";
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1zZXJ2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdG9vbHMvc2VydmVyL2VkaXQtc2VydmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBUztJQUNsQyxJQUFJLEVBQUUscUJBQXFCO0lBQzNCLFdBQVcsRUFBRSxzQkFBc0I7SUFDbkMsV0FBVyxFQUFFO1FBQ1gsSUFBSSxFQUFFLFFBQVE7UUFDZCxVQUFVLEVBQUU7WUFDVixJQUFJLEVBQUU7Z0JBQ0osSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsV0FBVyxFQUFFLGlCQUFpQjthQUMvQjtZQUNELFdBQVcsRUFBRTtnQkFDWCxJQUFJLEVBQUUsUUFBUTtnQkFDZCxXQUFXLEVBQUUsd0JBQXdCO2FBQ3RDO1lBQ0QsaUJBQWlCLEVBQUU7Z0JBQ2pCLElBQUksRUFBRSxRQUFRO2dCQUNkLElBQUksRUFBRSxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxVQUFVLENBQUM7Z0JBQ25ELFdBQVcsRUFBRSxvQ0FBb0M7YUFDbEQ7WUFDRCwyQkFBMkIsRUFBRTtnQkFDM0IsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsSUFBSSxFQUFFLENBQUMsYUFBYSxFQUFFLGNBQWMsQ0FBQztnQkFDckMsV0FBVyxFQUFFLG9DQUFvQzthQUNsRDtZQUNELHFCQUFxQixFQUFFO2dCQUNyQixJQUFJLEVBQUUsUUFBUTtnQkFDZCxJQUFJLEVBQUUsQ0FBQyxVQUFVLEVBQUUscUJBQXFCLEVBQUUsWUFBWSxDQUFDO2dCQUN2RCxXQUFXLEVBQUUsK0JBQStCO2FBQzdDO1lBQ0QsTUFBTSxFQUFFO2dCQUNOLElBQUksRUFBRSxRQUFRO2dCQUNkLFdBQVcsRUFBRSxtQ0FBbUM7YUFDakQ7U0FDRjtLQUNGO0NBQ0YsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxLQUFLLEVBQUUsSUFBb0IsRUFBRSxRQUEw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