从一个命令记录message.author并将其拉到另一个命令

我正在创建一个discord机器人,该机器人可以做用作应用程序的票证,并且我已经完成了大部分工作,只是当-close命令用于记录已关闭的票证时我想要该机器人。


我已经尝试了一些东西,比如调用。然后将消息发送给特定频道的记录频道被删除,然后调用另一个。然后,当它被除了它删除仍然会发送邮件说#deleted-channel。我尝试了几种方法,但无法弄清楚。


我尝试的另一种解决方案是在-apply命令中创建一个变量,该变量将记录创建消息的人的姓名,但是我意识到,在许多人使用该命令后,如果我尝试关闭该命令,它将记录最近申请人的姓名,而不是我正在关闭的应用程序


-应用命令


const reason = message.content.split(" ").slice(1).join(" ");

    var tAuthor = message.author.tag

    if (!message.guild.roles.exists("name", "[»] Helpers")) return message.channel.send(`Server does not have role set correctly., This error has been logged. \nPlease contact bot developer <@251557870603075586>`);

    if (message.guild.channels.exists("name", "t-staff-" + message.author.tag)) return message.reply(`You already have an application open.`);

    message.guild.createChannel(`t-staff-${message.author.tag}`, "text").then(c => {

        let role = message.guild.roles.find("name", `${config.role}`);

        let role2 = message.guild.roles.find("name", "@everyone");

        c.overwritePermissions(role, {

            SEND_MESSAGES: true,

            READ_MESSAGES: true

        });

        c.overwritePermissions(role2, {

            SEND_MESSAGES: false,

            READ_MESSAGES: false

        });

        c.overwritePermissions(message.author, {

            SEND_MESSAGES: true,

            READ_MESSAGES: true

        });

        c.setParent(message.guild.category.exists("name", "t-staff-"))

        message.reply(`:white_check_mark: Your application has been created, #${c.name}.`);

        const embed = new Discord.RichEmbed()

        .setColor(0xCF40FA)

        .setTitle(`Staff Application`)

        .setDescription(`<@${message.author.id}>`)

当我尝试.then在之前使用close命令中的函数记录此信息时


.then((collected) => {

                        message.channel.delete();

#deleted-channel即使我在删除通道之前发送命令,它仍然将消息发送到通道说。


慕容3067478
浏览 142回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript