diff options
Diffstat (limited to 'discord/activity.py')
| -rw-r--r-- | discord/activity.py | 28 |
1 files changed, 23 insertions, 5 deletions
diff --git a/discord/activity.py b/discord/activity.py index 66488e24..6f724199 100644 --- a/discord/activity.py +++ b/discord/activity.py @@ -33,6 +33,7 @@ from .partial_emoji import PartialEmoji from .utils import _get_as_snowflake __all__ = ( + 'BaseActivity', 'Activity', 'Streaming', 'Game', @@ -85,7 +86,24 @@ t.ActivityFlags = { } """ -class _ActivityTag: +class BaseActivity: + """The base activity that all user-settable activities inherit from. + A user-settable activity is one that can be used in :meth:`Client.change_presence`. + + The following types currently count as user-settable: + + - :class:`Activity` + - :class:`Game` + - :class:`Streaming` + - :class:`CustomActivity` + + Note that although these types are considered user-settable by the library, + Discord typically ignores certain combinations of activity depending on + what is currently set. This behaviour may change in the future so there are + no guarantees on whether Discord will actually let you set these types. + + .. versionadded:: 1.3.0 + """ __slots__ = ('_created_at',) def __init__(self, **kwargs): @@ -100,7 +118,7 @@ class _ActivityTag: if self._created_at is not None: return datetime.datetime.utcfromtimestamp(self._created_at / 1000) -class Activity(_ActivityTag): +class Activity(BaseActivity): """Represents an activity in Discord. This could be an activity such as streaming, playing, listening @@ -257,7 +275,7 @@ class Activity(_ActivityTag): return self.assets.get('small_text', None) -class Game(_ActivityTag): +class Game(BaseActivity): """A slimmed down version of :class:`Activity` that represents a Discord game. This is typically displayed via **Playing** on the official Discord client. @@ -369,7 +387,7 @@ class Game(_ActivityTag): def __hash__(self): return hash(self.name) -class Streaming(_ActivityTag): +class Streaming(BaseActivity): """A slimmed down version of :class:`Activity` that represents a Discord streaming status. This is typically displayed via **Streaming** on the official Discord client. @@ -627,7 +645,7 @@ class Spotify: """:class:`str`: The party ID of the listening party.""" return self._party.get('id', '') -class CustomActivity(_ActivityTag): +class CustomActivity(BaseActivity): """Represents a Custom activity from Discord. .. container:: operations |