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

Discord.js 如何实现reportissue命令将用户上报问题发送至管理员或指定频道

上报功能实现方案

这个功能可以直接实现,核心逻辑是捕获用户输入的上报内容,自动推送到预设的接收渠道,以下是完整修改后的代码及说明:

原代码问题修正

原有配置中要求触发指令的用户拥有ADMINISTRATOR(管理员)权限,会导致普通用户无法使用上报功能,需要先移除该权限限制。

完整可运行代码

module.exports = {
  name: "reportissue",
  description: "上报你遇到的机器人使用问题",
  permissions: {
    channel: ["VIEW_CHANNEL", "SEND_MESSAGES", "EMBED_LINKS"],
    // 移除member权限限制,允许所有用户触发上报
    member: [],
  },
  aliases: ["report", "issue"],
  run: async (client, message, args, { GuildDB }) => {
    // 1. 校验用户是否输入了上报内容
    const reportContent = args.join(' ').trim();
    if (!reportContent) {
      return message.reply('请输入你要上报的问题内容,格式为 `#report 具体问题`');
    }

    // 2. 配置接收上报的渠道,二选一即可
    // 方案A:推送到指定服务器频道,把下面的ID替换为你自己的接收频道ID
    const receiveChannel = await client.channels.fetch('你的接收上报频道ID');
    // 方案B:直接推送给管理员私信,把下面的ID替换为管理员的用户ID
    // const receiveChannel = await client.users.fetch('你的管理员用户ID');

    // 3. 构造上报消息(嵌入消息格式更清晰)
    const reportEmbed = {
      color: 0xff0000,
      title: '新的用户问题上报',
      fields: [
        {
          name: '上报用户',
          value: `${message.author.tag} (ID: ${message.author.id})`,
          inline: true
        },
        {
          name: '所属服务器',
          value: `${message.guild.name} (ID: ${message.guild.id})`,
          inline: true
        },
        {
          name: '上报时间',
          value: new Date().toLocaleString('zh-CN'),
          inline: false
        },
        {
          name: '问题内容',
          value: reportContent,
          inline: false
        }
      ]
    };

    // 4. 发送上报内容
    await receiveChannel.send({ embeds: [reportEmbed] });
    // 5. 给用户反馈上报结果
    await message.reply('你的问题已经成功上报给管理员,我们会尽快处理~');
  }
}

注意事项

  • 替换代码中的ID前,需要先开启Discord的开发者模式才能复制频道/用户ID
  • 如果需要匿名上报,删除上报消息里的上报用户字段即可
  • 要确保机器人拥有接收频道的「发送消息」「发送嵌入消息」权限,或可以向管理员发送私信的权限

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 11:30:05