您如何从单独的命令模块访问主要的 Discord“.js”

Posted

技术标签:

【中文标题】您如何从单独的命令模块访问主要的 Discord“.js”【英文标题】:How do you access main Discord ".js" from seperate command modules 【发布时间】:2020-08-28 23:06:08 【问题描述】:

我想制作一个 Discord Bot,我对 Node.js 的了解非常少,我想知道如何从单独的 bot 的主 index.js 文件中访问变量和对象以及任何数据类型命令模块文件(具有module.exports=... 的文件)。 我希望能够访问这些数据,以便每当我更改模块中某些内容的值时,它会在主.js 中更改以从另一个模块访问新信息。 代码对于答案来说并不是真正必要的(但仍然是首选),我正在“理论上”看待这个

【问题讨论】:

【参考方案1】:

所以,假设您在index.js 中有这样的代码:

const x = 'foo';
const y = 'bar';

require('./sub.js');

sub.js 中,您有以下内容:

console.log(x);
console.log(y);

控制台日志将失败,因为 xy 未定义。您必须像这样修改index.js 文件:

global.x = 'foo';
global.y = 'bar';

require('./sub.js');

通过此修改,xy 变量现在可以从任何模块或文件访问。另一种更改索引的方法是:

const x = 'foo';
const y = 'bar';

global.x = x;
global.y = y;

require('./sub.js');

在这种情况下,我们将预先存在的变量添加到全局变量,而不是编辑定义它们的行。这样一来,您就可以在代码末尾添加类似这样的内容,以获取您在全局中需要的任何变量。

【讨论】:

以上是关于您如何从单独的命令模块访问主要的 Discord“.js”的主要内容,如果未能解决你的问题,请参考以下文章

Discord 如何连接到特定进程的音频?

Discord bot 从用户消息中获取照片

如何访问discord.py中的哪个语音通道用户写入命令?

我如何在 Discord.py 中创建一个您 @ 用户的命令并给该用户一个拥抱

如何要求用户向 Discord Bot 输入第二个输入?

如何从 .json 文件 discord.py 中获取信息