Skip to content

🚀 This new wiki is in beta! Please double-check for any issue and report them on the GitHub

Presence & Status

Your bot can display custom presence activities and online status, just like regular Discord users. This guide shows you how to customize both.

  • Presence: The activity text shown in your bot’s profile (e.g., “Playing Minecraft”)
  • Status: The colored indicator next to your bot’s avatar (🟢 Online, 🟡 Idle, etc.)

Your bot can display what it’s currently doing. Discord supports several activity types:

Shows as “Playing [text]”

set presence of bot named "MyBot" to playing "Minecraft"

Result: Playing Minecraft

The status indicator appears as a colored circle at the bottom-right of your bot’s avatar.

StatusIndicatorDescription
online🟢 GreenBot is online and active
idle🟡 YellowBot is idle/away
do not disturb🔴 RedBot should not be disturbed
offline⚪ GrayBot appears offline (won’t be shown in member list)
invisibleNoneBot is online but appears offline
set online status of bot named "MyBot" to online

Your bot appears online with a green indicator 🟢

define new bot named "MyBot":
token: "YOUR_TOKEN"
intents: default intents
on ready:
# Set online status
set online status of event-bot to online
# Set presence
set presence of event-bot to playing "on %size of guilds of event-bot% servers"
send "&aBot is ready!" to console
every 30 seconds:
set {_random} to random integer between 1 and 3
if {_random} is 1:
set presence of bot named "MyBot" to playing "Minecraft"
else if {_random} is 2:
set presence of bot named "MyBot" to watching "the server"
else:
set presence of bot named "MyBot" to listening "commands"
command /maintenance [<text>]:
trigger:
if arg-1 is "on":
set online status of bot named "MyBot" to do not disturb
set presence of bot named "MyBot" to playing "Maintenance Mode"
send "Bot is now in maintenance mode"
else:
set online status of bot named "MyBot" to online
set presence of bot named "MyBot" to playing "Minecraft"
send "Bot is back online"
define new bot named "MyBot":
token: "YOUR_TOKEN"
intents: guild members, default intents
on ready:
set {_totalMembers} to 0
loop guilds of event-bot:
add size of members of loop-value to {_totalMembers}
set presence of event-bot to watching "%{_totalMembers}% members"
  1. Keep it relevant - Show what your bot actually does
  2. Keep it short - Long presence texts get truncated
  3. Update dynamically - Show live stats like server/member count
  4. Don’t spam updates - Limit updates to once every 30+ seconds
  1. Use online for normal operation - Default status
  2. Use do not disturb for maintenance - Signals downtime
  3. Use idle sparingly - Better for scheduled tasks
  4. Avoid offline/invisible - Users might think the bot is broken
set presence of bot named "MyBot" to playing "on %size of guilds of event-bot% servers"
set presence of bot named "MyBot" to listening "/help for commands"
set presence of bot named "MyBot" to playing "Visit bot.example.com"
set presence of bot named "MyBot" to playing "v2.0.0 | /help"

Possible causes:

  • Bot not fully loaded yet
  • Discord API rate limits
  • Network issues

Solution: Set presence in the on ready section and avoid rapid updates.

The URL must be from YouTube or Twitch:

# ✅ Correct
set presence of bot "MyBot" to streaming "coding" with url "https://twitch.tv/user"
# ❌ Wrong - won't show purple indicator
set presence of bot "MyBot" to streaming "coding" with url "https://example.com"

Make sure you’re using the correct syntax:

# ✅ Correct
set online status of bot named "MyBot" to idle
# ❌ Wrong
set status of bot named "MyBot" to "idle"
# When music starts
set presence of bot named "MusicBot" to listening "🎵 %song name%"
set online status of bot named "MusicBot" to online
# When music stops
set presence of bot named "MusicBot" to listening "/play to start"
set online status of bot named "MusicBot" to idle
set presence of bot named "ModBot" to watching "for rule breakers"
set online status of bot named "ModBot" to online
set presence of bot named "StatusBot" to watching "server status"
set online status of bot named "StatusBot" to online