mirror of
https://github.com/Rapptz/discord.py.git
synced 2025-05-15 18:29:52 +00:00
Add platform property to Activity and Game
Co-authored-by: Danny <1695103+Rapptz@users.noreply.github.com>
This commit is contained in:
parent
9b9c93ad49
commit
d9f81150e1
@ -162,6 +162,10 @@ class Activity(BaseActivity):
|
|||||||
The user's current state. For example, "In Game".
|
The user's current state. For example, "In Game".
|
||||||
details: Optional[:class:`str`]
|
details: Optional[:class:`str`]
|
||||||
The detail of the user's current activity.
|
The detail of the user's current activity.
|
||||||
|
platform: Optional[:class:`str`]
|
||||||
|
The user's current platform.
|
||||||
|
|
||||||
|
.. versionadded:: 2.4
|
||||||
timestamps: :class:`dict`
|
timestamps: :class:`dict`
|
||||||
A dictionary of timestamps. It contains the following optional keys:
|
A dictionary of timestamps. It contains the following optional keys:
|
||||||
|
|
||||||
@ -197,6 +201,7 @@ class Activity(BaseActivity):
|
|||||||
'state',
|
'state',
|
||||||
'details',
|
'details',
|
||||||
'timestamps',
|
'timestamps',
|
||||||
|
'platform',
|
||||||
'assets',
|
'assets',
|
||||||
'party',
|
'party',
|
||||||
'flags',
|
'flags',
|
||||||
@ -215,6 +220,7 @@ class Activity(BaseActivity):
|
|||||||
self.state: Optional[str] = kwargs.pop('state', None)
|
self.state: Optional[str] = kwargs.pop('state', None)
|
||||||
self.details: Optional[str] = kwargs.pop('details', None)
|
self.details: Optional[str] = kwargs.pop('details', None)
|
||||||
self.timestamps: ActivityTimestamps = kwargs.pop('timestamps', {})
|
self.timestamps: ActivityTimestamps = kwargs.pop('timestamps', {})
|
||||||
|
self.platform: Optional[str] = kwargs.pop('platform', None)
|
||||||
self.assets: ActivityAssets = kwargs.pop('assets', {})
|
self.assets: ActivityAssets = kwargs.pop('assets', {})
|
||||||
self.party: ActivityParty = kwargs.pop('party', {})
|
self.party: ActivityParty = kwargs.pop('party', {})
|
||||||
self.application_id: Optional[int] = _get_as_snowflake(kwargs, 'application_id')
|
self.application_id: Optional[int] = _get_as_snowflake(kwargs, 'application_id')
|
||||||
@ -238,6 +244,7 @@ class Activity(BaseActivity):
|
|||||||
('type', self.type),
|
('type', self.type),
|
||||||
('name', self.name),
|
('name', self.name),
|
||||||
('url', self.url),
|
('url', self.url),
|
||||||
|
('platform', self.platform),
|
||||||
('details', self.details),
|
('details', self.details),
|
||||||
('application_id', self.application_id),
|
('application_id', self.application_id),
|
||||||
('session_id', self.session_id),
|
('session_id', self.session_id),
|
||||||
@ -351,13 +358,30 @@ class Game(BaseActivity):
|
|||||||
-----------
|
-----------
|
||||||
name: :class:`str`
|
name: :class:`str`
|
||||||
The game's name.
|
The game's name.
|
||||||
|
platform: Optional[:class:`str`]
|
||||||
|
Where the user is playing from (ie. PS5, Xbox).
|
||||||
|
|
||||||
|
.. versionadded:: 2.4
|
||||||
|
|
||||||
|
assets: :class:`dict`
|
||||||
|
A dictionary representing the images and their hover text of a game.
|
||||||
|
It contains the following optional keys:
|
||||||
|
|
||||||
|
- ``large_image``: A string representing the ID for the large image asset.
|
||||||
|
- ``large_text``: A string representing the text when hovering over the large image asset.
|
||||||
|
- ``small_image``: A string representing the ID for the small image asset.
|
||||||
|
- ``small_text``: A string representing the text when hovering over the small image asset.
|
||||||
|
|
||||||
|
.. versionadded:: 2.4
|
||||||
"""
|
"""
|
||||||
|
|
||||||
__slots__ = ('name', '_end', '_start')
|
__slots__ = ('name', '_end', '_start', 'platform', 'assets')
|
||||||
|
|
||||||
def __init__(self, name: str, **extra: Any) -> None:
|
def __init__(self, name: str, **extra: Any) -> None:
|
||||||
super().__init__(**extra)
|
super().__init__(**extra)
|
||||||
self.name: str = name
|
self.name: str = name
|
||||||
|
self.platform: Optional[str] = extra.get('platform')
|
||||||
|
self.assets: ActivityAssets = extra.get('assets', {}) or {}
|
||||||
|
|
||||||
try:
|
try:
|
||||||
timestamps: ActivityTimestamps = extra['timestamps']
|
timestamps: ActivityTimestamps = extra['timestamps']
|
||||||
@ -408,6 +432,8 @@ class Game(BaseActivity):
|
|||||||
'type': ActivityType.playing.value,
|
'type': ActivityType.playing.value,
|
||||||
'name': str(self.name),
|
'name': str(self.name),
|
||||||
'timestamps': timestamps,
|
'timestamps': timestamps,
|
||||||
|
'platform': str(self.platform) if self.platform else None,
|
||||||
|
'assets': self.assets,
|
||||||
}
|
}
|
||||||
|
|
||||||
def __eq__(self, other: object) -> bool:
|
def __eq__(self, other: object) -> bool:
|
||||||
|
@ -93,6 +93,7 @@ class Activity(_BaseActivity, total=False):
|
|||||||
state: Optional[str]
|
state: Optional[str]
|
||||||
details: Optional[str]
|
details: Optional[str]
|
||||||
timestamps: ActivityTimestamps
|
timestamps: ActivityTimestamps
|
||||||
|
platform: Optional[str]
|
||||||
assets: ActivityAssets
|
assets: ActivityAssets
|
||||||
party: ActivityParty
|
party: ActivityParty
|
||||||
application_id: Snowflake
|
application_id: Snowflake
|
||||||
|
Loading…
x
Reference in New Issue
Block a user