Skip to content

频道 API

所有 API 方法通过 self.api 调用。源码位置

get_guild

获取频道信息。API 路径:GET /guilds/{guild_id}

python
async def get_guild(guild_id: str) -> guild.GuildPayload
参数类型说明
guild_idstr频道 ID(从事件中获取)

返回: GuildPayload — 包含 id、name、icon、owner_id、member_count 等字段

源码位置:botpy/api.py 第 44-56 行

me

获取当前机器人信息。API 路径:GET /users/@me

python
async def me() -> user.User

返回: User — 包含 id、username、avatar、bot 等字段

源码位置:botpy/api.py 第 773-781 行

me_guilds

获取机器人加入的频道列表。API 路径:GET /users/@me/guilds

python
async def me_guilds(
    guild_id: str = None,
    limit: int = 100,
    desc: bool = False,
) -> List[guild.GuildPayload]
参数类型默认值说明
guild_idOptional[str]None起始频道 ID,用于分页
limitint100返回数量(1-100)
descboolFalseTrue 时按频道 ID 往前反序返回

分页说明:

  • desc=False 时,guild_id 表示 after 参数(获取该 ID 之后的数据)
  • desc=True 时,guild_id 表示 before 参数(获取该 ID 之前的数据)

返回: List[GuildPayload] — 频道列表

源码位置:botpy/api.py 第 783-802 行

示例:

python
guild = await self.api.get_guild(message.guild_id)
print(guild["name"])

# 获取自己信息
user = await self.api.me()
print(user["username"])

# 获取已加入的频道列表
guilds = await self.api.me_guilds()
for g in guilds:
    print(g["name"])