Evalyn can put your sessions into Discord three different ways. They are separate on purpose, because they answer different questions, and you can use any combination of them.
| What it is | Where it goes | |
|---|---|---|
| Announcement | One message when a session is scheduled, in your own wording | One channel you choose |
| Board | A standing embed listing what is coming up, edited in place | One channel per session type |
| Ping | A role mention that exists to make a notification happen, then deletes itself | The type's board channel |
All of it works with whichever bot you run — your own self-hosted bot if it is on, otherwise the official Evalyn bot. You do not configure it twice.
Everything here is set up in Settings → Features → Sessions, under Discord.
Announcements
Tick Announce new sessions, paste a channel id, and write the message.
The message is a template. These placeholders get filled in:
| Placeholder | Becomes |
|---|---|
{title} | The session title |
{type} | The type's label, e.g. Training |
{status} | The status label |
{time} | The start time, as a Discord timestamp |
{relative} | A countdown, e.g. "in 3 hours" |
{roles} | Who is filling each role |
{description} | The session description |
Timestamps are the Discord kind, which means every reader sees the time in their own timezone without you doing anything.
Removing the message
Choose Manually and it stays until someone deletes it. Choose Automatically and set a delay, and Evalyn removes it for you.
The delay is measured from when the message was posted, and it is honoured by a background job rather than a timer held in memory, so it still happens if the server restarts in between. That job runs on a schedule, so an auto-delete can overshoot its time by a few minutes. It will not be missed.
The session board
Tick Keep a live session board in each channel, then give each type a Board channel ID in the Types list above.
Evalyn posts one embed per channel and edits it in place as things change. It is not a message per session — the channel does not fill up, and the board is something you can pin.
Each entry shows the title, the start time, a countdown, the status, and who has claimed which role.
Sessions leave the board like this:
- Completed — disappears immediately. The board is about what is coming.
- Cancelled — stays for four hours, so someone opening Discord later still learns it was called off rather than finding nothing and assuming they misremembered.
If you point two types at the same channel, you get one combined board rather than two fighting over the channel.
The subscribe dropdown
Under the board is a dropdown listing the sessions on it. Picking one signs you up for direct messages about that session; picking it again stops them. The reply tells you which way it went, and only you can see it.
You need your Discord account linked to Evalyn for this — otherwise there is nobody to send the message to, and the bot will say so.
Pings
Give a type a Ping role ID and that role gets mentioned when one of those sessions is scheduled.
The ping message deletes itself shortly afterwards — thirty seconds by default, adjustable. A ping exists to make a notification happen; leaving the mention behind turns a busy channel into a wall of role tags.
Only the role you configured can be pinged. If someone puts @everyone in a session title, it will not go out to the server.
Direct message notifications
People can subscribe to:
- One session — the bell on the session's detail panel, or the dropdown under the board.
- Every session of a type — the "DM me about" row on the Sessions page.
Subscribers get a message whenever the session changes status, worded with your own status labels. Someone subscribed both ways gets one message, not two.
Subscribing requires a linked Discord account. The controls only appear once yours is linked.
Finding channel and role ids
In Discord, turn on Settings → Advanced → Developer Mode. You can then right-click any channel or role and choose Copy ID.
Evalyn only accepts real ids — a channel name pasted into one of these boxes is rejected rather than saved and quietly ignored later.
When nothing arrives
Work down this list:
- Is the bot connected? Settings → Discord shows its status, and says why if it failed.
- Is the bot in the server, and can it see and post in that channel?
- Is the channel id an id, not a name?
- For pings, is the ping role id set as well as the channel id? A type with a channel but no role gets a board and no ping.
- For DMs, is the recipient's Discord account linked, and are their DMs open to server members?