gamer.eco

Simple & easy to use economy framework for discord bots.

Usage no npm install needed!

<script type="module">
  import gamerEco from 'https://cdn.skypack.dev/gamer.eco';
</script>

README

gamer.eco

A simple & easy to use economy package for discord bots using quick.db

NPM

Installing

npm i quick.eco

License

gamer.eco NPM is licensed under the terms of Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International ("CC-BY-NC-SA-4.0"). Commercial use is not allowed under this license. This includes any kind of revenue made with or based upon the software, even donations.

The CC-BY-NC-SA-4.0 allows you to:

Share

-- copy and redistribute the material in any medium or format.

Adapt

-- remix, transform, and build upon the material.


Under the following terms:

  • Attribution — You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
  • NonCommercial — You may not use the material for commercial purposes.
  • ShareAlike — If you remix, transform, or build upon the material, you must distribute your contributions under the same license as the original.

More information can be found here.

Join Our Discord Server

Getting Started

const Eco = require("gamer.eco");
const eco = new Eco.Manager();

Example

const Discord = require("discord.js");
const client = new Discord.Client();
const Eco = require("gamer.eco")
const eco = new Eco.Manager();

client.on("ready", () => {
    console.log("Bot has started!");
});

client.on("message", async (message) => {
    if (!message.guild || message.author.bot) return;
    if (message.content === "daily") {
        let add = eco.daily(message.author.id, 500);
        if (add.onCooldown) return message.reply(`You already claimed your daily coins. Come back after ${add.time.days} days, ${add.time.hours} hours, ${add.time.minutes} minutes & ${add.time.seconds} seconds.`);
        else return message.reply(`you claimed ${add.amount} as your daily coins and now you have total ${add.after} coins.`);
    }
    if (message.content === "bal") {
        let money = eco.fetchMoney(message.author.id);
        return message.channel.send(`<@${money.user}> has ${money.amount} coins.`);
    }
    if (message.content === "leaderboard") {
        let lb = eco.leaderboard({ limit: 10, raw: false });
        const embed = new Discord.RichEmbed()
        .setAuthor("Leaderboard")
        .setColor("BLURPLE");
        lb.forEach(u => {
            embed.addField(`${u.position}. ${client.users.get(u.id).tag}`, `Money: ${u.money} 💸`);
        });
        return message.channel.send(embed);
    }
});

client.login("NjU3OTUwNjk2NDAyMDU5Mjc5.XjgRXA.uS-OspxdjqXoxEQa59xVIsZvt5g");

Manager Functions

addMoney(userid, amount); // adds money & returns object
fetchMoney(userid); // returns object
setMoney(userid, amount); // sets new money value & returns object
deleteUser(userid); // Deletes a user from the database
removeMoney(userid, amount); // removes certain amount from user
daily(userid, amount); // Adds daily balance & returns object with 24h cooldown
weekly(userid, amount); // adds weekly balance & returns object with cooldown
work(userid, amount, { options }); // Work function, returns object | options: { cooldown: time_in_ms, jobs: ["job name", "another job"] }
beg(userid, amount, { options }); // beg function, returns object | options: { canLose: false, cooldown: time_in_ms, customName} | [ can be used in "search" command ]
transfer(userid1, userid2, amount); // transfer balance from a user to another, returns object | [ Can be used in "rob" command ]
leaderboard({ options }); // returns leaderboard | options: { raw: false, limit: 10 }
reset(); // reset data
depositMoney(userid, amount); // deposits money from balance to bank & returns object
withdrawMoney(userid, amount); // withdraws money from bank to balance & returns object
setBank(userid, amount); // sets new bank value & returns object

GuildManager Functions

addMoney(userid, guildid, amount); // adds money & returns object
fetchMoney(userid, guildid); // returns object
setMoney(userid, guildid, amount); // sets new money value & returns object
deleteUser(userid, guuldid); // Deletes a user from the database
removeMoney(userid, guildid, amount); // removes certain amount from user
daily(userid, guildid, amount); // Adds daily balance & returns object with 24h cooldown
weekly(userid, guildid, amount); // adds weekly balance & returns object with cooldown
work(userid, guildid, amount, { options }); // Work function, returns object | options: { cooldown: time_in_ms, jobs: ["job name", "another job"] }
beg(userid, guildid, amount, { options }); // beg function, returns object | options: { canLose: false, cooldown: time_in_ms, customName} | [ can be used in "search" command ]
transfer(userid1, userid2, guildid, amount); // transfer balance from a user to another, returns object | [ Can be used in "rob" command ]
leaderboard(guildid, { options }); // returns leaderboard | options: { raw: false, limit: 10 }
reset(); // reset data
depositMoney(userid, guildid, amount); // deposits money from balance to bank & returns object
withdrawMoney(userid, guildid, amount); // withdraws money from bank to balance & returns object
setBank(userid, guildid, amount); // sets new bank value & returns object

Making Other Commands

You can make some other commands like rob, gamble & more using above mentioned functions.

ShopManager

This class can be used to create shop. Please check the discord server for help.

Need help in gamer.eco?