如何使用Discord.py v2.0向Discord线程内发送消息
discord.py v2.0 向新建线程发送消息实现方案
create_thread() 方法执行后会返回新建线程对应的实例对象,你当前的代码没有接收这个返回值,因此无法直接对新建线程执行发消息操作。
实现逻辑
- 创建线程时用变量接收方法返回的线程实例
- 直接调用线程实例自带的
send()方法即可向线程内发送消息,调用规则和普通文本频道发消息完全一致。
完整示例代码
# 创建公共线程,将返回的线程实例赋值给变量 new_thread = await ctx.channel.create_thread( name="Thread", type=discord.ChannelType.public_thread ) # 向新建线程发送消息 await new_thread.send("线程创建成功,这是线程内的第一条消息")
补充说明
- 如果你需要基于某条已存在的消息创建关联线程,可以直接在消息对象上调用
create_thread(),这种场景下创建线程时会自动把原消息作为线程起始内容:# 基于当前触发指令的消息创建关联线程 new_thread = await ctx.message.create_thread(name="Thread") - 线程实例(
Thread类)支持普通文本频道的绝大多数操作,发送嵌入内容、上传文件、拉取历史消息等方法的调用规则和普通文本频道无差异。 - 请提前确认机器人账号在对应频道拥有
创建公共线程、发送消息权限,否则接口会抛出权限异常。
内容的提问来源于stack exchange,提问作者Shahrukh Abrar
相关产品推荐
相关产品推荐

