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

Discord.JS v14.14.1:编辑DM消息遇错误,求按钮禁用方案

DM消息编辑组件报错的解决方案

错误根源

Discord私信(DM)不支持任何交互组件(按钮、ActionRow这类都不行),只有服务器内的消息才能使用组件功能。你试图在DM消息里编辑添加按钮,触发了Discord API的限制,所以报错。

可行的替代方案

既然DM里用不了按钮,要实现「提交后禁用操作」的需求,可以改成编辑消息内容来提示用户:

示例代码1:直接替换为提交成功提示

await i.message.edit({ 
    content: "✅ 提交成功!",
    components: [] // 清空原组件(如果有的话)
});

示例代码2:保留原内容并追加提示

await i.message.edit({
    content: `${i.message.content}\n\n✅ 已提交,无法重复操作`,
    components: []
});

额外提示

如果你的功能必须用到交互组件,建议引导用户到服务器内的指定频道操作——毕竟Discord的DM环境从设计上就不支持任何交互组件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 13:15:55