好吧,这很可能有一个非常简单的答案,但我在网上找不到相同的东西,也无法根据自己的想法解决。
所以在用于响应前缀的参数中,我有这个:
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短语)。
找到了解决该问题的方法,而不是发送参数或减去文本,而是使用了replace命令。
case 'say':
let saymsg = message.content
message.channel.send(saymsg.replace("c!say",""))
message.delete(1)
break;
我不敢相信我不记得世界早日取代,但这就是它,它起作用了。