node.js - 制作不和谐机器人(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', ' ')));
}
(我尝试了更多的东西,但是当它不起作用时我将其删除,无论如何我认为它没有帮助)
我真的很感激一些帮助!
解决方案
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', ''));
推荐阅读
- python - 通过依赖管道处理 Dataflow/Apache Beam 中的拒绝
- c# - 如何在 ASP.NET 中将值从 Web 表单传递到另一个?
- javascript - Bootstap 4 数据表列标题未在 tbody 中对齐
- javascript - “错误:21211 'To' 号码不是有效的电话号码”,Twilio 使用 Node.js
- django - 了解视图以将用户添加到 Django 组
- php - Laravel如何在调用api时删除整个应用程序?
- c++ - 默认赋值运算符的值类别 - 左值还是右值?(clang vs gcc)
- node.js - 尝试实现 socket.io 通信时收到 GET 400。Node.js、ELB、Route 53、CloudFront 和 s3
- scala - 将 Hocon 配置读取为 Map[String, String],其中键为点符号和值
- javascript - 无法解析 webpack 中的 node_modules