|
3 | 3 | # 异步api
|
4 | 4 |
|
5 | 5 | from io import BufferedReader
|
6 |
| -from typing import Any, List, Union, BinaryIO |
| 6 | +from typing import Any, List, Union, BinaryIO, Dict |
7 | 7 |
|
8 | 8 | from .flags import Permission
|
9 | 9 | from .http import BotHttp, Route
|
@@ -247,6 +247,33 @@ async def get_guild_members(self, guild_id: str, after: str = "0", limit: int =
|
247 | 247 | guild_id=guild_id,
|
248 | 248 | )
|
249 | 249 | return await self._http.request(route, params=params)
|
| 250 | + |
| 251 | + async def get_guild_role_members( |
| 252 | + self, guild_id: str, role_id: str, start_index: str = "0", limit: int = 1 |
| 253 | + ) -> Dict[str, Union[List[user.Member], str]]: |
| 254 | + """ |
| 255 | + 获取频道身份组成员列表。 |
| 256 | +
|
| 257 | + 注意:该接口为私域机器人权限, 需要在管理端申请权限 |
| 258 | +
|
| 259 | + Args: |
| 260 | + guild_id (str): 频道 ID。 |
| 261 | + role_id (str): 身份组 ID。 |
| 262 | + start_index (str): 将上一次回包中next填入, 如果是第一次请求填 0,默认为 0。. Defaults to 0 |
| 263 | + limit (int): 分页大小,1-400。成员较多的频道尽量使用较大的limit值,以减少请求数。. Defaults to 1 |
| 264 | +
|
| 265 | + Returns: |
| 266 | + Dict[str, Union[List[user.Member], str]] |
| 267 | + """ |
| 268 | + params = {"start_index": start_index, "limit": limit} |
| 269 | + |
| 270 | + route = Route( |
| 271 | + "GET", |
| 272 | + "/guilds/{guild_id}/roles/{role_id}/members", |
| 273 | + guild_id=guild_id, |
| 274 | + role_id=role_id |
| 275 | + ) |
| 276 | + return await self._http.request(route, params=params) |
250 | 277 |
|
251 | 278 | async def get_voice_members(self, channel_id: str) -> List[user.Member]:
|
252 | 279 | """
|
|
0 commit comments