|
22 | 22 | from ..api.models.misc import Image, Snowflake |
23 | 23 | from ..api.models.presence import ClientPresence |
24 | 24 | from ..api.models.role import Role |
25 | | -from ..api.models.team import Application |
| 25 | +from ..api.models.team import Application, ApplicationRoleConnectionMetadata |
26 | 26 | from ..api.models.user import User |
27 | 27 | from ..base import get_logger |
28 | 28 | from ..utils.attrs_utils import convert_list |
@@ -1857,6 +1857,43 @@ async def get_self_user(self) -> User: |
1857 | 1857 | """ |
1858 | 1858 | return User(**await self._http.get_self(), _client=self._http) |
1859 | 1859 |
|
| 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 | + |
1860 | 1897 |
|
1861 | 1898 | class Extension: |
1862 | 1899 | """ |
|
0 commit comments