Ошибка типа: невозможно прочитать свойство 'findOne' из неопределенного.Discord.JS Bot - PullRequest
0 голосов
/ 21 апреля 2019

Я пытался настроить валютную систему, но при попытке использовать Money.findOne просто выводит

TypeError: Невозможно прочитать свойство 'findOne' из неопределенного

Я изменил его с запуска кода каждый раз, когда команда вызывается только один раз, так как это выводило ошибки

const { Command } = require('discord.js-commando');
const { RichEmbed } = require('discord.js');
const mongoose = require('mongoose');

mongoose.connect('mongodb://localhost:27017/bot', {useNewUrlParser: true});
var Schema = new mongoose.Schema({
  userid: String,
  serverid: String,
  balance: Number,
});

var {Money} = mongoose.model("balances", Schema);

module.exports = class balance extends Command {
  constructor(client) {
    super(client, {
      name: 'balance',
      group: 'gambling',
      memberName: 'balance',
      description: 'Shows your balance.',
      clientPermissions: ['MANAGE_CHANNELS'],
      examples: ['balance'],
    });
  }

  run(message){
    var uid = message.author.id;
    var sid = message.guild.id;

    Money.findOne({ userid: uid, serverid: sid }, function (err, adventure) {
      if(err) console.log(err);
      if(!balance){
        var input = new Money({
          userid: uid,
          serverid: sid,
          balance: 1000,
        });

        input.save(function (err, input) {
          if (err) return console.error(err);
        });

        const Embed = new RichEmbed()
         .setColor('#3c82f2')
         .setTitle('Balance')
         .setThumbnail(message.author.avatarURL)
         .addField('Your balance is: ', '1000')
         .setTimestamp()
         message.channel.send(Embed);
      }else if(balance){
        const Embed = new RichEmbed()
          .setColor('#3c82f2')
          .setTitle('Balance')
          .setThumbnail(message.author.avatarURL)
          .addField('Your balance is: ', balance.balance)
          .setTimestamp()

        message.channel.send(Embed);
      }
    });
  }
}

Это выводило встраивание, которое показывало ваш баланс,

...