# Suggestion notifications

> Examples of every suggestion receipt, follow confirmation and direct-message update

Aethor uses private Components V2 cards for suggestion receipts and direct-message notifications. Each card identifies the server, channel and suggestion, includes a short preview, and exposes only actions the recipient can use. This page is a reference for the exact message types; start with [Suggestions](/docs/suggestions) if you are setting up the workflow.

Suggestion numbers are unique per server, so notifications show the server name alongside the number.

## Event summary

| Event | Recipient | Main controls |
| --- | --- | --- |
| Published submission | Author | View, edit and notification preference |
| Submission awaiting review | Author | Notification preference |
| Converted message | Moderator | View and delete the original message |
| Follow or unfollow | Member who follows | View, follow state and notification preference |
| Status change | Author or follower | View, unfollow when applicable and notification preference |
| New comment | Author or follower | View, unfollow when applicable and notification preference |
| Edit review decision | Author | View and notification preference |
| Review decision | Author | View when published, or notification preference when rejected |

<details>
	<summary>Published submission</summary>


After `/suggest` or the persistent submit button publishes an idea, the author receives this private receipt. **View suggestion** opens the public card, **Edit suggestion** opens the author edit flow, and **Disable DMs** changes the author's global suggestion-notification preference.

<discord-messages class="not-prose">
	<discord-message profile="aethor" ephemeral>
		<discord-embed slot="embeds" data-bot-emoji-title="accept" embed-title={botEmojiLabel('accept', 'Suggestion posted')} color="#41ebf4" thumbnail="/logo-round.webp">
			<discord-embed-description slot="description"><small>Aethor Support • #suggestions • Suggestion #2</small><br /><br /><strong>Suggestion</strong><br />Add real permission checks.<br /><br />Your suggestion is live and ready for voting. We will DM you when staff changes its status.</discord-embed-description>
		</discord-embed>
		<discord-action-row slot="components">
			<discord-button url="#"><BotEmoji name="open" /> View suggestion</discord-button>
			<discord-button type="secondary"><BotEmoji name="edit" /> Edit suggestion</discord-button>
			<discord-button type="secondary"><BotEmoji name="notify_off" /> Disable DMs</discord-button>
		</discord-action-row>
	</discord-message>
</discord-messages>

</details>

<details>
	<summary>Submission awaiting review</summary>


A queued suggestion has no public number or public link yet. The receipt never exposes the private staff queue.

<discord-messages class="not-prose">
	<discord-message profile="aethor" ephemeral>
		<discord-embed slot="embeds" data-bot-emoji-title="pending_review" embed-title={botEmojiLabel('pending_review', 'Suggestion awaiting review')} color="#5865f2" thumbnail="/logo-round.webp">
			<discord-embed-description slot="description"><small>Aethor Support • #suggestions • Pending review</small><br /><br /><strong>Suggestion</strong><br />Add real permission checks.<br /><br />Staff will review your suggestion before it becomes public. We will DM you after the decision.</discord-embed-description>
		</discord-embed>
		<discord-action-row slot="components">
			<discord-button type="secondary"><BotEmoji name="notify_off" /> Disable DMs</discord-button>
		</discord-action-row>
	</discord-message>
</discord-messages>

If suggestion DMs are disabled, the final sentence warns that no review decision will be delivered and the button changes to **Enable DMs**.

</details>

<details>
	<summary>Converted message</summary>


Moderators receive a separate receipt when they convert another member's message. The receipt names the original author, and the same card includes the option to remove the source message.

<discord-messages class="not-prose">
	<discord-message profile="aethor" ephemeral>
		<discord-embed slot="embeds" data-bot-emoji-title="accept" embed-title={botEmojiLabel('accept', 'Message converted to a suggestion')} color="#41ebf4" thumbnail="/logo-round.webp">
			<discord-embed-description slot="description"><small>Aethor Support • #suggestions • Suggestion #3</small><br /><br /><strong>Suggestion</strong><br />Add a public roadmap.<br /><br />The suggestion is live and ready for voting. The author will receive updates according to their DM preference.</discord-embed-description>
		</discord-embed>
		<discord-action-row slot="components">
			<discord-button url="#"><BotEmoji name="open" /> View suggestion</discord-button>
			<discord-button type="destructive"><BotEmoji name="delete" /> Delete original message</discord-button>
		</discord-action-row>
	</discord-message>
