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

discord.py开发:如何获取用户触发命令时所在的频道

如何获取Discord命令触发的文本频道

你不需要通过ctx.author获取当前命令的发送文本频道,直接调用上下文对象的ctx.channel属性即可,该属性会直接返回命令被发送的文本频道对象,用法和你提到的ctx.author.voice.channel获取语音频道的逻辑类似。

补充说明:无法通过ctx.author直接拿到当前文本频道,因为用户没有和单一文本频道绑定的属性,单个用户可以同时在多个文本频道发送消息,只有当前请求的上下文对象ctx才会携带当前触发事件的频道信息。

常见使用示例:

# 打印当前命令发送频道的名称
print(ctx.channel.name)
# 给当前频道发送反馈消息
await ctx.send(f"本次命令触发自频道:{ctx.channel.name}")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 04:06:03