Port Quote Feature to Community Bot
Port the current Quote feature from tags-bot to the community bot so users can paste Discord message links and receive a formatted quote while preserving the original message content and context.
Acceptance Criteria
- When a user posts one or more Discord message links from the current server, the bot fetches each referenced message and creates a quote for every successfully resolved message.
- The bot ignores messages without Discord message links.
- Bot and system-authored messages do not trigger the Quote feature.
- A quoted message includes:
- The original message content, truncated to Discord’s embed description limit when necessary.
- The original author’s username and avatar.
- The original channel name.
- The original message timestamp.
- A
Jump to message link button pointing to the original message.
- Rich embeds from the original message are preserved, excluding unsupported embed types, and the bot does not exceed Discord’s per-message embed limit.
- Image attachments are rendered in the quote without being duplicated, and other attachments are preserved.
- Sticker-only messages are represented with an appropriate sticker placeholder.
- Empty messages with no content, embeds, attachments, or stickers are not quoted.
- If a user posts only valid message links, the original link-only message is deleted after at least one quote is successfully created.
- If a user includes text alongside message links, the original message remains and the first generated quote replies to it.
- If multiple message links are included, the bot creates one quote for each successfully fetched message.
- Invalid, inaccessible, deleted, or non-text-channel message links are skipped without preventing valid links in the same message from being quoted.
- Quoting an existing quote preserves the original author, channel, and jump link while updating the attribution to identify the new user who quoted it.
- Components V2 messages retain their existing components and receive a quote attribution line without converting them into a legacy embed.
- Bot-generated quote messages are associated with the requesting user so the existing message-removal behavior can delete them when that user reacts with the configured delete emoji.
- Quote messages are eventually removed by the existing expired bot-message cleanup process.
- All quote-generated mentions are suppressed; quoting a message must not notify the original author or other mentioned users.
Port Quote Feature to Community Bot
Port the current Quote feature from
tags-botto the community bot so users can paste Discord message links and receive a formatted quote while preserving the original message content and context.Acceptance Criteria
Jump to messagelink button pointing to the original message.