</discord-messages>

</details>

<details>
	<summary>Following</summary>


Following covers status changes and new staff comments. Voting and following remain separate.

<discord-messages class="not-prose">
	<discord-message profile="aethor" ephemeral>
		<discord-embed slot="embeds" data-bot-emoji-title="notify" embed-title={botEmojiLabel('notify', 'Following suggestion')} color="#41ebf4" thumbnail="/logo-round.webp">
			<discord-embed-description slot="description"><small>Aethor Support • #suggestions • Suggestion #2</small><br /><br /><strong>Suggestion</strong><br />Add real permission checks.<br /><br />You will receive a DM for status changes and new comments. Voting and following remain separate.</discord-embed-description>
		</discord-embed>
		<discord-action-row slot="components">
			<discord-button url="#"><BotEmoji name="open" /> View suggestion</discord-button>
			<discord-button type="secondary"><BotEmoji name="notify_off" /> Unfollow</discord-button>
			<discord-button type="secondary"><BotEmoji name="notify_off" /> Disable DMs</discord-button>
		</discord-action-row>
	</discord-message>
</discord-messages>

When the member follows while DMs are disabled, Aethor does not promise delivery:

<discord-messages class="not-prose">
	<discord-message profile="aethor" ephemeral>
		<discord-embed slot="embeds" data-bot-emoji-title="notify" embed-title={botEmojiLabel('notify', 'Following suggestion')} color="#41ebf4" thumbnail="/logo-round.webp">
			<discord-embed-description slot="description"><small>Aethor Support • #suggestions • Suggestion #2</small><br /><br /><strong>Suggestion</strong><br />Add real permission checks.<br /><br />You are following this suggestion, but suggestion DMs are off. Enable them below to receive status changes and new comments.</discord-embed-description>
		</discord-embed>
		<discord-action-row slot="components">
			<discord-button url="#"><BotEmoji name="open" /> View suggestion</discord-button>
			<discord-button type="secondary"><BotEmoji name="notify_off" /> Unfollow</discord-button>
			<discord-button type="success"><BotEmoji name="notify" /> Enable DMs</discord-button>
		</discord-action-row>
	</discord-message>
</discord-messages>

Unfollowing is reversible:

<discord-messages class="not-prose">
	<discord-message profile="aethor" ephemeral>
		<discord-embed slot="embeds" data-bot-emoji-title="notify_off" embed-title={botEmojiLabel('notify_off', 'No longer following')} color="#95a5a6" thumbnail="/logo-round.webp">
			<discord-embed-description slot="description"><small>Aethor Support • #suggestions • Suggestion #2</small><br /><br /><strong>Suggestion</strong><br />Add real permission checks.<br /><br />You will no longer receive follower updates for this suggestion. You can follow it again at any time.</discord-embed-description>
		</discord-embed>
		<discord-action-row slot="components">
			<discord-button url="#"><BotEmoji name="open" /> View suggestion</discord-button>
			<discord-button type="primary"><BotEmoji name="notify" /> Follow again</discord-button>
			<discord-button type="secondary"><BotEmoji name="notify_off" /> Disable DMs</discord-button>
		</discord-action-row>
	</discord-message>
</discord-messages>

</details>

<details>
	<summary>Author status update</summary>


Status colors follow the suggestion setup. Outcome-specific headings make important changes understandable without relying on color alone.

<discord-messages class="not-prose">
	<discord-message profile="aethor">
		<discord-embed slot="embeds" data-bot-emoji-title="implement" embed-title={botEmojiLabel('implement', 'Your suggestion is now live')} color="#57f287" thumbnail="/logo-round.webp">
			<discord-embed-description slot="description"><small>Aethor Support • #suggestions • Suggestion #2</small><br /><br /><strong>Suggestion</strong><br />Add real permission checks.<br /><br /><strong>Status</strong><br />Open → Implemented<br /><br /><strong>Reason</strong><br />Permission checks are now available.<br /><br /><small>Changed by tricked • a few seconds ago</small></discord-embed-description>
		</discord-embed>
		<discord-action-row slot="components">
			<discord-button url="#"><BotEmoji name="open" /> View suggestion</discord-button>
			<discord-button type="secondary"><BotEmoji name="notify_off" /> Disable DMs</discord-button>
		</discord-action-row>
	</discord-message>
