我正在尝试为我的机器人制作一个表情符号跳跃系统。 但是除了创建频道外,我似乎什么也没用。
这意味着什么:
服务器所有者/ mod是要执行命令emojihop
并创建一个通道,然后在该通道中发布几秒钟后说此服务器已通过服务器邀请等跳入Emoji-Hopping Quest。是它只是创建通道,还是一遍又一遍地提到命令,它将创建更多通道。
我的代码:
if (command === "emojihop") {
const logChannel = client.channels.find('name', 'emoji-hop');
console.log(command)
if (!logChannel) {
const invite = message.guild.channels.find(c => c.type !== "category" && c.position === 0).createInvite({
maxAge: 0
});
message.guild.createChannel('emoji-hop', 'text')
.then(console.log)
.catch(console.error);
const logChannel = client.channels.find('name', 'emoji-hop');
let embed = new Discord.RichEmbed()
.setTimestamp()
.setTitle(`This Server Has Hopped In On The Emoji-Hopping.`)
.addField(`Server Name: `, `${message.guild.name}`)
.addField(`Server ID:`, `${message.guild.id}`)
.addField(`Server Owner:`, `${message.guild.owner}`)
.addField(`Server Invite:`, `https://discord.gg/${invite.code}`)
.setColor("RANDOM")
.setFooter("Emoji-Hopping Quest")
logChannel.send(embed)
} else {
message.channel.send("Channel Exists")
return;
}
}
答案 0 :(得分:0)
创建频道时,您必须更改一些内容。这是您应该拥有的:
message.guild.createChannel('emoji-hop', 'text')
.then(c=>{
c.send(richEmbedGoesHere)
})
.catch(err=>{
console.error(err)
});
有了它,它将在创建频道后立即发送。
对于您的其他问题,我想我知道您做错了。节点或不和谐状态将其更改为您无法再.find('name','emoji-hop')
执行的操作。你必须这样做
message.guild.channels.find(c=>c.name==="emoji-hop")
告诉我这是否有帮助! 祝你好运
Zaedus