Javascript 使用MongoDB重新启动后,如何使我的discord bot反应正常工作?

Javascript 使用MongoDB重新启动后,如何使我的discord bot反应正常工作?,javascript,discord,discord.js,Javascript,Discord,Discord.js,我已经发出了一个命令,发送一条嵌入消息,并添加了一些反应,当单击“给予/删除用户角色”时,一切都正常,但在机器人重新启动后,这些反应不再正常。 我正在使用MongoDB,我是新手,我对使用MongoDB不太了解,我也在使用compass应用程序。 现在,我想以某种方式使它与数据库一起工作,这样即使在重新启动之后,反应也能正常工作。 (注:如果可能,无需使用db)。 我还有一个类似于票证的命令,我也有同样的问题 我当前的代码: const { MessageEmbed } = requir

我已经发出了一个命令,发送一条嵌入消息,并添加了一些反应,当单击“给予/删除用户角色”时,一切都正常,但在机器人重新启动后,这些反应不再正常。 我正在使用MongoDB,我是新手,我对使用MongoDB不太了解,我也在使用compass应用程序。 现在,我想以某种方式使它与数据库一起工作,这样即使在重新启动之后,反应也能正常工作。 (注:如果可能,无需使用db)。 我还有一个类似于票证的命令,我也有同样的问题

我当前的代码:

    const { MessageEmbed } = require('discord.js');