</discord-messages>

Accepted, Denied, Planned and Duplicate use their own headings, configured colors and the same fields. Duplicate notifications also include **View original**.

</details>

<details>
	<summary>Follower status update</summary>


Follower notifications do not use the "Your suggestion" wording. They include an Unfollow control.

<discord-messages class="not-prose">
	<discord-message profile="aethor">
		<discord-embed slot="embeds" data-bot-emoji-title="implement" embed-title={botEmojiLabel('implement', 'A suggestion you follow is now live')} color="#57f287" thumbnail="/logo-round.webp">
			<discord-embed-description slot="description"><small>Aethor Support • #suggestions • Suggestion #2</small><br /><br /><strong>Suggestion</strong><br />Add real permission checks.<br /><br /><strong>Status</strong><br />Open → Implemented<br /><br /><strong>Reason</strong><br />Permission checks are now available.<br /><br /><small>Changed by tricked • a few seconds ago</small></discord-embed-description>
		</discord-embed>
		<discord-action-row slot="components">
			<discord-button url="#"><BotEmoji name="open" /> View suggestion</discord-button>
			<discord-button type="secondary"><BotEmoji name="notify_off" /> Unfollow</discord-button>
			<discord-button type="secondary"><BotEmoji name="notify_off" /> Disable DMs</discord-button>
		</discord-action-row>
	</discord-message>
</discord-messages>

</details>

<details>
	<summary>New comment</summary>


Comment notifications use the same server context and suggestion preview. Named comments show the moderator. Anonymous comments say "server staff" instead.

<discord-messages class="not-prose">
	<discord-message profile="aethor">
		<discord-embed slot="embeds" data-bot-emoji-title="chat" embed-title={botEmojiLabel('chat', 'New comment on your suggestion')} color="#41ebf4" thumbnail="/logo-round.webp">
			<discord-embed-description slot="description"><small>Aethor Support • #suggestions • Suggestion #2</small><br /><br /><strong>Suggestion</strong><br />Add real permission checks.<br /><br /><strong>New comment</strong><br />Could you cover thread permissions too?<br /><br /><small>Comment by tricked • a few seconds ago</small></discord-embed-description>
		</discord-embed>
		<discord-action-row slot="components">
			<discord-button url="#"><BotEmoji name="open" /> View suggestion</discord-button>
			<discord-button type="secondary"><BotEmoji name="notify_off" /> Disable DMs</discord-button>
		</discord-action-row>
	</discord-message>
	<discord-message profile="aethor">
		<discord-embed slot="embeds" data-bot-emoji-title="chat" embed-title={botEmojiLabel('chat', 'New comment on a suggestion you follow')} color="#41ebf4" thumbnail="/logo-round.webp">
			<discord-embed-description slot="description"><small>Aethor Support • #suggestions • Suggestion #2</small><br /><br /><strong>Suggestion</strong><br />Add real permission checks.<br /><br /><strong>New comment</strong><br />Could you cover thread permissions too?<br /><br /><small>Comment by tricked • a few seconds ago</small></discord-embed-description>
		</discord-embed>
		<discord-action-row slot="components">
			<discord-button url="#"><BotEmoji name="open" /> View suggestion</discord-button>
			<discord-button type="secondary"><BotEmoji name="notify_off" /> Unfollow</discord-button>
			<discord-button type="secondary"><BotEmoji name="notify_off" /> Disable DMs</discord-button>
		</discord-action-row>
	</discord-message>
</discord-messages>

</details>

<details>
	<summary>Edit review decision</summary>


When a server reviews member edits, the author sees the proposed text and whether it was applied. Rejections include the moderator's reason.

