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

Discord.py开发疑问:管理员踢出语音频道用户时审计日志Target显示None

在discord.py中获取语音频道移出操作的目标用户
  • 你遇到的Target字段为None是正常现象,因为member_move类型的审计日志不会把目标用户放在常规的target属性里,而是存储在extra对象中。
  • 要获取被管理员移动/踢出的用户,直接访问审计日志条目的entry.extra.members即可,这是一个包含所有受影响用户的列表。
  • 示例代码实现:
@bot.event
async def on_audit_log_entry_create(entry):
    if entry.action == discord.AuditLogAction.member_move:
        admin = entry.user
        # 获取所有被移出的用户
        affected_users = entry.extra.members
        # 区分是踢出还是移动:after_channel为None则是踢出
        is_kick = entry.extra.after_channel is None
        for user in affected_users:
            action = "踢出" if is_kick else "移动"
            print(f"管理员 {admin.display_name} 将用户 {user.display_name} {action} 出语音频道")
  • 注意事项:机器人必须拥有view_audit_log权限,否则无法读取完整的审计日志内容。

内容的提问来源于stack exchange,提问作者user28857236

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 01:22:03