UNPKG

@chinchillaenterprises/mcp-discord

Version:

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

51 lines 3.86 kB
import { ChannelType } from "discord.js"; export const toolDefinition = { name: "discord_delete_message", description: "Delete a Discord message", inputSchema: { type: "object", properties: { channel: { type: "string", description: "Channel ID or name where the message is", }, messageId: { type: "string", description: "Message ID to delete", } }, required: ["channel", "messageId"], } }; export const handler = async (args, services) => { const { channel: channelInput, messageId } = args; const client = await services.getActiveClient(); try { // Resolve channel name to ID if needed const channelId = await services.resolveChannel(channelInput); const channel = await client.channels.fetch(channelId); if (!channel || channel.type !== ChannelType.GuildText) { throw new Error(`Channel ${channelId} not found or is not a text channel`); } const textChannel = channel; const message = await textChannel.messages.fetch(messageId); await message.delete(); return { content: [ { type: "text", text: `Message deleted successfully! Message ID: ${messageId} Channel: #${textChannel.name} (${textChannel.id}) Deleted at: ${new Date().toISOString()}` } ] }; } catch (error) { console.error(`[DeleteMessage] Error deleting message:`, error); throw new Error(`Failed to delete message: ${error.message}`); } }; export { DeleteMessageArgsSchema as schema } from "../../schemas/messaging.js"; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZXRlLW1lc3NhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdG9vbHMvbWVzc2FnaW5nL2RlbGV0ZS1tZXNzYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxXQUFXLEVBQWUsTUFBTSxZQUFZLENBQUM7QUFFdEQsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFTO0lBQ2xDLElBQUksRUFBRSx3QkFBd0I7SUFDOUIsV0FBVyxFQUFFLDBCQUEwQjtJQUN2QyxXQUFXLEVBQUU7UUFDWCxJQUFJLEVBQUUsUUFBUTtRQUNkLFVBQVUsRUFBRTtZQUNWLE9BQU8sRUFBRTtnQkFDUCxJQUFJLEVBQUUsUUFBUTtnQkFDZCxXQUFXLEVBQUUseUNBQXlDO2FBQ3ZEO1lBQ0QsU0FBUyxFQUFFO2dCQUNULElBQUksRUFBRSxRQUFRO2dCQUNkLFdBQVcsRUFBRSxzQkFBc0I7YUFDcEM7U0FDRjtRQUNELFFBQVEsRUFBRSxDQUFDLFNBQVMsRUFBRSxXQUFXLENBQUM7S0FDbkM7Q0FDRixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLEtBQUssRUFBRSxJQUF1QixFQUFFLFFBQTBCLEVBQUUsRUFBRTtJQUNuRixNQUFNLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsR0FBRyxJQUFJLENBQUM7SUFFbEQsTUFBTSxNQUFNLEdBQUcsTUFBTSxRQUFRLENBQUMsZUFBZSxFQUFFLENBQUM7SUFFaEQsSUFBSSxDQUFDO1FBQ0gsdUNBQXVDO1FBQ3ZDLE1BQU0sU0FBUyxHQUFHLE1BQU0sUUFBUSxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUU5RCxNQUFNLE9BQU8sR0FBRyxNQUFNLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxPQUFPLElBQUksT0FBTyxDQUFDLElBQUksS0FBSyxXQUFXLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDdkQsTUFBTSxJQUFJLEtBQUssQ0FBQyxXQUFXLFNBQVMscUNBQXFDLENBQUMsQ0FBQztRQUM3RSxDQUFDO1FBRUQsTUFBTSxXQUFXLEdBQUcsT0FBc0IsQ0FBQztRQUMzQyxNQUFNLE9BQU8sR0FBRyxNQUFNLFdBQVcsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRTVELE1BQU0sT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBRXZCLE9BQU87WUFDTCxPQUFPLEVBQUU7Z0JBQ1A7b0JBQ0UsSUFBSSxFQUFFLE1BQU07b0JBQ1osSUFBSSxFQUFFO2NBQ0YsU0FBUztZQUNYLFdBQVcsQ0FBQyxJQUFJLEtBQUssV0FBVyxDQUFDLEVBQUU7Y0FDakMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsRUFBRTtpQkFDL0I7YUFDRjtTQUNGLENBQUM7SUFFSixDQUFDO0lBQUMsT0FBTyxLQUFVLEVBQUUsQ0FBQztRQUNwQixPQUFPLENBQUMsS0FBSyxDQUFDLHlDQUF5QyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ2hFLE1BQU0sSUFBSSxLQUFLLENBQUMsNkJBQTZCLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7QUFDSCxDQUFDLENBQUM7QUFFRixPQUFPLEVBQUUsdUJBQXVCLElBQUksTUFBTSxFQUFFLE1BQU0sNEJBQTRCLENBQUMifQ==