From 5c58308be4c6f234a90bc93464bc2c065c4a54f0 Mon Sep 17 00:00:00 2001 From: Kenneth Lien Date: Fri, 20 Mar 2026 11:27:09 -0700 Subject: [PATCH] discord/telegram: guide assistant to send new reply on completion Message edits don't trigger push notifications on the user's device. Update system instructions and edit_message tool description to steer the assistant toward edit-for-progress + new-reply-on-completion. Fixes #786 --- external_plugins/discord/server.ts | 4 ++-- external_plugins/telegram/server.ts | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/external_plugins/discord/server.ts b/external_plugins/discord/server.ts index 078c29a..2854dba 100644 --- a/external_plugins/discord/server.ts +++ b/external_plugins/discord/server.ts @@ -423,7 +423,7 @@ const mcp = new Server( '', 'Messages from Discord arrive as . If the tag has attachment_count, the attachments attribute lists name/type/size — call download_attachment(chat_id, message_id) to fetch them. Reply with the reply tool — pass chat_id back. Use reply_to (set to a message_id) only when replying to an earlier message; the latest message doesn\'t need a quote-reply, omit reply_to for normal responses.', '', - 'reply accepts file paths (files: ["/abs/path.png"]) for attachments. Use react to add emoji reactions, and edit_message to update a message you previously sent (e.g. progress → result).', + 'reply accepts file paths (files: ["/abs/path.png"]) for attachments. Use react to add emoji reactions, and edit_message for interim progress updates. Edits don\'t trigger push notifications — when a long task completes, send a new reply so the user\'s device pings.', '', "fetch_messages pulls real Discord history. Discord's search API isn't available to bots — if the user asks you to find an old message, fetch more history or ask them roughly when it was.", '', @@ -471,7 +471,7 @@ mcp.setRequestHandler(ListToolsRequestSchema, async () => ({ }, { name: 'edit_message', - description: 'Edit a message the bot previously sent. Useful for progress updates (send "working…" then edit to the result).', + description: 'Edit a message the bot previously sent. Useful for interim progress updates. Edits don\'t trigger push notifications — send a new reply when a long task completes so the user\'s device pings.', inputSchema: { type: 'object', properties: { diff --git a/external_plugins/telegram/server.ts b/external_plugins/telegram/server.ts index 8acd52a..19e2441 100644 --- a/external_plugins/telegram/server.ts +++ b/external_plugins/telegram/server.ts @@ -343,7 +343,7 @@ const mcp = new Server( '', 'Messages from Telegram arrive as . If the tag has an image_path attribute, Read that file — it is a photo the sender attached. Reply with the reply tool — pass chat_id back. Use reply_to (set to a message_id) only when replying to an earlier message; the latest message doesn\'t need a quote-reply, omit reply_to for normal responses.', '', - 'reply accepts file paths (files: ["/abs/path.png"]) for attachments. Use react to add emoji reactions, and edit_message to update a message you previously sent (e.g. progress → result).', + 'reply accepts file paths (files: ["/abs/path.png"]) for attachments. Use react to add emoji reactions, and edit_message for interim progress updates. Edits don\'t trigger push notifications — when a long task completes, send a new reply so the user\'s device pings.', '', "Telegram's Bot API exposes no history or search — you only see messages as they arrive. If you need earlier context, ask the user to paste it or summarize.", '', @@ -391,7 +391,7 @@ mcp.setRequestHandler(ListToolsRequestSchema, async () => ({ }, { name: 'edit_message', - description: 'Edit a message the bot previously sent. Useful for progress updates (send "working…" then edit to the result).', + description: 'Edit a message the bot previously sent. Useful for interim progress updates. Edits don\'t trigger push notifications — send a new reply when a long task completes so the user\'s device pings.', inputSchema: { type: 'object', properties: {