【问题标题】:How to make a discord bot reply what you have said?如何让不和谐的机器人回复你所说的?
【发布时间】:2020-06-20 13:34:42
【问题描述】:

我是编码新手,我想制作一个机器人,它可以在!say 命令之后说出你所说的任何内容。例如 - !say hello,机器人回复“你好”。

我尝试了什么:

let args = message.content.substring(PREFIX.length).split(" ");

if(message.content.startsWith(PREFIX + 'say')) {
    var say = args[1].join(" ");
    message.channel.send(say)
}

【问题讨论】:

    标签: javascript discord.js


    【解决方案1】:

    args 是一个字符串数组,所以args[1] 是一个字符串,因此没有函数join

    试试这个:

    const args = message.content.substring(PREFIX.length).split(' ')
    
    if (message.content.startsWith(PREFIX + 'say')) {
        const say = args[1]
        message.channel.send(say)
    }
    

    您可能想看看discord.js guide(其中有a section on handling command arguments)。

    【讨论】:

    • @JonasPetrėtis 不客气 - 请单击绿色勾号将此答案标记为已接受。这就是这个问题被标记为已回答的方式,其他人可以很容易地找到答案。 :)
    • 但是只获取 args[1] 这不是正确的方法,如果消息有超过 1 个世界,这将只重复第一个世界...
    • @Cipher 是的,那我该怎么办?它会回复 !say 之后的所有单词?
    • 作为变体拼接参数。 let say = args.splice(1, args.length -1).join(' ') 但在此之前需要进行一些检查,例如 if(args.length < 2) return
    猜你喜欢
    • 1970-01-01
    • 2021-09-17
    • 2020-09-01
    • 2021-03-05
    • 2021-11-15
    • 1970-01-01
    • 2021-01-05
    • 2021-09-06
    • 2021-06-13
    相关资源
    最近更新 更多