0.1.3 • Published 8 months ago

penguinmoji v0.1.3

Weekly downloads
-
License
MIT
Repository
-
Last release
8 months ago

Penguinmoji 🐧

Penguistic way to manage emojis

(This packgage is for a private Api :3)

Tabla de Contenido

Instalación

Para instalar Penguinmoji, puedes usar npm o yarn:

npm install penguinmoji
# O
yarn add penguinmoji

Uso

PenguinClient

Constructor PenguinClient(token: string)

  • Descripción: Este es el constructor de la clase PenguinClient. Se utiliza para crear una instancia del cliente, que se utilizará para interactuar con emojis en Discord.
  • Parámetros:
    • token (string): Tu token de API para autenticar las solicitudes.

Propiedades de la Clase PenguinClient

Propiedad token (string):

  • El token de API utilizado para autenticar las solicitudes.

Propiedad url (string):

  • La URL de conexión con la API.

Propiedad emojiRegex (RegExp):

  • Una expresión regular para buscar emojis en el texto.

Método connection(url: string) (usar este método solo si el url del packgage falla)

  • Descripción: Este método te permite establecer una URL de conexión personalizada con la API (si es necesario). Ten en cuenta que esto es opcional, ya que el cliente utiliza una URL predeterminada.
  • Parámetros:
    • url (string): La URL personalizada a la que deseas conectar.

Método validateToken()

  • Descripción: Este método se utiliza internamente para validar si el token proporcionado es válido. Comprueba si el token es una cadena válida y realiza una solicitud a la API para verificar su autenticidad.
  • Excepciones:
    • Lanza un error si el token no es válido.

Método getEmojis()

  • Descripción: Obtiene todos los emojis disponibles a través de la API.
  • Retorna: Una matriz de objetos Emoji.
  • Excepciones:
    • Lanza un error si el token no es válido.

Método getEmoji(id: string)

  • Descripción: Obtiene un emoji específico por su ID.
  • Parámetros:
    • id (string): El ID del emoji que deseas obtener.
  • Retorna: Un objeto Emoji.
  • Excepciones:
    • Lanza un error si el token no es válido.

Método getEmojisFromCategory(category: Category)

  • Descripción: Obtiene todos los emojis de una categoría específica.
  • Parámetros:
    • category (Category): La categoría de emojis que deseas obtener.
  • Retorna: Una matriz de objetos Emoji.
  • Excepciones:
    • Lanza un error si el token no es válido.
    • Lanza un error si se proporciona una categoría no válida.

Método uploadEmoji(emoji: GuildEmoji | string | EmojiPlayload)

  • Descripción: Permite cargar un emoji en Discord. Puede recibir un emoji en forma de cadena, un objeto GuildEmoji o un objeto EmojiPlayload.
  • Parámetros:
    • emoji (string | GuildEmoji | EmojiPlayload): El emoji que deseas cargar.
  • Retorna: La instancia actual del cliente.
  • Excepciones:
    • Lanza un error si el token no es válido.
    • Lanza un error si se proporciona un emoji no válido.

Método updateEmojisFromGuild(guild: Guild)

  • Descripción: Actualiza todos los emojis desde un servidor de Discord.
  • Parámetros:
    • guild (Guild): El servidor de Discord del que deseas actualizar los emojis.
  • Retorna: La instancia actual del cliente.
  • Excepciones:
    • Lanza un error si el token no es válido.

Método getEmojisFormatted(category?: Category)

  • Descripción: Obtiene todos los emojis formateados, opcionalmente filtrados por categoría.
  • Parámetros:
    • category (Category, opcional): La categoría de emojis que deseas obtener (opcional).
  • Retorna: Una matriz de objetos EmojiFormatted.
  • Excepciones:
    • Lanza un error si el token no es válido.
    • Lanza un error si se proporciona una categoría no válida.

Método replaceEmojisInMessage(message: Message, emojis: EmojiFormatted[])

  • Descripción: Reemplaza los emojis en el contenido de un mensaje de Discord con emojis formateados.
  • Parámetros:
    • message (Message): El mensaje de Discord en el que deseas reemplazar los emojis.
    • emojis (EmojiFormatted[]): Una matriz de emojis formateados.
  • Retorna: El contenido del mensaje con los emojis reemplazados.
  • Excepciones:
    • No lanza excepciones, pero asegúrate de manejar los posibles errores según sea necesario en tu aplicación.

Método listenerMessage(message: Message<true>)

  • Descripción: Listener para el evento de mensaje en Discord. Reemplaza automáticamente los emojis en el mensaje con emojis formateados y envía el mensaje actualizado a través de un webhook si es necesario.
  • Parámetros:
    • message (Message): El mensaje de Discord en el que deseas reemplazar los emojis.
  • Excepciones:
    • No lanza excepciones, pero asegúrate de manejar los posibles errores según sea necesario en tu aplicación.

