我正在创建一个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即使我在删除通道之前发送命令,它仍然将消息发送到通道说。
相关分类