我如何使用bot.关于模块内部的特性.出口文件



我开发了一种算法,当你在discord服务器的文本通道中输入"-nuke @tag"该成员将得到一个"静音"。角色及其id将被添加到数组中。如果他离开服务器并重新加入,机器人会将新成员的id与数组中的所有id进行比较,如果它们匹配,它会自动给那个人"Muted"的角色。问题是,机器人。On似乎不能在index.js以外的地方工作。我真的不想进入所有的事件处理程序和东西,只是为了让这个工作核弹。js

这个回答参考了我的评论。这将向您展示如何创建和访问全局映射。

首先,您需要通过想要使用的映射来扩展客户端类。你这样做。

const { Client } = require('discord.js');
module.exports = class extends Client {
constructor(config) {
super({});
this.muteIDs = new Map(); // you can name it whatever you like
this.config = config;
}
};

你应该在一个单独的文件中做。我们称这个文件为clientextend.js。现在您可以像往常一样创建您的bot客户机,但是您需要需要刚刚创建的文件。本例将扩展客户机的文件和在其中创建客户机的文件放在同一个目录中。注意:在您的示例中,您使用bot而不是client。

const Client = require('./clientextend.js')
const client = new Client();

您现在可以访问您在任何地方创建的地图,您可以使用您的客户端。您可以这样访问它。

muteIDs = client.muteIDs;

最新更新