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

我的Discord机器人发送消息时总自动朗读,设置tts=False无效如何解决?

Discord机器人强制发送TTS消息解决方法

1. 排查全局事件钩子覆盖问题

单条指令内的tts=False参数不生效,最常见的原因是代码中存在全局的on_command、on_message事件监听器,这类监听器统一处理指令返回消息的发送逻辑时,默认携带了tts=True参数,优先级高于单条指令内的send配置。你可以全局搜索代码中所有send(调用,逐一检查是否有未显式指定tts=False的位置。

2. 修正指令内的send参数写法

确保所有指令的消息发送逻辑都显式携带tts参数,示例如下:

@client.command()
@cooldown(1,4,BucketType.user)
async def ping(ctx):
    await ctx.send(f'Current latency: **{round(client.latency * 1000)}** ms', tts=False)

3. 关闭机器人的TTS发送权限

你可以从服务器权限层面直接禁止机器人发送TTS消息,从根源解决问题:

  • 进入你的Discord服务器的「角色设置」,找到机器人对应的角色
  • 关闭角色权限中的「发送TTS消息」选项
  • 同时可以进入Discord开发者门户的机器人应用配置页,确认没有开启和TTS相关的特殊配置项

4. 升级discord.py库版本

旧版本的discord.py v1.x存在已知的tts参数不生效bug,你可以执行以下命令升级到最新稳定版:
pip install -U discord.py


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 16:09:03