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