Messages and embeds
Choose where a message goes and build rich responses with images, fields, and template variables.
Send Message
Choose a Destination, then enter the message content. Text can include template variables.
To send a generated image without an embed, put {store:card.image} in Image (optional) after a Generate Image Card node. Leave the message content blank to send just the PNG, or add text as a caption. This works for replies, channels, and DMs and requires Attach Files permission. The Image field accepts Image Cards output; use an Embed's Image URL field for public image links.
| Destination | Configure | Behavior |
|---|---|---|
| Reply to trigger | Content and optional private/ephemeral mode | Replies to the command user; private replies are visible only to that person |
| Send to channel | Current channel for commands, system/event channel for events, a channel setting, or custom ID/variable | Posts in the selected channel |
| Direct message | A user ID or variable | Attempts to DM that user; Try DM allows the flow to continue if delivery is rejected |
For a user command option named member, the DM target is {option:member}. For a member-join event, use {member.id}. Prefer a channel setting for a bot used in multiple servers. Channel messages cannot be ephemeral.
For commands, Current channel sends to the channel where the command was used. Older graphs store this choice as "channelId": "system"; they use the same behavior. For events, this choice uses the event's channel, or the server's system messages channel for member joins and departures.
Embed
The Embed node is the visual rich-message builder. It is available without installing the Custom Embeds module. Place it after the message it should decorate; it attaches to the most recent reply/message in that flow. With no preceding message it becomes its own response.
| Field | What to enter |
|---|---|
| Title / Title URL | Heading and optional link opened from that heading |
| Description | Main body, with formatting and variables |
| Color | A six-digit hex color such as #5865F2 |
| Author | Name and optional icon/link |
| Fields | Named values; mark a field inline to place it beside other inline fields |
| Image | A public image URL or an Image Cards attachment reference |
| Thumbnail | A small image next to the body |
| Footer | Supporting text and optional icon |
| Timestamp | The current time or a supported timestamp value |
A website page URL is not necessarily an image URL. Use a direct image link for Image and Thumbnail. BotDen prepares invite permissions for your saved actions and enabled modules. If Discord rejects the message or attachment, check channel access.
Example: a member card
- Install and configure Image Cards.
- Connect the command trigger to Generate Image Card, using
{user.id}as Member. - Add Send Message, choose Reply to trigger, and put
{store:card.image}in Image (optional). - Leave content blank for just the image, or enter
Here is your card, {user}!. No Embed node is needed. To display it inside a rich embed instead, use an Embed node's Image URL field. - Save, deploy, and invoke the command.
For a join greeting, the module's welcome integration provides a simpler setup.
Message actions
Add Reaction adds the chosen emoji to the triggering message where a message is available. A slash command does not provide an ordinary trigger message to react to. The bot needs Add Reactions and access to the message.
Delete Message removes the triggering message, or the message carrying an interacted-with component. It needs a message context and Manage Messages when deleting another person's message. Restrict who can invoke a command or button that deletes shared content.