Skip to content

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.

  • 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.
KindWhat it doesCreated with
Channel watchSends a member a direct message (DM) when they have not posted in a channel by a time you choose./reminder-rules create
Follow-upHolds the wording of the DM members get from /follow, the message menu and a tag of the bot.Built in. You cannot create another.
RuleKindWhenAttachmentStateChannel
standupChannel watchStart of work day, 120 minutes afterNoEnabledFilled in by the bot, see below
art-eodChannel watchEnd of work day, 0 minutes afterRequiredDisabledNot set
follow-upFollow-upOn requestNoEnabledNone

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 named stand-up (capitals do not matter). It never replaces a channel you set. The hyphen matters: a channel named standup is not picked up, so set it with edit, for example /reminder-rules edit name: standup channel: #standup.
  • art-eod: the bot never fills its channel. Set one with edit, then enable it.

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.

Example of the bot in Discord

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.

/reminder-rules create adds a channel watch rule. It starts enabled.

name text required

Lowercase letters, digits and dashes. Names are unique, and a disabled rule still holds its name.

Allowed: 1 to 50 characters: a-z, 0-9, dash

channel channel required

The channel to watch.

Allowed: text or announcement channels

anchor choice required

The point in the member’s day the check is based on.

Allowed: Start of work day, End of work day

grace number optional

Minutes to wait after the anchor before checking (the wait shown in list as +Nm). A member’s own custom time skips the grace: they are reminded at exactly that time.

Default: 120 for start of day, 0 for end of day Allowed: 0 to 1440

attachment true or false optional

Count a post only if it has an attachment.

Default: false

message text optional

The DM text. See placeholders.

Default: {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} Allowed: up to 1000 characters

Example of the bot in Discord

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:

ReplyCause
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.

name text required

The rule to change. Autocomplete suggests enabled and disabled rules, up to 25 at a time. Type part of the name to narrow the list.

channel channel optional

The channel to watch.

Allowed: text or announcement channels

anchor choice optional

The point in the member’s day the check is based on.

Allowed: Start of work day, End of work day

grace number optional

Minutes after the anchor.

Allowed: 0 to 1440

attachment true or false optional

Whether a post needs an attachment.

message text optional

The DM text. See placeholders.

Allowed: up to 1000 characters

Example of the bot in Discord

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

ReplyCause
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.

/reminder-rules enable and /reminder-rules disable each take one option.

name text required

The rule to enable or disable. Autocomplete suggests enabled and disabled rules, up to 25 at a time.

Example of the bot in Discord

You type

/reminder-rules enable name: art-eod

Doge Bot replies

Rule art-eod is now enabled.

Only you can see this

Example of the bot in Discord

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.

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 kindPlaceholderBecomes
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.

You can edit its message and nothing else.

  • Any other option on edit replies Follow-up rules only support editing the message.
  • enable and disable give the same reply, so it cannot be switched off from Discord.
  • The new message must contain {link}. Otherwise the reply is The follow-up message must include {link}, or the reminder has nothing to open.

The shipped art-eod rule is disabled and has no channel. Point it at a channel and turn it on:

  1. /reminder-rules edit name: art-eod channel: #art-updates
  2. Optionally wait 30 minutes after the end of the day: /reminder-rules edit name: art-eod grace: 30

  3. /reminder-rules enable name: art-eod
  4. Check /reminder-rules list. The line shows enabled, 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.