<discord-messages class="not-prose">
	<discord-message profile="aethor">
		<discord-embed slot="embeds" data-bot-emoji-title="accept" embed-title={botEmojiLabel('accept', 'Your suggestion edit was approved')} color="#41ebf4" thumbnail="/logo-round.webp">
			<discord-embed-description slot="description"><small>Aethor Support • #suggestions • Suggestion #2</small><br /><br /><strong>Proposed edit</strong><br />Use a narrower permission scope.<br /><br /><small>Changed by tricked • a few seconds ago</small></discord-embed-description>
		</discord-embed>
		<discord-action-row slot="components">
			<discord-button url="#"><BotEmoji name="open" /> View suggestion</discord-button>
			<discord-button type="secondary"><BotEmoji name="notify_off" /> Disable DMs</discord-button>
		</discord-action-row>
	</discord-message>
	<discord-message profile="aethor">
		<discord-embed slot="embeds" data-bot-emoji-title="deny" embed-title={botEmojiLabel('deny', 'Your suggestion edit was not approved')} color="#e24818" thumbnail="/logo-round.webp">
			<discord-embed-description slot="description"><small>Aethor Support • #suggestions • Suggestion #2</small><br /><br /><strong>Proposed edit</strong><br />Replace every permission at once.<br /><br /><strong>Reason</strong><br />Please include a migration plan.<br /><br /><small>Changed by tricked • a few seconds ago</small></discord-embed-description>
		</discord-embed>
		<discord-action-row slot="components">
			<discord-button url="#"><BotEmoji name="open" /> View suggestion</discord-button>
			<discord-button type="secondary"><BotEmoji name="notify_off" /> Disable DMs</discord-button>
		</discord-action-row>
	</discord-message>
</discord-messages>

</details>

<details>
	<summary>Review decision</summary>


An approved queued suggestion uses the normal published-submission card with its newly assigned number and public link. A rejected submission has no public link:

<discord-messages class="not-prose">
	<discord-message profile="aethor">
		<discord-embed slot="embeds" data-bot-emoji-title="deny" embed-title={botEmojiLabel('deny', 'Your pending suggestion was not approved')} color="#e24818" thumbnail="/logo-round.webp">
			<discord-embed-description slot="description"><small>Aethor Support • #suggestions • Pending review</small><br /><br /><strong>Suggestion</strong><br />Add real permission checks.<br /><br /><strong>Reason</strong><br />Please include a concrete example and resubmit.<br /><br /><small>Changed by tricked • a few seconds ago</small></discord-embed-description>
		</discord-embed>
		<discord-action-row slot="components">
			<discord-button type="secondary"><BotEmoji name="notify_off" /> Disable DMs</discord-button>
		</discord-action-row>
	</discord-message>
</discord-messages>

</details>

<details>
	<summary>Notification preference</summary>


`/suggestion-dms` and the card buttons update one global preference. Disabling DMs keeps existing follows, so they resume if DMs are enabled later.

<discord-messages class="not-prose">
	<discord-message profile="aethor" ephemeral>
		<discord-embed slot="embeds" data-bot-emoji-title="notify" embed-title={botEmojiLabel('notify', 'Suggestion DMs enabled')} color="#41ebf4">
			<discord-embed-description slot="description">You will receive status changes and new comments for your suggestions and suggestions you follow, including review decisions.</discord-embed-description>
		</discord-embed>
		<discord-action-row slot="components">
			<discord-button type="secondary"><BotEmoji name="notify_off" /> Disable DMs</discord-button>
		</discord-action-row>
	</discord-message>
	<discord-message profile="aethor" ephemeral>
		<discord-embed slot="embeds" data-bot-emoji-title="notify_off" embed-title={botEmojiLabel('notify_off', 'Suggestion DMs disabled')} color="#95a5a6">
			<discord-embed-description slot="description">You will not receive suggestion status, comment, or review-decision DMs. Your existing follows are kept.</discord-embed-description>
		</discord-embed>
		<discord-action-row slot="components">
			<discord-button type="success"><BotEmoji name="notify" /> Enable DMs</discord-button>
		</discord-action-row>
	</discord-message>
</discord-messages>

All member-provided suggestion, reason and comment text is displayed as quoted content, and Discord mentions are disabled in notification payloads.

</details>
