DEV Community

Tejas Kathuria
Tejas Kathuria

Posted on • Edited on

23 1

Adding Discord Bot Status with Python

About Rich Presence

We all have seen a custom status on a discord bot like 'playing a game' or 'watching a movie', that is known as 'Rich Presence'. We have to enter some lines of code to add a custom rich presence in a Discord Bot. This Post will help you to add a custom rich presence in your discord bot.

How to add it?

To add this, import discord and commands. The client object for the bot has a method change_presence. This is used to change the status of your bot!

For Playing: Use discord.game() for adding playing status. Add the name of the game to the name argument

import discord
from discord.ext import commands

client = discord.Client()

@client.event
async def on_ready():
await client.change_presence(status=discord.Status.Online, activity=discord.game('a video game'))
print('We have logged in as {0.user}'.format(client))

Enter fullscreen mode Exit fullscreen mode

For Streaming: Use discord.Streaming() for adding streaming status with a url argument

Note: Discord only supports streaming links for YouTube and Twitch. The url argument must be formatted as an actual URL. http://www.twitch.tv will work while www.twitch.tv will not. It won’t change the bot status at all.

import discord
from discord.ext import commands
client = discord.Client

@client.event
async def on_ready():
    await client.change_presence(activity=discord.Streaming(name='a movie', url='https://www.twitch.tv/your_channel_here'))
print('We have logged in as {0.user}'.format(client))
Enter fullscreen mode Exit fullscreen mode

For Watching: Use discord.Activity() with the type argument set to discord.ActivityType.watching for the watching status.

import discord
from discord.ext import commands
client = discord.Client

@client.event
async def on_ready():
    await client.change_presence(activity=discord. Activity(type=discord.ActivityType.watching, name='A Movie'))
print('We have logged in as {0.user}'.format(client))
Enter fullscreen mode Exit fullscreen mode

For Listening: Use discord.Activity() with the type argument set to discord.ActivityType.listening for the listening status.

import discord
from discord.ext import commands
client = discord.Client

@client.event
async def on_ready():
    await client.change_presence(activity=discord. Activity(type=discord.ActivityType.listening, name='To Music'))
print('We have logged in as {0.user}'.format(client))
Enter fullscreen mode Exit fullscreen mode

Example code

import discord
from discord.ext import commands

# Change below's prefix with your prefix

client = commands.Bot(command.prefix = 'ENTER YOUR PREFIX')

@client.event
async def on_ready():
await client.change_presence(status=discord.Status.Online, activity=discord.game('a video game'))

# You can change the current status above
client.run('Your Bot Token')
Enter fullscreen mode Exit fullscreen mode

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more

Top comments (3)

Collapse
 
arvinthkrishna profile image
Arvinth Krishna

It's helpful ✨

Collapse
 
ah3 profile image
Abhishek Hari

Great work! Really appreciate this, would be really useful for me!

Collapse
 
tejasdev profile image
Tejas Kathuria

Thanks!

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay