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

如何让Discord机器人在用户使用建议命令时自动给开发者发送DM

实现方案

你只需要补充获取开发者用户对象、发送DM的逻辑即可,操作步骤如下:

  1. 先获取你自己的Discord数字用户ID,替换代码中的占位符
  2. 确保你开启了允许服务器成员发送DM,或者已经加机器人为好友,避免机器人发消息被拦截

完整补全后代码

const suggestsomething = new Discord.MessageEmbed()
         .setAuthor(message.author.tag, message.author.displayAvatarURL({ dynamic: true }))
         .setColor(message.guild.me.displayColor)
         .setDescription("Suggest something don't leave it empty.")
         .setTimestamp()
if(!args[0]) return message.channel.send(suggestsomething)
const suggestion = args.join(" ");

// 新增代码开始
const DEVELOPER_USER_ID = "替换为你自己的Discord用户ID";
// 构造要发送给开发者的建议Embed
const devSuggestEmbed = new Discord.MessageEmbed()
  .setTitle("用户提交的新建议")
  .setAuthor(message.author.tag, message.author.displayAvatarURL({ dynamic: true }))
  .setDescription(suggestion)
  .addField("用户ID", message.author.id)
  .addField("来源服务器", message.guild?.name || "私信渠道")
  .setColor("#5865F2")
  .setTimestamp()

// 拉取开发者用户对象并发送DM
client.users.fetch(DEVELOPER_USER_ID)
  .then(devUser => devUser.send({ embeds: [devSuggestEmbed] }))
  .then(() => {
    // 给提交用户返回成功提示
    const successTip = new Discord.MessageEmbed()
      .setColor(message.guild.me.displayColor)
      .setDescription("✅ 你的建议已成功提交给开发者,感谢反馈!")
      .setTimestamp()
    message.channel.send(successTip)
  })
  .catch(err => {
    console.error("建议发送失败:", err)
    const failTip = new Discord.MessageEmbed()
      .setColor("#ED4245")
      .setDescription("❌ 建议提交失败,请稍后重试")
      .setTimestamp()
    message.channel.send(failTip)
  })
// 新增代码结束

版本适配说明

如果你使用的是 discord.js v14 及以上版本,需要将所有的Discord.MessageEmbed替换为Discord.EmbedBuilder,其余逻辑保持一致即可。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 09:48:04