使用interactions.py向Discord指定频道发消息时遇关键字报错
解决interactions.py指定频道发送消息的问题
ctx.send()方法并不支持channel关键字参数,这就是你报错的原因。要向特定频道发送消息,正确的做法是先获取目标频道的对象,再调用该对象的send()方法。
具体步骤:
获取目标频道对象
- 如果频道在机器人缓存中,使用
bot.get_channel(频道ID)(bot是你的机器人实例) - 如果频道不在缓存中,使用异步方法
await bot.fetch_channel(频道ID)
- 如果频道在机器人缓存中,使用
发送嵌入消息
获取到频道对象后,调用其send()方法传入嵌入消息即可。
示例代码:
# 假设bot是你的机器人实例 target_channel = bot.get_channel(1096927294087516322) # 若频道不在缓存,替换为: # target_channel = await bot.fetch_channel(1096927294087516322) if target_channel: await target_channel.send(embeds=embeds1[1]) else: print("未找到目标频道,请检查频道ID是否正确或机器人是否有权限访问该频道")
注意事项:
- 确保机器人拥有目标频道的发送消息权限
ctx.send()仅用于回复当前交互所在的频道,无法指定其他频道
内容的提问来源于stack exchange,提问作者LINEST
相关产品推荐
相关产品推荐