Funciones

Las Funciones son a parte de las clase principarl, puedes importarlos directamente desde el packgage.

Función EmojisFromGuild(guild: Guild)

  • Descripción: Esta función se utiliza para obtener todos los emojis de un servidor de Discord.
  • Parámetros:
    • guild (Guild): El servidor de Discord del que deseas obtener los emojis.
  • Retorna: Una promesa que resuelve en una matriz de objetos EmojiPlayload, que representan los emojis del servidor.
  • Excepciones:
    • Lanza un error si el servidor (guild) no es válido o no tiene emojis.

Función uploadEmojiToGuild(guild: Guild, emoji: EmojiPlayload | string | GuildEmoji): Promise<void>

  • Descripción: Esta función se utiliza para cargar un emoji en un servidor de Discord.
  • Parámetros:
    • guild (Guild): El servidor de Discord al que deseas cargar el emoji.
    • emoji (EmojiPlayload | string | GuildEmoji): El emoji que deseas cargar. Puede ser un objeto EmojiPlayload, una cadena de URL de emoji o un objeto GuildEmoji.
  • Retorna: Una promesa que resuelve en void (nada) una vez que se ha cargado el emoji exitosamente.
  • Excepciones:
    • Lanza un error si el servidor (guild) no es válido o no tiene emojis.
    • Lanza un error si no se proporciona un emoji válido.
    • Lanza un error si falla la carga del emoji con un mensaje de error específico.

Función privacyPolicy(lang: lang)

  • Descripción: Esta función se utiliza para obtener la política de privacidad en el idioma especificado.
  • Parámetros:
    • lang (lang): El idioma en el que deseas obtener la política de privacidad. Debe ser uno de los valores permitidos ("en" para inglés, "es" para español, "fr" para francés).
  • Retorna: La política de privacidad en el idioma especificado.
  • Excepciones:
    • Lanza un error si no se proporciona un idioma válido (lang).
    • Lanza un error si el idioma proporcionado no está presente en el conjunto de idiomas disponibles.

EXTRAS

Enumeración Category

  • Descripción: Esta enumeración define una lista de categorías para su uso en la API.
  • Valores:
    • animals: Categoría de animales.
    • anime: Categoría de anime.
    • blobs: Categoría de blobs.
    • flags: Categoría de banderas.
    • food: Categoría de comida.
    • games: Categoría de juegos.
    • logos: Categoría de logotipos.
    • memes: Categoría de memes.
    • people: Categoría de personas.
    • pokemon: Categoría de Pokémon.
    • animated: Categoría de emojis animados.
    • other: Otras categorías.

Esta enumeración se utiliza para clasificar emojis en diferentes categorías y puede ser útil para organizar y buscar emojis en la API.

Interfaz Emoji

  • Descripción: Esta interfaz representa un emoji y sus propiedades.
  • Propiedades:
    • name (string): El nombre del emoji.
    • emojiId (string): El ID único del emoji.
    • url (string): La URL del emoji.
    • category (Category, opcional): La categoría a la que pertenece el emoji (opcional).
    • formatted (string): El emoji formateado.

Interfaz EmojiPlayload

  • Descripción: Esta interfaz representa la información necesaria para cargar un emoji en Discord.
  • Propiedades:
    • name (string): El nombre del emoji.
    • emojiId (string): El ID único del emoji.
    • animate (boolean): Indica si el emoji es animado.
    • url (string): La URL del emoji.
    • category (Category, opcional): La categoría a la que pertenece el emoji (opcional).

Interfaz EmojiFormatted

  • Descripción: Esta interfaz representa un emoji formateado con su nombre y formato.
  • Propiedades:
    • name (string): El nombre del emoji.
    • formatted (string): El emoji formateado.

Estas interfaces se utilizan para definir la estructura de los emojis, los datos necesarios para cargar emojis y emojis formateados.

Ejemplos de usos

import { PenguinClient, Category } from "penguinmoji";
import {Client, GatewayIntentBits } from "discord.js";


const client = new Client({
    intents: [
      GatewayIntentBits.MessageContent,
      GatewayIntentBits.GuildMessages,
      GatewayIntentBits.Guilds,
      GatewayIntentBits.GuildMembers,
    ]
});

client.manager = new PenguinClient("TU-API-TOKEN");

client.on("ready", async () => {
  console.log("Ready!");
});

client.on("messageCreate", async (message) => {
  if (message.content === "!emojis") {
    const emojis = await client.manager.getEmojisFormatted(Category.Anime);
    console.log(emojis);
    const content = privacyPolicy("es").description;
    await message.reply(content)
    return;
  }
  await client.manager.listenerMessage(message)
  
});

client.login("Tu-Token");

Made with 🐧❤

0.1.3

8 months ago

0.1.2

8 months ago

0.1.1

8 months ago

0.1.0

8 months ago