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.
Understanding the Difference
Section titled “Understanding the Difference”- 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.)
Presence Activities
Section titled “Presence Activities”Your bot can display what it’s currently doing. Discord supports several activity types:
Activity Types
Section titled “Activity Types”Shows as “Playing [text]”
set presence of bot named "MyBot" to playing "Minecraft"Result: Playing Minecraft
Shows as “Listening to [text]”
set presence of bot named "MyBot" to listening "Spotify"Result: Listening to Spotify
Shows as “Watching [text]”
set presence of bot named "MyBot" to watching "YouTube"Result: Watching YouTube
Shows as “Competing in [text]”
set presence of bot named "MyBot" to competing "Arena Championship"Result: Competing in Arena Championship
Shows as “Streaming [text]” with a purple “LIVE” indicator
set presence of bot named "MyBot" to streaming "coding" with url "https://twitch.tv/username"Result: Streaming coding (with purple indicator)
Online Status
Section titled “Online Status”The status indicator appears as a colored circle at the bottom-right of your bot’s avatar.
Available Statuses
Section titled “Available Statuses”| Status | Indicator | Description |
|---|---|---|
online | 🟢 Green | Bot is online and active |
idle | 🟡 Yellow | Bot is idle/away |
do not disturb | 🔴 Red | Bot should not be disturbed |
offline | ⚪ Gray | Bot appears offline (won’t be shown in member list) |
invisible | None | Bot is online but appears offline |
Setting Status
Section titled “Setting Status”set online status of bot named "MyBot" to onlineYour bot appears online with a green indicator 🟢
set online status of bot named "MyBot" to idleYour bot appears away with a yellow indicator 🟡
set online status of bot named "MyBot" to do not disturbYour bot appears busy with a red indicator 🔴
set online status of bot named "MyBot" to offlineYour bot appears offline and won’t show in the member list ⚪
set online status of bot named "MyBot" to invisibleYour bot is online but hidden - no status indicator shown.
Complete Examples
Section titled “Complete Examples”Dynamic Presence in on ready
Section titled “Dynamic Presence in on ready”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 consoleCycling Presences
Section titled “Cycling Presences”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"Status Based on Activity
Section titled “Status Based on Activity”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"Member Count Presence
Section titled “Member Count Presence”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"Best Practices
Section titled “Best Practices”Presence
Section titled “Presence”- Keep it relevant - Show what your bot actually does
- Keep it short - Long presence texts get truncated
- Update dynamically - Show live stats like server/member count
- Don’t spam updates - Limit updates to once every 30+ seconds
Status
Section titled “Status”- Use online for normal operation - Default status
- Use do not disturb for maintenance - Signals downtime
- Use idle sparingly - Better for scheduled tasks
- Avoid offline/invisible - Users might think the bot is broken
Common Patterns
Section titled “Common Patterns”Server Count
Section titled “Server Count”set presence of bot named "MyBot" to playing "on %size of guilds of event-bot% servers"Help Command
Section titled “Help Command”set presence of bot named "MyBot" to listening "/help for commands"Website Link
Section titled “Website Link”set presence of bot named "MyBot" to playing "Visit bot.example.com"Version Information
Section titled “Version Information”set presence of bot named "MyBot" to playing "v2.0.0 | /help"Troubleshooting
Section titled “Troubleshooting”Presence Not Updating
Section titled “Presence Not Updating”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.
Streaming Status Not Purple
Section titled “Streaming Status Not Purple”The URL must be from YouTube or Twitch:
# ✅ Correctset presence of bot "MyBot" to streaming "coding" with url "https://twitch.tv/user"
# ❌ Wrong - won't show purple indicatorset presence of bot "MyBot" to streaming "coding" with url "https://example.com"Status Doesn’t Change
Section titled “Status Doesn’t Change”Make sure you’re using the correct syntax:
# ✅ Correctset online status of bot named "MyBot" to idle
# ❌ Wrongset status of bot named "MyBot" to "idle"Examples Gallery
Section titled “Examples Gallery”Music Bot
Section titled “Music Bot”# When music startsset presence of bot named "MusicBot" to listening "🎵 %song name%"set online status of bot named "MusicBot" to online
# When music stopsset presence of bot named "MusicBot" to listening "/play to start"set online status of bot named "MusicBot" to idleModeration Bot
Section titled “Moderation Bot”set presence of bot named "ModBot" to watching "for rule breakers"set online status of bot named "ModBot" to onlineStatus Bot
Section titled “Status Bot”set presence of bot named "StatusBot" to watching "server status"set online status of bot named "StatusBot" to onlineNext Steps
Section titled “Next Steps”- Learn about Multiple Bots
- Configure Bot Settings
- Send Simple Messages