discord / action / schema v1
Auto Responder
Attach to a Message trigger: when a message contains one of your phrases, the bot answers, reacts or writes privately, with a cooldown so it never spams.
Prerequisites
- Add the discord plugin inside this workflow.
Parameters
| Parameter | Type | Description |
|---|---|---|
ServerguildId | discord_guild Required | |
Phrases that trigger itphrases | tags Required | The message sets this off if it matches any of these. |
How to matchmatchMode | select Optional Default: | "Contains" is the usual choice. "Whole word" stops "hi" firing inside "this". "Search pattern" takes regex syntax, for the rare case the other four cannot express. Options: The message contains the phrase (contains), The message is exactly the phrase (exact), The message starts with the phrase (starts_with), The phrase appears as a whole word (word), The phrase is a search pattern (regex) |
Match upper and lower case exactlycaseSensitive | boolean Optional | Off by default, so "Hello" and "hello" are the same phrase. |
How it answersresponseType | select Optional Default: | Options: Post in the same channel (message), Write to the member privately (dm), React to their message (reaction) |
Answersresponses | tags Conditionally required | Add several and one is picked at random each time, so a busy channel does not see the same line over and over. {{user}}, {{username}} and {{phrase}} are filled in by this node.Field conditions{
"visible": {
"key": "responseType",
"values": [
"message",
"dm"
]
},
"required": {
"key": "responseType",
"values": [
"message",
"dm"
]
}
} |
Emoji to react withreactionEmoji | text Conditionally required | Field conditions{
"visible": {
"key": "responseType",
"values": [
"reaction"
]
},
"required": {
"key": "responseType",
"values": [
"reaction"
]
}
} |
Only in these channelschannelIds | discord_channel Optional | Leave empty to listen everywhere the trigger fires. |
Roles it ignoresexemptRoleIds | discord_role Optional | Members holding any of these never set it off. Useful for staff testing phrases. |
Ignore botsignoreBots | boolean Optional Default: | On by default. Two auto responders answering each other is the classic way to flood a channel. |
Cooldown (seconds)cooldownSeconds | number Optional Default: | 0 = answer every single time. Otherwise it stays quiet for this long after answering. |
Cooldown applies percooldownScope | select Optional Default: | Per channel is the usual choice: one answer per channel, but two channels can each get theirs. Options: Channel (channel), Member (member), Whole server (server) |
Chance of answering (%)chancePercent | number Optional Default: | 100 = always. Lower it for a rare easter egg that stays funny because it is not guaranteed. |
Delete the message that set it offdeleteTrigger | boolean Optional | Turns the responder into a "say this instead" rule. |
Inputs and outputs
Inputs
execute- Execute (input)
Outputs
done- Done (output)matched- Matched? (output)matched_phrase- Matched phrase (output)response- What it answered (output)error- Error (output)
No detailed data schema is declared. Inspect a test run to see its result.
Examples and troubleshooting have not yet been reviewed for this contract.
Version and compatibility
This reference follows the current authoring contract. Existing workflows retain their saved node revisions.
Contract identifier
c351754c6aaf6a16c6ebed3a379800d75e9fdf317e4791026fd8baab91b93b8e