Delete Discord Message
discord_delete_messageDelete a Discord webhook message by providing the message ID. This action is permanent and subject to rate limits.
Instructions
Webhookで送信したメッセージを削除します。
環境変数DISCORD_WEBHOOK_URLに設定されたWebhookを使用します。
⚠️ レート制限: 30リクエスト/分/チャンネル ⚠️ この操作は取り消せません。
Args:
message_id (string, required): 削除するメッセージID
Returns: { "success": boolean, // 削除が成功したか "message_id": string // 削除されたメッセージのID }
Examples:
メッセージ削除: { "message_id": "123456789" }
Error Handling:
"Discord Webhook error: 404 Not Found - Message not found"
"Discord Webhook error: 400 Bad Request - Invalid message ID"
"Discord Webhook error: レート制限に達しました" - 429エラー時、retry-after秒後に再試行
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| message_id | Yes | 削除するメッセージID |
Implementation Reference
- src/index.ts:292-320 (handler)The async handler function that implements the discord_delete_message tool logic. It calls deleteDiscordMessage with the message_id and returns success or error response.
async (params: DeleteMessageInput) => { // メッセージ削除 const { error } = await deleteDiscordMessage(params.message_id); if (error) { return { content: [ { type: "text", text: `エラー: ${formatError(error)}`, }, ], isError: true, }; } return { content: [ { type: "text", text: `メッセージを削除しました\nID: ${params.message_id}`, }, ], structuredContent: { success: true, message_id: params.message_id, }, }; } - src/index.ts:255-321 (registration)The registration of the tool 'discord_delete_message' using server.registerTool(), including its title, description, inputSchema, and annotations.
// メッセージ削除ツール server.registerTool( "discord_delete_message", { title: "Delete Discord Message", description: `Webhookで送信したメッセージを削除します。 環境変数DISCORD_WEBHOOK_URLに設定されたWebhookを使用します。 ⚠️ レート制限: 30リクエスト/分/チャンネル ⚠️ この操作は取り消せません。 Args: - message_id (string, required): 削除するメッセージID Returns: { "success": boolean, // 削除が成功したか "message_id": string // 削除されたメッセージのID } Examples: - メッセージ削除: { "message_id": "123456789" } Error Handling: - "Discord Webhook error: 404 Not Found - Message not found" - "Discord Webhook error: 400 Bad Request - Invalid message ID" - "Discord Webhook error: レート制限に達しました" - 429エラー時、retry-after秒後に再試行`, inputSchema: DeleteMessageSchema, annotations: { readOnlyHint: false, destructiveHint: true, idempotentHint: true, openWorldHint: true, }, }, async (params: DeleteMessageInput) => { // メッセージ削除 const { error } = await deleteDiscordMessage(params.message_id); if (error) { return { content: [ { type: "text", text: `エラー: ${formatError(error)}`, }, ], isError: true, }; } return { content: [ { type: "text", text: `メッセージを削除しました\nID: ${params.message_id}`, }, ], structuredContent: { success: true, message_id: params.message_id, }, }; } ); - src/schemas.ts:88-90 (schema)Zod schema definition for the input to discord_delete_message. Requires a non-empty string message_id.
export const DeleteMessageSchema = z.object({ message_id: z.string().min(1).describe("削除するメッセージID"), }).strict(); - src/discord-api.ts:173-184 (helper)The helper function that makes the actual HTTP DELETE request to the Discord webhook API to delete a message.
export async function deleteDiscordMessage( messageId: string ): Promise<{ error?: DiscordWebhookError }> { const url = new URL(`${WEBHOOK_URL!}/messages/${messageId}`); try { await makeRequest<void>(url.toString(), "DELETE"); return {}; } catch (error) { return { error: convertError(error) }; } }