Can I display a plain status message for my Discord bot without activity indicators?

Hey everyone! I’m trying to set up a simple status message for my Discord bot. Right now, I’m using this code:

status_text = "Bot is online"
await bot.change_presence(activity=discord.Activity(type=discord.ActivityType.playing, name=status_text))

The problem is, it shows up as “Playing Bot is online” in Discord. I just want it to say “Bot is online” without any activity type like Playing, Watching, or Streaming. Is there a way to do this? I’ve looked through the discord.py docs but couldn’t find anything helpful. Any ideas on how to make the status message appear without these activity indicators? Thanks in advance for any help!

hey there! i’ve messed around with this too. sadly, discord doesn’t let u have a totally plain status :frowning: but u could try using a tiny emoji or symbol to make it less noticey. like:

await bot.change_presence(activity=discord.CustomActivity(name=‘◦ Bot is online’))

this shows up as ‘◦ Bot is online’. not perfect but better than ‘Playing’ maybe?

I’ve actually faced a similar issue with my own Discord bot. Unfortunately, Discord doesn’t provide a way to display a completely plain status message without any activity indicator. The closest you can get is using the ‘Custom Status’ option, which still shows a small emoji next to the text.

Here’s what I ended up doing:

await bot.change_presence(activity=discord.CustomActivity(name='Bot is online'))

This sets a custom status, which appears with a small green dot emoji by default. It’s not perfect, but it’s less intrusive than ‘Playing’ or other activity types. You can also customize the emoji if you want something more fitting for your bot.

If you absolutely need a plain text status, you might have to look into alternative ways of displaying that information, like updating a specific channel or using embed messages for status updates.

Unfortunately, Discord’s API doesn’t allow for completely plain status messages without an activity indicator. The system is designed to always show some type of activity status.

However, you could try using a very short emoji as a workaround. Something like this:

await bot.change_presence(activity=discord.CustomActivity(name='• Bot is online'))

This will display as ‘• Bot is online’ with a tiny dot at the beginning. It’s not perfect, but it’s less obtrusive than ‘Playing’ or other activity types.

Alternatively, you might consider using a channel or role name to display the bot’s status instead of relying on the presence feature. This gives you more control over the display format.