Learn about our RFC process, Open RFC meetings & more.Join in the discussion! »

economia-discord

3.0.1 • Public • Published

economia-discord

Agrega funciones de economía para tu bot de Discord.

Funciones

  • Economia.tienda
Economia.tienda.mostrar(GuildId, Mensaje);
/*  
Esto sirve para mostrar la tienda de un servidor. 
GuildId => La Id del servidor
Mensaje => boolean (opcional) 
Por defecto es false. 
Si está en false, devolverá el Array de la tienda con cada Item.
Si está en true, devolverá un String de la tienda ya hecho.
*/
 
Economia.tienda.agregar(GuildId, Nombre, Descripción, Valor, Emoji);
/*
Esto sirve para agregar un objeto a la tienda.
GuildID => La id del servidor
Nombre => El nombre del objeto
Descripción => Una breve descripción del objeto
Valor => El valor del objeto (Tiene que ser un Número)
Emoji => Emoji de Discord
*/
 
Economia.tienda.sacar(GuildId, Número);
/*
Esto sirve para quitar un objeto de la tienda.
GuildId => La Id del servidor.
Número => El número en el cual el objeto se encuentra en la tienda.
*/
 
Economia.tienda.comprar(GuildId, UserId, Número);
/*
Esto sirve para que un usuario compre un objeto de la tienda (Usando el dinero en mano del Usuario).
GuildId => La Id del servidor.
UserId => La Id del usuario.
Número => El número en el cual el objeto se encuentra en la tienda.
*/
 
  • Economia.dinero
 
Economia.dinero.mostrar(GuildID, UserID);
/*
Devuelve cuanto dinero tiene un usuario en un objeto.
GuildId => La id del servidor
UserId => La id del usuario
*/
 
Economia.dinero.agregar(GuildID, UserID, Username, Cantidad, Banco);
/*
Esto sirve para agregar dinero a un usuario.
GuildId => La id del servidor en el cual está el usuario
UserId => La id del usuario al cual se le agregará la cantidad de dinero especificada
Username => El nombre del usuario al cual se le agregará la cantidad de dinero especificada
Cantidad => La cantidad de dinero a agregar
Banco => boolean (opcional)
Por defecto: false
Si está en false, le agregará el dinero en el dinero en mano del usuario.
Si está en true, le agregará el dinero en el banco del usuario.
 
Devuelve un objeto con el dinero en mano y en el banco del usuario actualizado.
*/
 
Economia.dinero.sacar(GuildID, UserID, Username, Cantidad, Banco);
/*
Esto sirve para sacarle dinero a un usuario
GuildId => La id del servidor en el cual está el usuario
UserId => La id del usuario al cual se le quitará la cantidad de dinero
Username => El nombre del usuario al cual se le quitará la cantidad de dinero
Cantidad => La cantidad de dinero a sacar
Banco => boolean (opcional)
Por defecto: false
Si está en false, le quitará el dinero en el dinero en mano del usuario.
Si está en true, le quitará el dinero en el banco del usuario.
 
Devuelve un objeto con el dinero en mano y en el banco del usuario actualizado.
*/
 
Economia.dinero.depositar(GuildID, UserID, Username, Cantidad)
/*
Deposita una Cantidad de dinero en mano del Usuario al banco del usuario.
GuildId => La id del servidor en el cual está el usuario.
UserId => La id del usuario.
Username => El nombre del usuario.
Cantidad => La cantidad que se quiere depositar en el banco.
En caso de que se quiera depositar todo el dinero que tiene actualmente al banco,
escribir "todo" o "all".
 
Devuelve un objeto con el dinero en mano y en el banco del usuario actualizado.
*/
 
Economia.dinero.retirar(GuildID, UserID, UserName, Cantidad)
/*
Retira dinero del Banco del usuario y lo obtiene como dinero en mano del usuario.
GuildId => La id del servidor en el cual está el usuario.
UserId => La id del usuario.
Username => El nombre del usuario.
Cantidad => La cantidad que se quiere retirar del banco.
En caso de que se quiera retirar todo el dinero que tiene actualmente en el banco,
escribir "todo" o "all".
*/
 
 
Economia.dinero.leaderboard(GuildId);
/*
Devuelve un Array con el ranking de las personas con más dinero.
GuildId => La id del servidor
*/
 
