discordjs-mongodb-currency
Version:
Easy to make currency discord bot
106 lines (60 loc) • 2.64 kB
Markdown
## 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);
```