You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

discord.py如何获取Discord服务器已封禁用户的封禁原因

解决方案

你调用get_bans接口返回的迭代器元素不是User类型对象,而是Ban数据类实例,每个实例天然包含了你需要的封禁原因字段,直接读取对应属性即可。

调整后的代码示例

bans = await client.get_bans(message.guild.id)
for ban_entry in bans:
    # ban_entry.user 对应被封禁用户对象,ban_entry.reason 对应封禁原因
    print(f"User: {ban_entry.user.name} | User ID: {ban_entry.user.id} | Ban Reason: {ban_entry.reason or '未填写封禁原因'}")

补充说明

  • 如果封禁时没有填写原因,reason字段会返回None,建议做兜底显示处理,比如上面示例里用or '未填写封禁原因'做默认值
  • 该特性在discord.py v1.x及v2.x版本均支持,不需要额外调用其他接口

内容的提问来源于stack exchange,提问作者Yılmaz Alpaslan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 10:24:00