我有一个大错误。一切正常!但是该漫游器会创建两个而不是一个通道。这是为什么?我一直在努力为自己解决。但是我找不到错误。
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.guild.id !== "601109434197868574") return;
if (reaction.emoji.name === "?") {
if (reaction.message.channel.id === "732018576604528640");
const channelName = `•┇ticket-${user.username}`
if(reaction.message.guild.channels.cache.find(channel => channel === `•┇ticket-${user.username}`)){
return user.send("Du hast bereits ein offnes Ticket!")
}
reaction.message.guild.channels.create(channelName, {parent: '731947024932667432', topic: `Ticket Owner: ${user}`}).then(c => {
const everyone = reaction.message.guild.roles.cache.find(role => role.name === '@everyone')
const sr = reaction.message.guild.roles.cache.find(role => role.name === 'ticketsuppport')
c.updateOverwrite(sr, {
SEND_MESSAGES: true,
VIEW_CHANNEL: true,
});
c.updateOverwrite(everyone, {
SEND_MESSAGES: false,
VIEW_CHANNEL: false,
});
c.updateOverwrite(user, {
SEND_MESSAGES: true,
VIEW_CHANNEL: true,
});
let GreetEmbed = new Discord.MessageEmbed()
.setColor(colours.maincolour)
.setDescription(`> Guten Tag, ${user}!\n> \n> Du hast nun ein Support-Ticket erstellt. Wie können wir dir helfen?\n> \n> \? Ticket schließen | \? Weitere hilfe anfordern`)
.setFooter(`Ticket erstellt`)
.setTimestamp()
c.send(GreetEmbed)
let ping = c.send(`${user}`).then(message => {
message.delete(ping)
})
})
}```
答案 0 :(得分:1)
您最有可能正在运行该机器人的两个实例。
要验证这一点,您可以更改代码(例如在创建频道时修改其发送的消息)。如果两个通道都进行了修改,则我错了xD。如果没有,您需要找到第二个机器人在哪里运行(单独的服务器,最小化的窗口等)。
答案 1 :(得分:0)
if (reaction.message.guild.channels.cache.find(channel => channel.name === channelName)) {
return user.send("Du hast bereits ein offenes Ticket!")
}
我认为您忘记了channel.name
,因为否则它会过滤通道对象,该对象永远不会与字符串相同,并且在整个过程中都不会返回。 (顺便说一句,还有一个offnes
的错字)