Skip to content

Commit 13efcc4

Browse files
authored
feat: Add helpers for role connection (#1207)
1 parent 4eeb138 commit 13efcc4

File tree

1 file changed

+38
-1
lines changed

1 file changed

+38
-1
lines changed

interactions/client/bot.py

Lines changed: 38 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
from ..api.models.misc import Image, Snowflake
2323
from ..api.models.presence import ClientPresence
2424
from ..api.models.role import Role
25-
from ..api.models.team import Application
25+
from ..api.models.team import Application, ApplicationRoleConnectionMetadata
2626
from ..api.models.user import User
2727
from ..base import get_logger
2828
from ..utils.attrs_utils import convert_list
@@ -1857,6 +1857,43 @@ async def get_self_user(self) -> User:
18571857
"""
18581858
return User(**await self._http.get_self(), _client=self._http)
18591859

1860+
async def get_role_connection_metadata(self) -> List[ApplicationRoleConnectionMetadata]:
1861+
"""
1862+
.. versionadded:: 4.4.0
1863+
1864+
Gets the bot's role connection metadata.
1865+
1866+
:return: The list of bot's role connection metadata.
1867+
"""
1868+
1869+
res: List[dict] = await self._http.get_application_role_connection_metadata(
1870+
application_id=int(self.me.id)
1871+
)
1872+
return [ApplicationRoleConnectionMetadata(**metadata) for metadata in res]
1873+
1874+
async def update_role_connection_metadata(
1875+
self,
1876+
metadata: Union[List[ApplicationRoleConnectionMetadata], ApplicationRoleConnectionMetadata],
1877+
) -> List[ApplicationRoleConnectionMetadata]:
1878+
"""
1879+
.. versionadded:: 4.4.0
1880+
1881+
Updates the bot's role connection metadata.
1882+
1883+
.. note::
1884+
This method overwrites all current bot's role connection metadata.
1885+
1886+
:param List[ApplicationRoleConnectionMetadata] metadata: The list of role connection metadata. The maximum is five.
1887+
:return: The updated list of bot's role connection metadata.
1888+
"""
1889+
if not isinstance(metadata, list):
1890+
metadata = [metadata]
1891+
1892+
res: List[dict] = await self._http.update_application_role_connection_metadata(
1893+
application_id=int(self.me.id), payload=[_._json for _ in metadata]
1894+
)
1895+
return [ApplicationRoleConnectionMetadata(**_) for _ in res]
1896+
18601897

18611898
class Extension:
18621899
"""

0 commit comments

Comments
 (0)