Как мне создать команду оплаты с помощью модуля npm discord-money?

#javascript #discord

#javascript #Discord

Вопрос:

Итак, я создаю валютную систему для Project Star, сервера discord, я создал своего собственного бота и начал его кодировать. Мне нужна была команда оплаты, поэтому я попытался ее создать. Вот мой код.

     
    if(user === message.author) {
      return message.channel.send("You cannot pay yourself!")
    }
    
    money.updateBal(message.author.id, -wanted).then((i) => {
      message.channel.send(`Processing...`);
    })
    
      if(wanted > moneyBal) {
        message.channel.send("Error: Insufficient Funds")
      } else if(wanted < moneyBal) {
        money.updateBal(user.id, wanted).then((i) => {
          message.channel.send(`Transaction Completed with $${wanted} Sent.`);
        })
      } 
  

Когда я набираю команду c!pay, она отвечает на обработку… и после этого не отправляет сообщение. Если я отправлю больше, чем у меня есть, это сделает то же самое, но мой баланс изменится на -. Например. c!pay @therealgamer1: 6, мой баланс равен -1. Однако он отправляет деньги. Даже если у меня нет суммы. Как мне исправить это, чтобы, если вы хотите заплатить больше, чем у вас есть, отображалась ошибка?

Комментарии:

1. Это может не решить вашу проблему напрямую, но похоже, что вы выполняете updateBal перед проверкой остатков, если проверка не находится внутри money . Похоже, вам следует добавить else в конце ваших условий и переместить этот блок. Я замечаю, что также нет ограждения, транзакций и т. Д., Поэтому пользователь, отправляющий деньги, может очень быстро отправить 2 запроса и иметь возможность отправлять деньги, которых у них на самом деле может не быть.

2. Итак, можете ли вы сказать код, как я должен это сделать? Я не знаю, как это исправить.