On top of reacting to Discord events, Dispatch.IO does some things on its own, at regular intervals: checking RSS feeds and social networks, giving voice XP, cleaning up inactive flames, ending polls and giveaways on time…
This page is for administrators who want to know when these actions happen, for example to understand why a YouTube video hasn't been announced yet or why a message wasn't deleted.
Every task at a glance
| Task | Frequency | What it does |
|---|---|---|
| Bot status | Every 20 seconds | Changes the text shown under the bot's name. |
| Global statistics | At most every 5 minutes | Saves the number of servers, users and commands, shown on the website. |
| RSS feeds | Every 60 seconds | Checks each feed whose interval (in minutes) has passed and posts its latest article. |
| YouTube videos | Every 2 hours | Announces the latest video of each followed channel. |
| Twitch streams | Every 30 seconds | Announces the start of a stream, updates its message, then turns it into a replay. |
| Inactive flames | Every 10 minutes | Uses freezes or resets the flames of members inactive for more than 48 hours. |
| Voice XP | Every 60 seconds, for each member in voice | Gives the server's voice XP. |
| End of polls and giveaways | At the scheduled end time | Closes the poll, or draws the giveaway's winners. |
The following sections detail each task, then the module timers.
When the bot starts
On every start (update, restart), the bot gets everything ready in this order:
- Temporary status: the bot shows "I'm restarting..." while it starts.
- Servers' configuration: each server's language, color, time zone and channels are loaded. A raid mode whose duration has passed is turned off at this point.
- Temporary voice channels: for each known temporary voice channel, the bot forgets the ones that no longer exist, transfers ownership if the owner left, deletes the empty ones and reposts the control panel of the others.
- Polls and giveaways: running ones pick up their timer again. The ones that should have ended while the bot was down end right away (with a draw for giveaways). A giveaway whose reward is no longer possible (XP while levels are off, deleted role) is cancelled. If their message is gone, they are removed.
- Social networks and RSS: a first check happens right away, then regular checks begin.
- Invites: the bot remembers each server's invites (if it has Manage Server) to know which invite a new member used.
- Voice XP: members already in voice start earning XP again.
- Flames: the inactive flame cleanup starts (first run 10 minutes after startup).
- Status: the status rotation begins.
Recovery mode
During maintenance, the bot can start in recovery mode: its status says "Recovery mode enabled.", and steps 5 to 8 are skipped. While in this mode, there is no XP, no flames, no RSS or social network announcements, and music and /rank are unavailable.
Bot status
Every 20 seconds, the bot's status moves to the next text, always in English:
| Text | Example |
|---|---|
| Invitation to use the help | "Use /help !" |
| Number of servers and commands | "1250 servers | 📂: 64" |
| Total number of server members | "182000 users." |
| Bot version | "Version 3.2.0" |
At most every 5 minutes, these totals are saved for the website's statistics.
Social networks and RSS feeds
RSS feeds
- Every 60 seconds, the bot goes through all feeds. It only actually checks a feed if its interval has passed since the last check (from 1 minute to 24 hours, set on the website).
- On each check, only the latest article of the feed is considered. An article already announced isn't posted again (except with the website's Check & send last article button). If several articles are published between two checks, only the most recent one is announced.
- Right after a feed is added, the first check announces its latest article.
YouTube
- Every 2 hours, the bot looks for the latest video of each followed channel and announces it if it's new. A video can therefore be announced up to 2 hours after it goes online.
- If two videos come out within the same interval, only the latest one is announced. Right after a channel is added, the first check announces its latest video.
Twitch
- Every 30 seconds, the bot checks whether each followed channel is live.
- Stream start: the announcement message is posted (with the mention of the chosen role).
- During the stream: the message is updated at most every 3 minutes (title, game, viewer count, preview).
- Stream end: the bot waits 10 minutes, then turns the message into a replay announcement, if Twitch offers one.
Limits and manual check
- Only social networks within the server plan's limit are checked (2, 5 or unlimited per platform), starting with the oldest ones (see Premium plans and limits).
- On the website, the Check & send last video (social networks) or Check & send last article (RSS) button runs an immediate check of a social network or an RSS feed, with a delay between two checks of 30 minutes (Free), 15 minutes (Basic) or 10 minutes (Ultimate).
The content of the messages is described on the Social networks and RSS page.
Flames: cleaning up inactive streaks
Flame days follow the server's time zone (local midnight). There is no midnight task: the flame is computed on each of the member's activities.
On top of that, every 10 minutes, the bot looks at up to 100 flames whose member has had no activity for more than 48 hours:
- if the server has freezes turned on and the member has enough freezes left this month, one freeze is used per missed day, and the flame is kept;
- otherwise, the flame goes back to 0 and, if automatic renaming is on, the flame suffix is removed from the member's nickname.
No message is posted during this cleanup, and the member's record is kept. How flames and freezes work is explained on the Flames (streaks) page.
Voice XP
- Every 60 seconds, each member in voice (except bots and members on the blacklist) earns the voice XP set for the server.
- The first XP comes a full minute after connecting. Switching voice channels restarts the minute.
- There is no extra condition: a muted member or a member alone in their channel also earns XP.
- When the bot starts, members already in voice start earning XP again.
- If the server's voice XP changes, a member already connected keeps the old value until they reconnect.
See Levels and XP.
Module timers
Some modules schedule an action for later. These timers don't all behave the same way after the bot restarts:
| Timer | Length | After a bot restart |
|---|---|---|
| End of a poll | The chosen duration (1 minute to 1 week) | Resumed; ended right away if the time has passed. |
| End of a giveaway | The chosen duration (24 days max recommended) | Resumed; ended right away if the time has passed. |
| Deletion of a message in a temporary channel | The channel's delay (10 seconds to 2 hours) | Lost: pending messages are never deleted. Messages posted while the bot is offline aren't either. |
| Deletion of an empty temporary voice channel | 5 seconds after the last member leaves | Empty channels are deleted at startup. |
| A new member's captcha | 3 minutes to answer | Lost. |
| Language choice after the bot is added | 24 hours | Lost: the buttons stop responding. |
| Buttons of the music player message | 1 hour after the track starts | — |
/frequencies refresh | Every 30 seconds while displayed | — |
| Error messages of the counting game and suggestions | 5 to 10 seconds before deletion | — |
/play confirmation | 5 seconds before deletion | — |
The interactive panels of commands (/config, /poll, /giveaway…) also expire after a few minutes without any action.
Raid mode
Raid mode lasts 24 hours when turned on with /raid-mode, or the duration chosen on the website (1 to 24 hours). There is no timer: the end is noticed on the next member join, the next /raid-mode or the next bot startup. No message is posted when it ends. On a Community server, the pause on invites and DMs set by raid mode ends on its own, handled by Discord. See Anti-raid and security.
What isn't scheduled
- No bump reminder: the bot doesn't tell you when the server can be bumped again. The bump channel receives other servers' bumps, not reminders.
- No scheduled messages and no recurring messages.
- No automatic disconnection of the music player when the queue is finished: it stays in the voice channel until
/stopor until the channel is empty. - No message when raid mode ends.
Related pages
- Discord events: what the bot does when something happens on the server.
- Social networks and RSS: video, stream and article announcements.
- Flames (streaks) and Levels and XP: flames, freezes and XP.
- Polls, giveaways and suggestions: the end of polls and giveaways.
- Temporary channels: deletion of messages and voice channels.