Reminder rules
Choose which channels the bot watches, when it checks and what it says, all through /reminder-rules, with no config files and no restart.
Before you start
Section titled “Before you start”- You need the Manage Server permission. Discord hides the command from everyone else, and without the permission the bot replies
You need Manage Server.and does nothing. - The command works in the server only, not in DMs, and every reply is private.
- A rule applies to every member who has set a timezone and working hours with
/hours set. You cannot aim one at a role or a few people. To try one on a few people first, see Rolling out the bot. - Members never see this command. They see the rules you enable in
/reminders list, see Channel reminders.
The two kinds of rule
Section titled “The two kinds of rule”| Kind | What it does | Created with |
|---|---|---|
| Channel watch | Sends a member a direct message (DM) when they have not posted in a channel by a time you choose. | /reminder-rules create |
| Follow-up | Holds the wording of the DM members get from /follow, the message menu and a tag of the bot. | Built in. You cannot create another. |
Rules that ship by default
Section titled “Rules that ship by default”| Rule | Kind | When | Attachment | State | Channel |
|---|---|---|---|---|---|
standup | Channel watch | Start of work day, 120 minutes after | No | Enabled | Filled in by the bot, see below |
art-eod | Channel watch | End of work day, 0 minutes after | Required | Disabled | Not set |
follow-up | Follow-up | On request | No | Enabled | None |
A channel watch rule with no channel does nothing. Neither seeded channel rule comes with a channel.
standup: on every check, if its channel is empty, the bot sets it to a text or announcement channel namedstand-up(capitals do not matter). It never replaces a channel you set. The hyphen matters: a channel namedstandupis not picked up, so set it withedit, for example/reminder-rules edit name: standup channel: #standup.art-eod: the bot never fills its channel. Set one withedit, thenenableit.
The default messages:
standup:{greeting} {name}, looks like you haven't posted in {channel} yet. This is a friendly reminder to do so whenever you get the chance. {previous}art-eod:{greeting} {name}, looks like you haven't posted your end-of-day update in {channel} yet. This is a friendly reminder to share a short summary and an image of what you worked on whenever you get the chance. {previous}follow-up:{greeting} {name}, this is a friendly reminder to follow up on {link}. {note}
If you upgraded from an older version, rules you had not reworded now use these texts; a rule you had reworded kept your wording.
/reminder-rules list shows every rule, enabled or disabled, sorted by name. It has no options.
You type
/reminder-rules list
Doge Bot replies
art-eod (disabled) - channel watch - not set - end of work day
follow-up (enabled) - follow-up
standup (enabled) - channel watch - <#123456789012345678> - start of work day - +120m
Only you can see this
A channel watch line gives the name, enabled or disabled, kind, channel (not set if empty), when, and +Nm for the wait, left out when it is 0. With no rules you see There are no reminder rules. A very long list is cut at 2000 characters.
create
Section titled “create”/reminder-rules create adds a channel watch rule. It starts enabled.
You type
/reminder-rules create name: art-end-of-day channel: #art-updates anchor: End of work day grace: 30 attachment: True message: Time to post in {channel}. {previous}
Doge Bot replies
Rule created.
art-end-of-day (enabled)
Kind: channel watch
Channel: <#123456789012345678>
When: end of work day
Grace: 30 minutes
Needs an attachment: yes
Message: Time to post in {channel}. {previous}
Only you can see this
Problems you may see:
| Reply | Cause |
|---|---|
Rule names use lowercase letters, digits and dashes only, up to 50 characters. | The name breaks the format. Nothing is created. |
A rule named "art-end-of-day" already exists. | The name is taken, including by a disabled rule. |
/reminder-rules edit changes a rule. Only the options you pass change. Passing grace: 0 or attachment: false is a real change.
You type
/reminder-rules edit name: art-eod channel: #art-updates
Doge Bot replies
Rule updated.
art-eod (disabled)
Kind: channel watch
Channel: <#123456789012345678>
When: end of work day
Grace: 0 minutes
Needs an attachment: yes
Message: {greeting} {name}, looks like you haven’t posted your end-of-day update in {channel} yet. This is a friendly reminder to share a short summary and an image of what you worked on whenever you get the chance. {previous}
Only you can see this
| Reply | Cause |
|---|---|
Nothing to change. Pass at least one option to edit. | You passed only name. This is checked first, so it also appears for a name that does not exist. |
There is no rule named "art-eod". | No rule has that name. |
Messages in the confirmation are cut at 300 characters. The stored text is not.
A change applies from the next check. A member already reminded today under the old channel, anchor or wait is not reminded again for that work day. A channel cannot be cleared once set, only replaced; to stop a rule, disable it.
enable and disable
Section titled “enable and disable”/reminder-rules enable and /reminder-rules disable each take one option.
You type
/reminder-rules enable name: art-eod
Doge Bot replies
Rule art-eod is now enabled.
Only you can see this
You type
/reminder-rules disable name: art-eod
Doge Bot replies
Rule art-eod is now disabled.
Only you can see this
A disabled rule stops sending and disappears from members’ /reminders list. Doing it twice is harmless and repeats the same reply.
Message placeholders
Section titled “Message placeholders”The bot swaps each placeholder for its value when it sends. An unknown word in braces, or a placeholder the rule’s kind does not have such as {link} in a channel watch message, is left as written. Runs of spaces collapse, so an empty placeholder leaves no gap, including before a following comma, full stop, exclamation mark or question mark. The bot does not check that your message uses its placeholders.
| Rule kind | Placeholder | Becomes |
|---|---|---|
| Any | {greeting} | Good morning from 05:00 to 11:59, Good afternoon from 12:00 to 16:59 and Good evening from 17:00 to 04:59, by the member’s local time. Hello when the member has no timezone. |
| Any | {name} | The first word of the member’s name. |
| Channel watch | {channel} | A link to the watched channel. |
| Channel watch | {previous} | Your previous post: and a link to the member’s most recent post in that channel or its threads from before the posting window (the period the bot checks for a post) began. Empty if there is none or the lookup fails. |
| Follow-up | {link} | A link to the message the member asked to follow up on. |
| Follow-up | {note} | The note the member typed with /follow, or nothing. |
The posting window normally starts at 00:00 on the work day in the member’s timezone, or up to 3 hours before their start time when the reminder comes due on a later calendar day. See how the engine decides. A reminder never includes the text of anyone’s message; a previous post appears only as a link.
The follow-up rule
Section titled “The follow-up rule”You can edit its message and nothing else.
- Any other option on
editrepliesFollow-up rules only support editing the message. enableanddisablegive the same reply, so it cannot be switched off from Discord.- The new message must contain
{link}. Otherwise the reply isThe follow-up message must include {link}, or the reminder has nothing to open.
Worked example: an art end-of-day rule
Section titled “Worked example: an art end-of-day rule”The shipped art-eod rule is disabled and has no channel. Point it at a channel and turn it on:
-
/reminder-rules edit name: art-eod channel: #art-updates -
Optionally wait 30 minutes after the end of the day:
/reminder-rules edit name: art-eod grace: 30 -
/reminder-rules enable name: art-eod -
Check
/reminder-rules list. The line showsenabled, your channel and+30m.
To build a variant under a new name instead, one command does steps 1 to 3, because a created rule starts enabled:
/reminder-rules create name: art-end-of-day channel: #art-updates anchor: End of work day grace: 30 attachment: True
A member with a timezone and working hours who has no post with an attachment in #art-updates that day then gets a DM 30 minutes after their day ends. Members can turn the rule off for themselves or set their own time, which replaces the end of their day and the grace. See how the engine decides.
- Rolling out the bot - turn reminders on without messaging the whole server.
- Commands reference - every command in one place.