UNPKG

@chinchillaenterprises/mcp-discord

Version:

Modular Discord MCP server with 45+ tools for comprehensive server management, featuring clean architecture and discord_ prefixed tools

53 lines 3.91 kB
export const toolDefinition = { name: "discord_change_nickname", description: "Change a member's nickname", inputSchema: { type: "object", properties: { userId: { type: "string", description: "User ID to change nickname for", }, nickname: { type: "string", description: "New nickname (null to remove)", }, reason: { type: "string", description: "Reason for nickname change (optional)", }, }, required: ["userId"], } }; export const handler = async (args, services) => { const { userId, nickname, 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.setNickname(nickname || null, reason); return { content: [ { type: "text", text: `Successfully changed nickname! User: ${member.user.username}#${member.user.discriminator} (${userId}) ${nickname ? `New nickname: ${nickname}` : 'Nickname removed (using username)'} Previous nickname: ${member.nickname || 'None (using username)'} ${reason ? `Reason: ${reason}` : 'No reason provided'} Server: ${guild.name} Changed at: ${new Date().toISOString()}` } ] }; } catch (error) { console.error(`[ChangeNickname] Error changing nickname:`, error); throw new Error(`Failed to change nickname: ${error.message}`); } }; export { ChangeNicknameArgsSchema as schema } from "../../schemas/moderation.js"; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbmdlLW5pY2tuYW1lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Rvb2xzL21vZGVyYXRpb24vY2hhbmdlLW5pY2tuYW1lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBUztJQUNsQyxJQUFJLEVBQUUseUJBQXlCO0lBQy9CLFdBQVcsRUFBRSw0QkFBNEI7SUFDekMsV0FBVyxFQUFFO1FBQ1gsSUFBSSxFQUFFLFFBQVE7UUFDZCxVQUFVLEVBQUU7WUFDVixNQUFNLEVBQUU7Z0JBQ04sSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsV0FBVyxFQUFFLGdDQUFnQzthQUM5QztZQUNELFFBQVEsRUFBRTtnQkFDUixJQUFJLEVBQUUsUUFBUTtnQkFDZCxXQUFXLEVBQUUsK0JBQStCO2FBQzdDO1lBQ0QsTUFBTSxFQUFFO2dCQUNOLElBQUksRUFBRSxRQUFRO2dCQUNkLFdBQVcsRUFBRSx1Q0FBdUM7YUFDckQ7U0FDRjtRQUNELFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQztLQUNyQjtDQUNGLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsS0FBSyxFQUFFLElBQXdCLEVBQUUsUUFBMEIsRUFBRSxFQUFFO0lBQ3BGLE1BQU0sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQztJQUUxQyxNQUFNLEtBQUssR0FBRyxNQUFNLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUV4QyxJQUFJLENBQUM7UUFDSCxNQUFNLE1BQU0sR0FBRyxNQUFNLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2pELElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNaLE1BQU0sSUFBSSxLQUFLLENBQUMsVUFBVSxNQUFNLFlBQVksQ0FBQyxDQUFDO1FBQ2hELENBQUM7UUFFRCxNQUFNLE1BQU0sQ0FBQyxXQUFXLENBQUMsUUFBUSxJQUFJLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztRQUVuRCxPQUFPO1lBQ0wsT0FBTyxFQUFFO2dCQUNQO29CQUNFLElBQUksRUFBRSxNQUFNO29CQUNaLElBQUksRUFBRTtRQUNSLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxLQUFLLE1BQU07RUFDbEUsUUFBUSxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLG1DQUFtQztxQkFDekQsTUFBTSxDQUFDLFFBQVEsSUFBSSx1QkFBdUI7RUFDN0QsTUFBTSxDQUFDLENBQUMsQ0FBQyxXQUFXLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxvQkFBb0I7VUFDM0MsS0FBSyxDQUFDLElBQUk7Y0FDTixJQUFJLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxFQUFFO2lCQUMvQjthQUNGO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFBQyxPQUFPLEtBQVUsRUFBRSxDQUFDO1FBQ3BCLE9BQU8sQ0FBQyxLQUFLLENBQUMsMkNBQTJDLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDbEUsTUFBTSxJQUFJLEtBQUssQ0FBQyw4QkFBOEIsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDakUsQ0FBQztBQUNILENBQUMsQ0FBQztBQUVGLE9BQU8sRUFBRSx3QkFBd0IsSUFBSSxNQUFNLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQyJ9