UNPKG

@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
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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