我的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
}
答案 0 :(得分:0)
首先,您需要获取频道的ID。如果找到显示获取频道ID的部分,则可以按照this link中的步骤进行操作。
然后,将此行添加到其所属位置
run: async (message) => {
if(message.channel.id !== "thechannelidyoufoundpreviously") return;
const subReddi.......
如果消息的通道ID与您想要的不匹配,基本上将要退出该功能。