Economia.dinero.reiniciar(GuildID, UserID, UserName);
/*
Reinicia el dinero del usuario.
GuildId => La id del servidor en el cual está el usuario.
UserId => La id del usuario.
Username => El nombre del usuario.
*/
 
  • Economia.inventario
Economia.inventario.mostrar(GuildId, UserId, Mensaje);
/*
Sirve para ver los objetos comprados por el Usuario.
GuildId => La id del servidor en el cual está el usuario.
UserId => La id del usuario.
Mensaje => boolean (opcional) 
Por defecto es false. 
Si está en false, devolverá el Array del inventario del usuario con sus respectivos objetos.
Si está en true, devolverá un String del inventario ya hecho.
*/
Economia.inventario.agregar(GuildId, UserId, Número);
/*
Agrega un item de la tienda al inventario del usuario.
GuildId => La id del servidor en el cual está el usuario.
UserId => La id del usuario.
Número => El número en el cual el objeto se encuentra en la tienda.
*/
Economia.inventario.sacar(GuildId, UserId, Número);
/*
Remueve un item del inventario del usuario.
GuildId => La id del servidor en el cual está el usuario.
UserId => La id del usuario.
Número => El número en el cual el objeto se encuentra en el inventario del usuario.
*/
 

Mensajes de error:

En caso de errores nos devolverá un string (Ej: "no hay tienda").

Ejemplo:

// Si intentamos mostrar una tienda vacia:
Economia.tienda.mostar(message.guild.id) // Nos devolverá "no hay tienda" en lugar de los items.
 
// Si intentamos comprar un item que ya tenemos:
Economia.tienda.comprar(message.guild.id, message.author.id, 5) // Nos devolverá "item ya comprado"
 

Lista de errores posibles: Algunos errores se explican por si solos.

Economia.tienda.mostrar(GuildId):

  • "no hay tienda" (En caso de que la Tienda este vacia)

Economia.tienda.agregar(GuildId, Nombre, Descripcion, Valor, Emoji):

  • "el nombre del item no fue introducido"
  • "la descripcion del item no fue introducida"
  • "el valor del item no fue introducido"
  • "el emoji no fue introducido"
  • "el valor no es un numero"
  • "el valor es muy grande" (El valor es Infinito)
  • "ya hay un item con ese nombre"

Economia.tienda.sacar(GuildId, Numero):

  • "no hay tienda" (La tienda está vacia)
  • "no se introdujo un numero"
  • "no es un numero" (El número introducido no es un número)
  • "no hay ningun item con ese numero" (En caso de que el número introducido no este en la Tienda)

Economia.tienda.comprar(GuildID, UserID, Numero):

  • "no hay tienda"
  • "no se introdujo un numero" (En caso de que no se haya puesto un número)
  • "no es un numero"
  • "no hay ningun item con ese numero" (La tienda no tiene el número de item ingresado)
  • "no tiene dinero" (En caso de que el usuario no tenga dinero)
  • "item ya comprado"
  • "no suficiente dinero" (En caso de que el usuario no tenga suficiente dinero para comprar el item)

Economia.dinero.mostrar(GuildID, UserID)

  • "no tiene dinero"

Economia.dinero.agregar() y .sacar():

  • "no se introdujo una cantidad"
  • "no es un numero" (La cantidad ingresada no es un número)
  • "el valor es muy grande" (La cantidad ingresada es Infinito)
  • "el valor es inferior a cero"
  • "el usuario tiene demasiado dinero" (Significa que el usuario alcanzó el Infinito) (Solo en agregar())
  • "el usuario no tiene demasiado dinero" (Significa que al restarle esa cantidad se obtiene Infinito) (Solo en sacar())

Economia.dinero.depositar() y .retirar():

  • "no se introdujo una cantidad"
  • "no tiene dinero"
  • "string no compatible" La string introducida no es ni "all" ni "todo".
  • "no es un numero ni string"
  • "el valor es muy grande" (Infinito)
  • "el valor es inferior a cero"
  • "no tiene tanto dinero" (La cantidad introducida es mayor al dinero que tiene el usuario)