module.exports = {
    name: 'dev-roles',
    description: "Sets up a reaction role message.",
    async execute(message, args, Discord, client) {
        if(message.member.permissions.has("ADMINISTRATOR")){
        const channel = '835948463270264853';
        const JavaScript = message.guild.roles.cache.find(role => role.name === "JavaScript");
        const Java = message.guild.roles.cache.find(role => role.name === "Java");
        const HTML = message.guild.roles.cache.find(role => role.name === "HTML");
        const CSS = message.guild.roles.cache.find(role => role.name === "CSS");
        const Python = message.guild.roles.cache.find(role => role.name === "Python");
        const PHP = message.guild.roles.cache.find(role => role.name === "PHP");
        const Chash = message.guild.roles.cache.find(role => role.name === "C#");
        const Cpp = message.guild.roles.cache.find(role => role.name === "C++");
        const C = message.guild.roles.cache.find(role => role.name === "C");
 
        const JavaScriptEmoji = '1️⃣';
        const JavaEmoji = '2️⃣';
        const HTMLEmoji = '3️⃣';
        const CSSEmoji = '4️⃣';
        const PythonEmoji = '5️⃣';
        const PHPEmoji = '6️⃣';
        const ChashEmoji = '7️⃣';
        const CppEmoji = '8️⃣';
        const CEmoji = '9️⃣';
 
        let embed = new Discord.MessageEmbed()
            .setColor('#b3e5fc') //#e42643
            .setTitle('DEVELOPER ROLES')
            .setDescription('**ARE YOU A DEV?**\nIf yes, chose the coding languages you know!\nYou will be given acces to coding channels, where you can chat with oher developes, get some help with coding or just help others.\n\n**Note:**\nIf you are not a developer, please **do not** get these roles.\nIf you do so, you may be temporarely / permenantly baned from our server or using our bot.\n\n'
                + `**Reaction Roles:**\n`
                + `${JavaScriptEmoji} - for \`JavaScript\` - <@&834764911103180800>\n`
                + `${JavaEmoji} - for \`Java\` - <@&834764911124414464>\n`
                + `${HTMLEmoji} - for \`HTML\` - <@&834802358525362177>\n`
                + `${CSSEmoji} - for \`CSS\` - <@&834802359674601552>\n`
                + `${PythonEmoji} - for \`Python\` - <@&834764908054577183>\n`
                + `${PHPEmoji} - for \`PHP\` - <@&834802358071722024>\n`
                + `${ChashEmoji} - for \`C#\` - <@&834764911137128474>\n`
                + `${CppEmoji} - for \`C++\`\ - <@&834764911153643520>\n`
                + `${CEmoji} - for \`C\` - <@&834802357929377793>\n`);

        let messageEmbed = await message.channel.send(embed);
        messageEmbed.react(JavaScriptEmoji);
        messageEmbed.react(JavaEmoji);
        messageEmbed.react(HTMLEmoji);
        messageEmbed.react(CSSEmoji);
        messageEmbed.react(PythonEmoji);
        messageEmbed.react(PHPEmoji);
        messageEmbed.react(ChashEmoji);
        messageEmbed.react(CppEmoji);
        messageEmbed.react(CEmoji);
 
        client.on('messageReactionAdd', async (reaction, user) => {
            if (reaction.message.partial) await reaction.message.fetch();
            if (reaction.partial) await reaction.fetch();
            if (user.bot) return;
            if (!reaction.message.guild) return;
 
            if (reaction.message.channel.id == channel) {

                if (reaction.emoji.name === JavaScriptEmoji) {
                    await reaction.message.guild.members.cache.get(user.id).roles.add(JavaScript);
                }
                if (reaction.emoji.name === JavaEmoji) {
                    await reaction.message.guild.members.cache.get(user.id).roles.add(Java);
                }
                if (reaction.emoji.name === HTMLEmoji) {
                    await reaction.message.guild.members.cache.get(user.id).roles.add(HTML);
                }
                if (reaction.emoji.name === CSSEmoji) {
                    await reaction.message.guild.members.cache.get(user.id).roles.add(CSS);
                }
                if (reaction.emoji.name === PythonEmoji) {
                    await reaction.message.guild.members.cache.get(user.id).roles.add(Python);
                }
                if (reaction.emoji.name === PHPEmoji) {
                    await reaction.message.guild.members.cache.get(user.id).roles.add(PHP);
                }
                if (reaction.emoji.name === ChashEmoji) {
                    await reaction.message.guild.members.cache.get(user.id).roles.add(Chash);
                }
                if (reaction.emoji.name === CppEmoji) {
                    await reaction.message.guild.members.cache.get(user.id).roles.add(Cpp);
                }
                if (reaction.emoji.name === CEmoji) {
                    await reaction.message.guild.members.cache.get(user.id).roles.add(C);
                }
            } else {
                return;
            }
 
        });
 
        client.on('messageReactionRemove', async (reaction, user) => {
 
            if (reaction.message.partial) await reaction.message.fetch();
            if (reaction.partial) await reaction.fetch();
            if (user.bot) return;
            if (!reaction.message.guild) return;
 
 
            if (reaction.message.channel.id == channel) {

                if (reaction.emoji.name === JavaScriptEmoji) {
                    await reaction.message.guild.members.cache.get(user.id).roles.remove(JavaScript);
                }
                if (reaction.emoji.name === JavaEmoji) {
                    await reaction.message.guild.members.cache.get(user.id).roles.remove(Java);
                }
                if (reaction.emoji.name === HTMLEmoji) {
                    await reaction.message.guild.members.cache.get(user.id).roles.remove(HTML);
                }
                if (reaction.emoji.name === CSSEmoji) {
                    await reaction.message.guild.members.cache.get(user.id).roles.remove(CSS);
                }
                if (reaction.emoji.name === PythonEmoji) {
                    await reaction.message.guild.members.cache.get(user.id).roles.remove(Python);
                }
                if (reaction.emoji.name === PHPEmoji) {
                    await reaction.message.guild.members.cache.get(user.id).roles.remove(PHP);
                }
                if (reaction.emoji.name === ChashEmoji) {
                    await reaction.message.guild.members.cache.get(user.id).roles.remove(Chash);
                }
                if (reaction.emoji.name === CppEmoji) {
                    await reaction.message.guild.members.cache.get(user.id).roles.remove(Cpp);
                }
                if (reaction.emoji.name === CEmoji) {
                    await reaction.message.guild.members.cache.get(user.id).roles.remove(C);
                }
            } else {
                return;
            }
        });
    }
}
 
}   
const{MessageEmbed}=require('discord.js');
module.exports={
名称:“开发人员角色”,
描述:“设置反应角色消息。”,
异步执行(消息、参数、不一致、客户端){
if(message.member.permissions.has(“管理员”)){
常量通道='835948463270264853';
const JavaScript=message.guild.roles.cache.find(role=>role.name==“JavaScript”);
const Java=message.guild.roles.cache.find(role=>role.name==“Java”);
const HTML=message.guild.roles.cache.find(role=>role.name==“HTML”);
const CSS=message.guild.roles.cache.find(role=>role.name==“CSS”);
constpython=message.guild.roles.cache.find(role=>role.name==“Python”);
const PHP=message.guild.roles.cache.find(role=>role.name==“PHP”);
const Chash=message.guild.roles.cache.find(role=>role.name==“C#”);
const Cpp=message.guild.roles.cache.find(role=>role.name==“C++”);
const C=message.guild.roles.cache.find(role=>role.name==“C”);
const JavaScriptEmoji='1️⃣';
常量JavaEmoji='2️⃣';
常量HTMLEmoji='3️⃣';
const CSSEmoji='4️⃣';
const PythonEmoji='5️⃣';
常数PHPEmoji='6️⃣';
const ChashEmoji='7️⃣';
const CppEmoji='8️⃣';
常数CEmoji='9️⃣';
let embed=new Discord.MessageEmbed()
.setColor('#b3e5fc')/#e42643
.setTitle(“开发人员角色”)
.setDescription(“**您是开发人员吗?**\n如果是,请选择您知道的编码语言!\n您将获得编码频道的访问权限,在那里您可以与其他开发人员聊天,获得编码方面的帮助或只是帮助他人。\n\n**注:**\n如果您不是开发人员,请**不要**获得这些角色。\n如果您这样做,您可能暂时/永久地被我们的服务器禁用或者使用我们的机器人。\n\n'
+`**反应角色:*\n`
+`${JavaScriptEmoji}-for\`JavaScript\`-\n`
+`${JavaEmoji}-for\`Java\`-\n`
+`${HTMLEmoji}-for\`HTML\`-\n`
+`${CSSEmoji}-for\`CSS\`-\n`
+`${PythonEmoji}-for\`Python\`-\n`
+`${PHPEmoji}-for\`PHP\`-\n`
+`${ChashEmoji}-代表\'C\\`-\n`
+`${CppEmoji}-用于\`C++\`-\n`
+`${CEmoji}-代表\'C\`-\n`);
let messageEmbed=等待message.channel.send(嵌入);
messageEmbed.react(JavaScriptEmoji);
messageEmbed.react(JavaEmoji);
messageEmbed.react(HTMLEmoji);
messageEmbed.react(CSSEmoji);
messageEmbed.react(PythonEmoji);
messageEmbed.react(PHPEmoji);
messageEmbed.react(ChashEmoji);
messageEmbed.react(CppEmoji);
messageEmbed.react(CEmoji);
client.on('messageReactionAdd',异步(反应,用户)=>{
if(reaction.message.partial)等待reaction.message.fetch();
if(reaction.partial)等待reaction.fetch();
if(user.bot)返回;
如果(!reaction.message.guild)返回;
if(reaction.message.channel.id==通道){
if(reaction.emoji.name==JavaScriptEmoji){
等待反应.message.guild.members.cache.get(user.id).roles.add(JavaScript);
}
if(reaction.emoji.name==JavaEmoji){
等待反应.message.guild.members.cache.get(user.id).roles.add(Java);
}
if(reaction.emoji.name==HTMLEmoji){
等待反应。message.guild.members.cache.get(user.id)。roles.add(HTML);
}
if(reaction.emoji.name==CSSEmoji){
等待反应。message.guild.members.cache.get(user.id)。roles.add(CSS);
}
if(reaction.emoji.name==PythonEmoji){
等待反应.message.guild.members.cache.get(user.id).roles.add(Python);
}
if(reaction.emoji.name==PHPEmoji){
等待反应.message.guild.members.cache.get(user.id).roles.add(PHP);
}
if(reaction.emoji.name==ChashEmoji){
等待反应。message.guild.members.cache.get(user.id)。roles.add(Chash);
}
if(reaction.emoji.name==CppEmoji){
等待反应。message.guild.members.cache.get(user.id)。roles.add(Cpp);
}
if(reaction.emoji.name==CEmoji){
等待反应。message.guild.members.cache.get(user.id)。roles.add(C);
}
}否则{
返回;
}
});
client.on('messageReactionRemove',异步(反应,用户)=>{
if(reaction.message.partial)等待reaction.message.fetch();
if(reaction.partial)等待reaction.fetch();
if(user.bot)返回;
如果(!reaction.message.guild)返回;
if(reaction.message.channel.id==通道){
if(reaction.emoji.name==JavaScriptEmoji){
等待反应.message.guild.members.cache.get(user.id).roles.remove(JavaScript);
}
如果(反应)