Greeting windows

Greetings are counted within time windows using your server's configured timezone. All triggers are case insensitive.

Morning
04:00 – 11:59
good morning goodmorning gm
Afternoon
12:00 – 19:59
good afternoon afternoon ga
Night
20:00 – 03:59
good night goodnight gn
Custom trigger words can be set per server via /settings triggerwordsTime windows are also adjustable with /settings timewindow

Streaks & chains

🔥 Greeting Streaks

Days in a row your community hits at least one greeting window. Miss a day and the streak resets to zero.

⛓️ Chain System

How many unique members join each daily greeting before it resets. Chains reset per type every day, the longest is tracked on leaderboards.

Leaderboards

🏠 Server Leaderboard

Top contributors in your server across greeting types. Use /leaderboard in Discord.

🌍 Global Leaderboard

Top streaks across all public servers. Compete with communities worldwide at mrmorning.xyz/leaderboard.

Share your server's public page: mrmorning.xyz/leaderboard?guild=YOUR_IDAnonymous servers use a short hash instead of their ID.

Downtime streak protection

🛡️ Downtime streak protection

If the bot is offline for 10+ minutes (e.g. power or internet loss), that period is recorded. Any greeting window that fell during the outage is excused and does not break your streak. Say the greeting in the next window after the bot is back and the streak continues; if you miss that next window too, the streak breaks as normal. Your progress is protected from outages and incidents, not from missing a day.

User commands

( ) = Optional  ·  [ ] = Required

/streak (morning | afternoon | night)
Show current and highest streak.
User
/leaderboard [server | global]
Show top contributors in this server or globally.
User
/help
List all available commands, usage, and privacy settings.
User

Data & privacy

Users can choose to show their real username or appear as Anonymous#hash on leaderboards and in chains. Servers can hide their name on the global leaderboard (by-hash links for anonymous guilds). For data access and deletion we follow a GDPR-style flow: you can request a copy of your data or schedule removal, with a 24h delay and option to cancel.

/privacy [show | hide | status]
Use your real username or Anonymous#hash on leaderboards and in chains.
User
/data request
Get a copy of your data (ephemeral, only visible to you).
User
/data delete (confirm | cancel | include guild data)
See a summary of what will be removed; use the confirm option to schedule deletion (24h delay) or the cancel option to cancel a scheduled deletion. Optionally include guild data for servers you own.
User
/settings privacy [show | hide | status]
Hide or show this server's name on the global leaderboard (anonymous = by-hash link).
Admin

Settings

Requires Admin, Manage Server, or a configured manager role.

/settings timezone [tz]
Set server timezone e.g. America/New_York
Admin
/settings timewindow [type] [start] [end]
Customize greeting time windows per type
Admin
/settings alertchannel [channel]
Set where bot streak alerts are posted
Admin
/settings restricttochannel [channel]
Limit greeting detection to a specific channel
Admin
/settings managerrole [role]
Grant a role access to run /settings
Admin
/settings triggerwords [words]
Custom comma-separated words that count as greetings
Admin
/settings silentalreadyinchain
Toggle whether the bot stays silent when you're already in the current chain
Admin
/settings view
View all current settings for this server
Admin

Quick start

Add Mr. Morning to your server

Click "Add to Discord" and authorize the bot. It only requests the permissions it actually needs.

Set your timezone with /settings

Run /settings timezone so greeting windows match your community's day, not UTC.

Say good morning and watch it grow

The streak starts automatically. Use /streak to check progress and /leaderboard to compete with other servers.

When someone in your server says a greeting (e.g. "good morning", "gm") during the right time window, that day counts toward the streak. If at least one person greets every day, the streak grows. Miss a day and it resets to zero.
Yes. Add the bot to your server and use all features at no cost. No premium tiers, no paywalled commands.
Mr. Morning needs to read messages (to detect greetings), send messages, and use slash commands. The invite link requests only what's required.

Do not grant Administrator. This is bad practice for any bot as if a bot's token is ever compromised, Administrator access allows maximum damage to your server.
Yes. Run /settings timezone and provide a timezone string like America/New_York or Europe/London. All greeting windows will use that timezone.

Full list of supported timezones: Wikipedia — tz database time zones
Use /leaderboard in Discord for in-server results, or visit mrmorning.xyz/leaderboard for the global view. Share your server's public page at mrmorning.xyz/leaderboard?guild=YOUR_SERVER_ID. Anonymous servers use a short hash in place of the ID.
If the bot is offline for 10+ minutes (e.g. power or internet outage), that period is recorded. Any greeting window that fell during the outage is excused and won't break your streak. Say the greeting in the next window after the bot is back and the streak continues. Your progress is protected from outages and bugs.
Use /data request to get a copy of your data (ephemeral reply). Use /data delete to see what will be removed, then the confirm option to schedule deletion (24h delay) or cancel to undo; you can optionally include guild data for servers you own.
Use /privacy show or /privacy hide to show your real username or appear as Anonymous#hash. Servers can hide their name on the global leaderboard (by-hash links for anonymous guilds) via /settings privacy.

Embed a live widget on your website to show your server's streak, chain, greetings, and contributor count. You must use your server's Discord guild ID (a long numeric ID, e.g. 18–20 digits).

See what each style looks like

View the widget demo page to see the compact, tall, and banner styles side by side.

Widget URL

Use your server's Discord guild ID in the query string:

https://mrmorning.xyz/widget?guild=YOUR_GUILD_ID

To get your guild ID: enable Developer Mode in Discord (Settings → App Settings → Advanced), then right‑click your server icon and choose Copy Server ID.

Widget styles

Add style to the URL to choose the layout:

  • ?guild=GUILD_ID&style=compact — default; compact card with streak, chain, greetings, contributors
  • ?guild=GUILD_ID&style=tall — vertical card with large streak number
  • ?guild=GUILD_ID&style=banner — horizontal banner layout

Embed on your site

Add an iframe to your page. Replace YOUR_GUILD_ID with your server's Discord guild ID:

<iframe
  src="https://mrmorning.xyz/widget?guild=YOUR_GUILD_ID"
  width="320"
  height="180"
  frameborder="0"
  title="Mr. Morning server widget"
></iframe>

Adjust width and height as needed. For style=tall use around 220×320; for style=banner use around 480×100.