Discord bot专用频道消息验证

时间:2020-08-06 21:10:30

标签: javascript discord.js

我的discord机器人有问题,我创建了一个命令!memes,以显示Reddit中的随机模因,discord服务器中的通道模因和gif。问题是我希望我们只能在memes和gifs频道中键入此命令。我知道我必须执行if条件,并且必须获取通道ID,但是之后我不知道该怎么做。我是discoord.js的新手,所以有些事情我不知道。

我的代码:

const Discord = require('discord.js')
const randomPuppy = require('random-puppy')

module.exports = {
  run: async (message) => {
    const subReddits = ['dankmeme', 'meme', 'me_irl']
    const random = subReddits[Math.floor(Math.random() * subReddits.length)]

    const img = await randomPuppy(random)
    const embed = new Discord.MessageEmbed()
      .setColor('RANDOM')
      .setImage(`${img}`)
      .setTitle(`From /r/${random}`)
      .setURL(`https://reddit.com/r/${random}`)

    message.channel.send(embed)
  },
  name: 'memes', // Name of the command
}

1 个答案:

答案 0 :(得分:0)

首先,您需要获取频道的ID。如果找到显示获取频道ID的部分,则可以按照this link中的步骤进行操作。

然后,将此行添加到其所属位置

run: async (message) => {
  if(message.channel.id !== "thechannelidyoufoundpreviously") return;
  const subReddi.......

如果消息的通道ID与您想要的不匹配,基本上将要退出该功能。