如何制作表情符号跳跃命令以发送参与服务器的邀请链接

时间:2018-08-14 13:38:35

标签: javascript discord discord.js

我正在尝试为我的机器人制作一个表情符号跳跃系统。 但是除了创建频道外,我似乎什么也没用。

这意味着什么:
服务器所有者/ 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;
  }
}

1 个答案:

答案 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