Javascript 我的discord.js bot发送多个gif,而不是一个。我该如何解决这个问题?

Javascript 我的discord.js bot发送多个gif,而不是一个。我该如何解决这个问题?,javascript,discord,discord.js,giphy-api,Javascript,Discord,Discord.js,Giphy Api,我试图在我的discord机器人上执行此命令,它使用giphy api发送一个随机kirby gif。但是,我只希望它发送一个,但它发送多个。 代码如下: client.on('message', message => { if (message.content === 'k!gif') giphy.search('gifs', {"q": "kirby"}) .then((response) => {

我试图在我的discord机器人上执行此命令,它使用giphy api发送一个随机kirby gif。但是,我只希望它发送一个,但它发送多个。 代码如下:

client.on('message', message => {
    if (message.content === 'k!gif')

    giphy.search('gifs', {"q": "kirby"})
    .then((response) => {
        var totalResponses = response.data.length
        var responseIndex = Math.floor((Math.random() * 10) + 1) % totalResponses;
        var responseFinal = response.data[responseIndex]

        message.channel.send("We stan kirby gifs", {
            files: [responseFinal.images.fixed_height.url]
        })
    }).catch(() => {
        message.channel.send('Kirby has run into a roadblock and was unable to complete his task.');
    })

})

谢谢你的帮助

您使用了
if(message.content=='k!gif')
而没有打开任何大括号,因此您需要做的是将所有代码都包含在该if中。

正如@Giuiopime突出显示的那样,您对该命令没有任何要求。因此,每次发送消息时,都会执行当前代码并发送gif。一旦这个消息被发送,一个新的消息被bot捕获,并且这个过程一次又一次地继续

确保在if中附加当前代码,并验证播放器不是bot。此代码可能有效。我没有测试过

client.on('message',message=>{
if(message.author.bot)返回;
如果(message.content=='k!gif'){
search('gifs',{“q”:“kirby”})。然后((响应)=>{
var totalResponses=response.data.length
var responseIndex=数学地板((数学随机()*10)+1)%totalResponses;
var responseFinal=response.data[responseIndex]
message.channel.send(“我们斯坦·柯比·吉布斯”{
文件:[responseFinal.images.fixed_height.url]
})
}).catch(()=>{
message.channel.send('科比遇到了路障,无法完成任务');
})
}
})