Rapptz / discord.py

An API wrapper for Discord written in Python.
http://discordpy.rtfd.org/en/latest
MIT License
14.88k stars 3.76k forks source link

Custom Statuses #2400

Closed ThePiGuy24 closed 4 years ago

ThePiGuy24 commented 5 years ago

The Problem

What I want is a way to set custom statuses as the feature has been added for users recently

The Ideal Solution

Ideal solution would be using something like client.change_presence(activity=discord.CustomStatus(status))

The Current Solution

None

Summary

Just add or suggest some way to set custom statuses without the "Playing ...", "Watching ... " or "Streaming ..."

Rapptz commented 5 years ago

The fields in the presence payload that actually give the custom status text are ignored for bots.

Until the payload for it is finalized it's not going to be added. See here https://github.com/discordapp/discord-api-docs/issues/1160 for tracking it on the Discord side.

LordBoos commented 4 years ago

https://github.com/discordapp/discord-api-docs/issues/1160 was closed, can you check it and add the custom status to discord.py?

Harmon758 commented 4 years ago

Support for it should be coming soon.

Custom status support is literally in my stash I just have to pop it and that's it

- Danny, yesterday

MEXAHOTABOP commented 4 years ago

https://discordapp.com/developers/docs/topics/gateway#activity-object-activity-types

4 | Custom | {emoji} {name} | ":smiley: I am cool"

this is it?

Phxntxm commented 4 years ago

That is indeed what custom statuses are, if you were trying to inform others what it is though...I assure you Danny knows what custom statuses are, as the comment above yours showed he even has it ready in his stash.

MEXAHOTABOP commented 4 years ago

sorry i dont know who is danny

i just mention what this is appear in developer documentation but discordpy still not support this

thecaralice commented 4 years ago

sorry i dont know who is danny

i just mention what this is appear in developer documentation but discordpy still not support this

Danny (aka Rapptz) is the creator of this lib lol

MEXAHOTABOP commented 4 years ago

ok that makes sense

Harmon758 commented 4 years ago

This is likely delayed because:

custom status [. . .] is gonna change in early 2020 apparently

- Danny, last Wednesday

Rapptz commented 4 years ago

Note that although this issue is closed, as of right now bots still cannot send a custom status. The developers mentioned that they were discussing whether bots should have it or not but there has been no update on that front.

LordBoos commented 4 years ago

What do you mean exactly? That the bot itself cannot have custom status? Because I use this new feature to load Custom statuses of Discord users on the same server as the bot is on and that works fine.

thecaralice commented 4 years ago

Only users can set custom statuses

Rapptz commented 4 years ago

Reading is different from setting. Reading custom statuses works fine, I was referring to setting.

madonuko commented 4 years ago

Found this just now on discord developer portal. I think bots can do that now. (I know I'm a bit late)

Edit: no I was wrong, the enum is for checking activities of users, not setting activity for bots.

s-jeelani commented 4 years ago

I'm trying to set a custom status but its just not working and it doesn't even have an error. I tried https://discordpy.readthedocs.io/en/latest/api.htmlhighlight=client%20wait_for#discord.CustomActivity. But it just doesn't work. Does anyone know how to use a custom activity? (also i'm a bit late, sorry)

Gobot1234 commented 4 years ago

Please don't necro old issues,

Bots currently cannot set custom statuses, this is a discord limitation.

XdekHckr commented 4 years ago

i just wanted set custom status for my account client and not work lol

SlyTheFloof commented 3 years ago

@commands.Cog.listener() async def on_connect(self): await self.bot.change_presence( activity=discord.CustomActivity(name='Handling My Business!', emoji='<a:Tail_Wag:711971800157913088>'), status=discord.Status.dnd) sad

Al-as commented 3 years ago

Using type 3 you can emulate a custom status, not entirely though.

bot.change_presence(activity=discord.Activity(name='56 users', type=3)) # Displays 'Watching 3 users'