UNPKG

discordjs-mongodb-currency

Version:

Easy to make currency discord bot

106 lines (60 loc) 2.64 kB
## discord-currency-mongo A npm package for making economy bots. # Installation `npm i discordjs-mongodb-currency` # Starting First you need to setup the discord bot! ```js const mongoCurrency = require("discordjs-mongodb-currency"); mongoCurrency.connect("mongodb://..."); ``` # All Methods ##### createUser(userId, guildId) Adds a user to the database. ##### deleteUser(userId, guildId) Deletes a user from the database. ##### giveCoins(userId, guildId, amount) Gives coins to a user. Adds the user to the database if the user is saved to the database. ##### deductCoins(userId, guildId, amount) Deducts coins from a user. ##### findUser(userId, guildId) Finds the user in the database. ##### giveBankSpace(userId, guildId, amount) Gives bank space to a user. ##### withdraw(userId, guildId, amount) Withdraw coins from the users bank. ##### deposit(userId, guildId, amount) Deposits coins from the users wallet. ##### generateLeaderboard(guildId, amount) Generates a leaderboard. See examples for an example on how to use. # Command Examples ##### Balance Command ```js const mongoCurrency = require("discordjs-mongodb-currency"); const { MessageEmbed } = require("discord.js"); const member = message.mentions.members.first() || message.member; const user = await mongoCurrency.findUser(member.id, message.guild.id); // Get the user from the database. const embed = new MessageEmbed().setTitle(`${member.user.username}'s Balance`) .setDescription(`Wallet: ${user.coinsInWallet} Bank: ${user.coinsInBank}/${user.bankSpace} Total: ${user.coinsInBank + user.coinsInWallet}`); message.channel.send(embed); ``` ##### Beg Command ```js const mongoCurrency = require('discordjs-mongodb-currency'); const randomCoins = Math.floor(Math.random() * 99) + 1; // Random amount of coins. await mongoCurrency.giveCoins(message.member.id, message.guild.id, randomCoins); ``` ##### Leaderboard Command ```js const mongoCurrency = require('discordjs-mongodb-currency'); const { MessageEmbed } = require("discord.js"); const leaderboard = await mongoCurrency.generateLeaderboard(message.guild.id, 10); if (leaderboard.length < 1) return message.channel.send("Nobody's on the leaderboard."); const mappedLeaderboard = leaderboard.map(i => `<@!${i.userId}> - ${i.coinsInWallet}`); const embed = new MessageEmbed() .setTitle(`${message.guild.name}\'s Leaderboard`) .setDescription(`${mappedLeaderboard.join('\n')}`); message.channel.send(embed); ```