首页 > 解决方案 > 制作不和谐机器人(js)回显消息,但从消息中删除命令?

问题描述

所以我最终想要的是:

用户:“*cmd你好”

机器人:“你好”

我尝试替换它,搜索了不同的方法来编辑它,但到目前为止没有任何效果。

    if (receivedMessage.content.includes("*cmd")) {
    receivedMessage.content.replace('*cmd', ' ');
    receivedMessage.channel.send(receivedMessage.content);
    receivedMessage.channel.send("s/*cmd/-");
}    

(^发现您可以通过键入 s/oldtext/newtext 来编辑内容,但遗憾的是它似乎不适用于机器人。替换也不起作用。)

    if (receivedMessage.content.includes("*cmd")) {
    receivedMessage.channel.send(receivedMessage.content.text(text.replace('*cmd', ' '))); 
}    

(我尝试了更多的东西,但是当它不起作用时我将其删除,无论如何我认为它没有帮助)

我真的很感激一些帮助!

标签: node.jsbotsdiscord.js

解决方案


string.replace() 返回一个字符串。
因此,"This is a test".replace("This is a ", "")将返回“测试”。

console.log("This is a test".replace("This is a ", ""));

考虑到这一点,这就是您需要使用的:

receivedMessage.channel.send(receivedMessage.content.replace('*cmd', ''));

推荐阅读