@jcauman23/discordeco

1.2.0 • Public • Published

NPM

DiscordEco

A easy npm package for making economy bots.

Updates

Added support for MongoDB v6

Installation

npm i @jcauman23/discordnsfw

Starting

Start off by connecting DiscordEco to MongoDB.

async function ecoInit(){
    const ecoDB = require('@jcauman23/discordeco');
    ecoDB.connect('mongodb+srv://example:example@example.mongodb.net/example');
    await console.log("Connected to the database!");
}
ecoInit()

All Methods

createUser(userId, guildId)

Adds a user to the database.

deleteUser(userId, guildId)

Deletes a user from the database.

deposit(userId, guildId, amount)

Deposits a certain amount in the database. (Has integrated checking for account, just throw the error and it should work!)

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.

generateLeaderboard(guildId, amount)

Generates a leaderboard. See examples for an example on how to use.

withdraw(userId, guildId, amount)

Withdraws a certain amount from the users bank(also has integrated checking.)

Command Examples

Balance Command
    const ecoDB = require('@jcauman23/discordeco');
    const { MessageEmbed } = require('discord.js');

    const member = message.mentions.members.first() || message.member;

    const user = await ecoDB.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
    const ecoDB = require('@jcauman23/discordeco');

    const randomCoins = Math.floor(Math.random() * 99) + 1; // Random amount of coins.
    
    await ecoDB.giveCoins(message.member.id, message.guild.id, randomCoins);
Leaderboard Command
    const ecoDB = require('@jcauman23/discordeco');
    const { MessageEmbed } = require('discord.js');
    
    const leaderboard = await ecoDB.generateLeaderboard(message.guild.id, 10);
    
    if (leaderboard.length < 1) return message.channel.send("Nobody's on the leaderboard.");
    
    const mappedLeaderboard = leaderboard.map(i => `${client.users.cache.get(i.userId).tag ? client.users.cache.get(i.userId).tag : "Nobody"} - ${i.coinsInWallet}`);
    
    const embed = new MessageEmbed()
    .setTitle(`${message.guild.name}\'s Leaderboard`)
    .setDescription(`${mappedLeaderboard.join('\n')}`);
    
    message.channel.send(embed);

Coming Soon

  • Work
  • Rob
  • Gamble commands.

Package Sidebar

Install

npm i @jcauman23/discordeco

Weekly Downloads

13

Version

1.2.0

License

ISC

Unpacked Size

12.7 kB

Total Files

4

Last publish

Collaborators

  • jcauman23