You need to enable JavaScript to run this app. 如何在Discord.js机器人代码中修改mercyxrd.js配置的conf.perms.commands值
优惠活动
大模型
产品
解决方案
定价
更多

如何在Discord.js机器人代码中修改mercyxrd.js配置的conf.perms.commands值

实现方案

你通过require加载的mercyxrd.js配置是缓存在内存中的,直接修改conf对象的属性只会生效到程序重启为止,要持久化修改必须把新值写回原配置文件。

具体实现代码

直接把下方代码贴到你标注注释的位置即可,示例默认将conf.perms.commands下的registerAuth字段设置为刚拿到的角色ID,你可以根据自己的实际字段需求调整要修改的属性:

// 1. 先修改内存中的配置值,可根据你的字段结构自行调整
conf.perms.commands.registerAuth = rol.id;
// 如果是要给数组追加值可以用:conf.perms.commands.registerAuthList.push(rol.id)

// 2. 把修改后的配置写回mercyxrd.js文件
const configContent = `module.exports = ${JSON.stringify(conf, null, 2)}`;
fs.writeFile(require.resolve("../../mercyxrd.js"), configContent, (err) => {
  if(err) {
    console.error("配置写入失败:", err);
    return message.channel.send(embed.setDescription("配置更新失败,请检查控制台日志"));
  }
  // 清除模块缓存,下次require时会加载最新的配置
  delete require.cache[require.resolve("../../mercyxrd.js")];
});

注意事项

  • 如果你的mercyxrd.js中除了module.exports导出的配置对象外,还有其他业务逻辑、注释内容,上述直接覆写文件的方案会把这些内容全部清空,这种场景建议你单独把可修改的配置抽成JSON文件存储,读写更安全。
  • 抽成JSON的参考实现:把配置存到mercyxrd.json,读写代码可以改成:
// 加载JSON配置
const conf = require("../../mercyxrd.json");
// 修改后写回JSON
fs.writeFile(require.resolve("../../mercyxrd.json"), JSON.stringify(conf, null, 2), (err) => {
  // 回调逻辑同上
});

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.10 10:48:03