> ## Documentation Index
> Fetch the complete documentation index at: https://illegalcord.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Message Tools

> Use Illegalcord's bundled plugins and APIs to change message display and chat behavior.

Message behavior in Illegalcord is mostly plugin-driven. The base APIs expose declarative message hooks, message accessories, message decorations, message popover buttons, chat bar buttons, and context menu integration.

## Common message plugin categories

| Category            | What to search for                                                                  |
| ------------------- | ----------------------------------------------------------------------------------- |
| Logging and history | `MessageLogger`, `MessageLoggerEnhanced`, or the `Chat` tag.                        |
| Translation         | `Translate`, `Translate+`, `MessageTranslate`, or translation-related search terms. |
| Quick replies       | `QuickReply`, `reply`, or the `Shortcuts` tag.                                      |
| Typing indicators   | `TypingTweaks`, `TypingIndicator`, `SilentTyping`, or `typing`.                     |
| Message actions     | `MessageClickActions`, `QuickMention`, `SendTimestamps`, or `Chat`.                 |

## Declarative message APIs

Plugin authors should prefer declarative fields on the plugin object:

| Field                     | Use                                                    |
| ------------------------- | ------------------------------------------------------ |
| `onBeforeMessageSend`     | Read, modify, or cancel outgoing messages before send. |
| `onBeforeMessageEdit`     | Read, modify, or cancel message edits.                 |
| `onMessageClick`          | React to message clicks.                               |
| `messagePopoverButton`    | Add an action to the message popover.                  |
| `renderMessageAccessory`  | Render content below a message.                        |
| `renderMessageDecoration` | Render inline message decoration.                      |

Declarative fields keep lifecycle handling in `PluginManager` and automatically enable the matching API plugin.

## User workflow

<Steps>
  <Step title="Open Plugins">
    Go to **Illegalcord Settings > Plugins**.
  </Step>

  <Step title="Filter by tags">
    Try `Chat`, `Shortcuts`, `Utility`, or `Privacy`.
  </Step>

  <Step title="Read plugin details">
    Open the info modal before enabling a plugin that changes message behavior.
  </Step>

  <Step title="Enable one at a time">
    Test message-related plugins one by one so you can isolate conflicts.
  </Step>
</Steps>

<Warning>
  Some message plugins can retain or transform local message content. Review settings and source before enabling behavior that affects private conversations.
</Warning>
