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
相关产品推荐
相关产品推荐

