npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

penguinmoji

v0.1.3

Published

Penguistic way to manage emojis

Downloads

5

Readme

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 🐧❤