这是我在发布here的上一个问题中问过的同一个不和谐机器人,我想添加一个简单的骰子滚动功能,该功能不会占用多条消息,因此不会垃圾邮件我所在的服务器。
到目前为止,我已经有了骰子滚子本身的准系统代码:
if (message.content.toLowerCase().includes("rei!d100")) {
var response = [Math.floor(Math.random() * ((100 - 1) + 1) + 1)];
message.channel.send(response).then().catch(console.error);
}
到目前为止,它只是吐出一个数字
96
...对于这个机器人,我赋予了太多个性。我想要的是让它吐出的数字前后都有文字,就像这样。
You got... 96!
如果我将类似的代码放入代码中,它会产生部分相同的效果,但它确实很尴尬地发送了两条不同的消息,这不是我想要的。
if (message.content.toLowerCase().includes("rei!d100")) {
message.channel.send("You got...");
var response = [Math.floor(Math.random() * ((100 - 1) + 1) + 1)];
message.channel.send(response).then().catch(console.error);
}
感谢您对任何故障排除的帮助!谢谢!
答案 0 :(得分:0)
我认为您本质上是在问如何将字符串连接在一起。这是通过加号运算符完成的。如果任何操作数是字符串,它将所有变量都视为字符串:
if (message.content.toLowerCase().includes("rei!d100")) {
var response = [Math.floor(Math.random() * ((100 - 1) + 1) + 1)];
message.channel.send("You got... " + response + "!").then().catch(console.error); // "You got... 96!"
}
或者,您可以像这样使用模板参数(那些是反引号,而不是引号):
message.channel.send(`You got... ${response}!`);