如何使discord.js机器人在不包含前缀和命令名称的情况下重复用户的消息?

问题描述 投票:2回答:1

好吧,这很可能有一个非常简单的答案,但我在网上找不到相同的东西,也无法根据自己的想法解决。

所以在用于响应前缀的参数中,我有这个:

case 'say':
   const usermsg = message.content
   message.channel.send(usermsg)
break;

由于是全部内容,它也会发出c!say响应,然后触发自身。但是触发不是问题,我希望消息中不包含c!say。 (我知道我不需要const,我只想在单独的一行中尝试不同的东西组合)

更新:

所以我找到了使用参数部分的第二种方法,如下所示:

        case 'say':
                message.channel.send(args[1])
                message.delete(1)
            break;

所以这满足了我的要求,但仅适用于第二个参数,这意味着它不能使用超过1个单词。因此,我目前的想法是从message.content中减去args [0](c!say短语)。

discord.js
1个回答
0
投票

找到了解决该问题的方法,而不是发送参数或减去文本,而是使用了replace命令。

            case 'say':
                let saymsg = message.content
                message.channel.send(saymsg.replace("c!say",""))
                message.delete(1)
            break;

我不敢相信我不记得世界早日取代,但这就是它,它起作用了。

© www.soinside.com 2019 - 2024. All rights reserved.