Stack Overflow на русском Asked by Infiniflame on December 23, 2021
Я хочу сделать в своём боте типо что-то калькулятора. Пишешь в чат !сложи [число] [число] и должно вывести: “Получается: [ответ]”
Вот мой нерабочий код:
case "сложи":
message.channel.sendMessage("Пока не умею :с")
if (args>args[2]) {
message.channel.sendMessage("Алло, как я тебе поделю не 2 значения?")
}
if (args==args[2]) {
var numbers = message.content.split(" ")
var number = numbers.numbers.split(" ")
var plus = number[0] + number[1]
message.channel.sendMessage("Получается:") (plus)
}
misatch = /[, .?]/
///////////////////
bot.on(`message`, msg => {
var array = msg.content.split( misatch, 100);
//разделяет строку msg.content на слова, разделитель - регулярное выражение, содержащее и пробел
if (array[0] == "сложи") {
var firstnum = Number(array[1]); //первое число сразу после "сложи"
var secnum = Number(array[2]); //второе число после первого
//Да, тут явное преобразование, но ошибка сразу
//пойдёт в catch()
var sum = firstnum + secnum;
if (isNaN(sum)) {
msg.channel.send("Сумма чисел: " + sum);
}
if (!isNaN(sum)) {
msg.channel.send("В математике можно складывать только числа!");
}
}
});
Answered by Asahix on December 23, 2021
case "сложи":
let number1 = args[1].split(/ +/g);
let number2 = args[2].split(/ +/g);
var plus = number1 + number2
message.channel.send("Получается: " + plus)
Вот более менее правильное решение. Советую прочитать разные статьи о примерах и решениях в ботах. Вот к примеру одно из них: https://anidiots.guide
Answered by Jengas on December 23, 2021
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP