# Autoresponder Keyword replies with contains / equals / starts / ends filters and cooldowns. Requires **Message Content Intent** in the Developer Portal and on the TabBot intent list. Rules are JSON objects `{match,mode,reply,cooldownMs}` where `mode` is contains / equals / starts / ends. Do not enable Message Content “just in case.” ## How to enable 1. Open **Studio → your bot → Modules**. 2. Find **Autoresponder** (`autoresponder`) and turn it **On**. 3. Fill settings. Channel and role fields are Discord snowflakes, not names. 4. Disable individual slash commands if you are near Discord’s 100-command cap. 5. **Reload the runner tab** so the client re-registers slash commands. Global command updates can take up to an hour; guild-less register in TabBot is application-wide. ## Required intents `Guilds`, `GuildMessages`, `MessageContent` Privileged intents (Message Content, Server Members, Presence) must also be enabled on the Discord application. TabBot cannot flip the Developer Portal for you. ## Settings | Setting | Type | Default | Notes | | --- | --- | --- | --- | | `rules` · Rules JSON | string | [{"match":"hello","mode":"contains","reply":"Hi {user}","cooldownMs":3000}] | [{match,mode,reply,cooldownMs}] | ## Slash commands | Command | Description | Options | | --- | --- | --- | | `/autoresponder-list` | List responder rules | — | Options marked with `*` are required. Uncheck a command in Studio to keep the module without occupying a slash slot. ## Data and failure modes Module state uses this origin’s KV (`tabbot-store`) and the runner process. There is no HoneyPeer server-side copy. Closing the runner tab stops event handlers and timers. Official modules are GNU GPL v3 or later.