TransWikia.com

Калькулятор discord.js

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)
    }

2 Answers

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

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP