Rapptz / discord.py

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

Rich presence asset images not high resolution #2041

Closed kairusds closed 5 years ago

kairusds commented 5 years ago

Summary

The rich presence assets used in a selfbot does not produce a high resolution image.

Reproduction Steps

By using the rich presence asset id.

Expected Results

For it to use a high resolution asset image.

Actual Results

It produced a low resolution image instead

Checklist

System Information

kairusds commented 5 years ago

someone told me back then that the rich presence asset images are scaled for multiple devices but in truth this isn't how it is

Vexs commented 5 years ago

This doesn't sound like a discord.py issue at all. What specifically are you talking about? Can you provide an example?

kairusds commented 5 years ago

this is using rich presence a selfbot

and this is rich presence on an electron app

Vexs commented 5 years ago

Discord.py doesn't have anything to do with these rich presences at all. I'm fairly sure you're in the wrong place.

Harmon758 commented 5 years ago

@Vexs It's definitely possible to get rich presence data through an Activity. I'm not sure if Discord allows you to set rich presence through a self-bot, but I think it should be possible to mimic a rich presence Activity and send the data as part of the payload with change_presence.

@kairusds However, if that is what you're doing (setting rich presence through a self-bot), @Vexs is right in that this isn't an issue with discord.py, as the asset IDs should be passed properly. Rich presence is meant to be set with Discord's RPC SDK, which updates the presence with a largeImageKey and smallImageKey, representing images that were uploaded as part of the Discord application. When you retrieve these asset images as part of an Activity object via the API, they are presented in the form of asset IDs, representing images that are probably (down)scaled by Discord. If you copy those asset IDs and send them via the Presence Update endpoint using change_presence, you're passing representations of images that have already been scaled, instead of the original image keys. Note, since self-bots on user accounts are forbidden now, this isn't a supported method of setting rich presence, and there is no other method of doing so other than via the RPC SDK. If your issue is with retrieving rich presence data through an Activity object that you did not create, then that's a different matter and feel free to re-open this issue with a reproducible example using a bot account.