Economia.dinero.reiniciar(GuildID, UserID, Username):

  • "no tiene dinero"

Economia.dinero.leaderboard(GuildId):

  • "no hay usuarios con dinero aun"

Economia.inventario.mostrar(GuildID, UserID, boolean):

  • "no items" (El usuario no tiene items)

Economia.inventario.agregar() y sacar():

  • "no se introdujo un numero" (No se introdujo el número de item)
  • "no es un numero" (El número de Item no es un número)
  • "no hay ningun item con ese numero"
  • "no items" (El usuario no tiene items) (Solo para la función sacar)
  • "no hay tienda" (Solo para la función agregar)
  • "ya tiene el item" (Solo para la función agregar)

Ejemplos:

  • Mostrar la tienda verificando si hay errores...
 
var Economia = require("economia-discord");
//           Economia.tienda.mostrar("Id de la Guild", true o false)
var Tienda = Economia.tienda.mostrar(message.guild.id, true);
if (Tienda == "no hay tienda"){
    message.channel.send("No hay una tienda aún!");
}else{
    message.channel.send(Tienda);
}
 
//En caso de que queramos el Array de La Tienda:
var Objeto = Economia.tienda.mostrar(message.guild.id, false);
 
if (Objeto == "no hay tienda"){
    message.channel.send("No hay una tienda aún!");
}else{
    console.log(Objeto);
}
  • Agregar un Item a la Tienda verificando si hay errores antes...
//                Economia.tienda.agregar(GuildId, Nombre, Descripcion, Costo, Emoji);
var AgregarItem = Economia.tienda.agregar(message.guild.id, "Un Bomba", "Cuidado! Va a explotar", 10, "💣");
 
if(AgregarItem == "el nombre del item no fue introducido" 
     || AgregarItem == "la descripcion del item no fue introducida"
     || AgregarItem == "el valor del item no fue introducido" 
     || AgregarItem == "el emoji no fue introducido") return message.channel.send("Uno de los parametros no fue introducido")
 
if(AgregarItem == "el valor no es un numero") return message.channel.send("Ingrese un numero para el costo")
if(AgregarItem == "el valor es muy grande") return message.channel.send("Infinito?")
if(AgregarItem == "ya hay un item con ese nombre") return message.channel.send('Ya hay un Item con ese nombre')
 
 
message.channel.send("Item Agregado!")
console.log(AgregarItem);
  
  • Mostrar el dinero de un usuario.
//           Economia.dinero.mostrar(GuildID, UserID)
var Dinero = Economia.dinero.mostrar(message.guild.id, message.author.id)
 
if(Dinero == "no tiene dinero") return message.channel.send("No tienes dinero aun! Usa !daily o !work");
 
message.channel.send("Tu dinero en mano es de: " + Dinero.dinero);
message.channel.send("El dinero en el banco es de: " + Dinero.banco)
 
  • Agregar Dinero a un usuario.
 
const Cantidad = args[1] // o args[0] dependiendo como tengas definido args.
 
//                  Economia.dinero.agregar(GuildID, UserID, UserName, Cantidad);
var AgregarDinero = Economia.dinero.agregar(message.guild.id, message.author.id, message.author.username, Cantidad);
 
if (AgregarDinero == "no se introdujo una cantidad") message.channel.send("No se introdujo una cantidad")
else if (AgregarDinero == "no es un numero") message.channel.send("La cantidad introducida no es un número!")
else if(AgregarDinero == "el valor es muy grande") message.channel.send("Esa es una infinidad de dinero!")
else if(AgregarDinero == "el valor es inferior a cero") message.channel.send("El valor es inferior a cero")
else if(AgregarDinero == "el usuario tiene demasiado dinero") message.channel.send("Con esa cantidad, el usuario tendría una infinidad de dinero!")
else {
    message.channel.send("El dinero fue agregado!")
    console.log(AgregarDinero);
}

Para más ejemplos contactarme por privado!

Keywords

Install

npm i economia-discord

DownloadsWeekly Downloads

59

Version

3.0.1

License

ISC

Unpacked Size

36.4 kB

Total Files

4

Last publish

Collaborators

  • avatar
  • avatar
  • avatar