如何获取Discord.py中当前查看指定TextChannel的Discord.Member列表?
获取Discord文本频道中当前正在查看的成员
Discord官方API并不提供“用户正在查看哪个文本频道”的实时数据,因此discord.py也没有内置方法直接获取当前正在查看指定文本频道的成员列表,或是查询某个成员当前正在浏览的文本频道。
核心原因
Discord不会将用户的文本频道浏览状态作为公开数据推送给机器人,这既是出于用户隐私保护的考虑,也是其API的设计逻辑——仅当用户产生明确交互(比如发送消息、加入语音频道等)时,才会同步相关状态信息。
可替代的实现思路
如果你的需求是追踪用户与频道的交互行为(而非实时查看状态),可以参考以下方式:
- 监听频道的
on_message事件,记录发送消息的成员,以此标记用户曾在该频道活跃 - 针对语音频道,可以通过
VoiceChannel.members获取当前在频道内的成员,但此方法仅适用于语音频道,无法作用于文本频道
需要注意:不存在任何官方途径能获取用户当前正在浏览的文本频道信息,任何声称可以实现的第三方工具或方法,都可能违反Discord服务条款,且存在安全风险。
内容的提问来源于stack exchange,提问作者Morgan
相关产品推荐
相关产品推荐

