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 🙏

© 2024 – Pkg Stats / Ryan Hefner

eternal-support

v1.0.9

Published

Support library for Eternal Client projects, has anime functions, control, logging and more utilities

Downloads

20

Readme

Eternal Support

Eternal-Support es una biblioteca de soporte, que agrega funciones y solicitudes útiles a bibliotecas como nekos.life y akaneko, su objetivo es la optimización de los recursos de trabajo.

[!WARNING] Se actualizo gran cantidad de nombres de las funciones y las clases que contiene esta libreria debido a un error de sintaxis encontrado al momento de hacer peticiones HTTP, por lo que se recomienda actualizar a la version 1.0.8

Contenido

Te listare las funciones de la librería según la versión en la que la misma se encuentre en estos momentos que revises la documentación:

Anime

| Funcion | Descripción | | :--------------: | :-----------------------------------------------------------------------------------: | | animeRandom | Obtiene algún anime random de la base de datos de el sitio | | animeSearch | Busca un anime a partir de la id que el mismo sitio proporciona | | animeRecommended | Obtén alguno de los animes recomendados según las valoraciones del mismo en animelist |

Estas funciones son dedicadas para la búsqueda de anime en Animelist por medio de un cliente externo para el consumo de su Api de forma mas rápida,

import { Anime, Manga } from 'eternal-support';
async function request() {
  console.log(await Anime.animeSearch(1246));
}

request();

Manga

| Funcion | Descripcion | | :--------------: | :----------------------------------------------------------------------------------: | | mangaRandom | Obtiene algún manga random de la base de datos de el sitio | | mangaSearch | Busca un manga a partir de la id que el mismo sitio proporciona | | mangaRecommended | Obtén alguno de los manga recomendados según las valoraciones del mismo en animelist |

Como abras notado son las mismas funciones del Anime sin embargo orientadas a la búsqueda de manga de la misma plataforma

import { Anime, Manga } from 'eternal-support';
async function request() {
  console.log(await Manga.mangaSearch(1246));
}

request();

Nekos

| Función | Descripcion | | :--------: | :-------------------------------------------------------------------------------------------: | | smug | Obtiene una URL de una imagen/gif presumido | | baka | Obtiene una URL de una imagen/gif idiota | | tickle | Obtiene una URL de una imagen/gif de cosquillas | | slap | Obtiene una URL de una imagen/gif de bofetada. | | poke | Obtiene una URL de una imagen/gif poke | | pat | Obtener una URL de una imagen/gif de palmadita | | meow | Obtener una URL de una imagen/gif de un gato | | lizard | Obtener una URL de una imagen de lagarto | | kiss | Obtener una URL de una imagen/gif de beso | | hug | Obtener una URL de una imagen/gif de abrazo | | foxGirl | Obtener una URL de una imagen/gif de una chica zorro | | feed | Obtener una URL de una imagen/gif de alimentación | | cuddle | Obtener una URL de una imagen/gif de abrazo | | kemonomimi | Obtener una URL de una imagen/gif de kemonomimi | | holo | Obtener una URL de una imagen/gif Holo | | woof | Obtener una URL de una imagen/gif de perro | | wallpaper | Obtener una URL de un fondo de pantalla | | goose | Obtener una URL de una imagen de ganso | | gecg | Obtenga una URL de una imagen de gecg (catgirl genéticamente modificada) | | avatar | Obtener una URL de una imagen de avatar | | waifu | Obtener una URL de una imagen waifu | | why | Obtener texto de una pregunta | | catText | Obtener texto de un emoji de gato | | OwOify | Obtener texto OwOified de una cadena | | eightBall | Envía el texto y responde con un texto como respuesta a la mágica 8Ball y una imagen también. | | fact | Obtiene el texto y responde con un texto que es un hecho aleatorio. | | spoiler | Crea un spoiler individual por letra para Discord |

Todos los puntos finales excepto los marcados con texto, excepto Chat/8Ball/Fact en la descripción, devolverán JSON: {url: }.

eternal.catText devolverá JSON: {cat: }

eternal.why devolverá JSON {why: <texto porqué>}

eternal.OwOify devolverá JSON {owo: }

eternal.fact devolverá JSON {hecho: }

eternal.eightBall devolverá JSON {response: <cadena de respuesta de 8Ball>, url: <URL a una imagen de 8Ball coincidente>}

[!WARNING] Estas peticiones se obtuvieron basándose en librerías como nekos.life y nekosapis de NPM, no son de propia creación de nosotros

import { NekoClient } from 'eternal-support';
const neko = new NekoClient();

async function request() {
  console.log(await neko.hug());
}

Sfw & Nsfw

Sfw

| Funcion | Descripcion | | :--------------: | :-----------------------------------------------------: | | neko | SFW Neko Girls (Chicas Gato) | | foxgirl | SFW Fox Girls | | mobileWallpapers | ¡Obtén un fondo de pantalla SFW aleatorio! (Móvil) | | lewdNeko | NSFW Neko Girls (Chicas Gato) | | wallpapers | ¡Obtén un fondo de pantalla SFW aleatorio! (Escritorio) |

Nsfw

[!NOTE] Estas funciones se obtuvieron basándonos en la librería de akaneko por lo que si deseas conocerlas, visita su documentación

//import { nsfw } from "eternal-support"
const akaneko = require('akaneko');

// Option 1, using and calling an asyncronous function //
async function yourFunctionName() {
  //return console.log(await nsfw.maid());
  return console.log(await akaneko.nsfw.maid()); // Output: Some weird long link that you probably will definitely try to open //
}

// Don't forget to call your function! //
yourFunctionName();

// Option 2, Returning a Promise //
//nsfw.maid().then((imageURL) => {
// return console.log(imageURL);
//})
akaneko.nsfw.maid().then((imageURL) => {
  return console.log(imageURL);
});

Utilidades

  1. Obtención de imágenes de anime y Nsfw.
  2. Petición a Apis publicas de los animes mas recomendados, búsquedas y obtenciones random.
  3. Logueo en consola.
  4. Estado de bases de datos de Mongoose.

Neko

[!NOTE] Clase optimizada de la librería de Neko.life para la optencion de imagenes de anime por medio de peticiones https

import { NekoClient } from 'eternal-support';
const neko = new NekoClient();

async function work() {
  let owo = await neko.OwOify({ text: 'This lib is really awesome!' });
  console.log(owo);
}

work();
import { NekoClient } from 'eternal-support';
const neko = new NekoClient();

neko.catText().then((catText) => console.log(catText));

Anti Crash

Función de soporte ante errores del cliente y de la aplicación de discord, envía los errores y el motivo a un canal dentro del mismo servidor

[!WARNING] Ahora integrada por default dentro de la clase Tools

Tools

Funcion Privada de Eternal IA, nose garantiza funcionamiento fuera de ellos

Clase con funciones de Mongoose y licencias personales, esto se agrego con el fin de ahorrar recursos y código dentro de los proyectos cuenta con las siguientes funciones.

  • Logueo de Errores (Webhook y Logs)
  • Conexión a base de datos Mongoose
  • Peticion de Licencias
import { discordApp } from '../../apps/discord/app';
import { config } from './configuration';
import { Tools } from 'eternal-support';

const webhook = 'URL'; //URL de tu webhook
const databaseUrl = config.database;
const tools = new Tools(database, webhook, './files/logs', discordApp);

Ejemplos

import { Nsfw, Stw } from 'eternal-support';
async function request() {
  console.log(await Nsfw.doujin());
}

request();

Estas funciones Anime, Manga lo que hacen es buscar dentro de la api de Animelist un anime o manga en especifico, por medio de la id que el mismo sitio proporciona, en este caso la id es 1246 y la función search se encarga de buscarlo.

import { Anime, Manga } from 'eternal-support';
async function request() {
  console.log(await mangaClient.search(1246));
}

request();

logWithLabel es una función que se encarga de loguear en consola con un label personalizado, en este caso el label es info y el mensaje es Hello World.

import { logWithLabel } from 'eternal-support';
logWithLabel('info', 'Hello World');

//custom properties
logWithLabel('custom', 'Hello World', 'message');
import { mobileWallpapers } from 'eternal-support';
async function getMobileWallpapers() {
  const mobileWallpapers = await mobileWallpapers();
  console.log(mobileWallpapers);
}

getMobileWallpapers();

getGithubData acomoda y optimiza la busqueda de perfiles de github por medio de peticiones http, incluye informacion de los seguidores y repositorios publicos del usuario

//Nueva version 1.0.8 GithubData
import { getGithubData } from 'eternal-support';
async function GithubUser(username: string) {
  const res = await getGithubData(username);
  return res;
}

GithubUser();

Discord Logger

con el fin de no tener que crear mil archivos diferentes de los eventos de discord, Logger se encarga de loguear los eventos de discord en un canal especifico, en este caso el canal es Id channel server discord y los eventos a loguear son:

  • AutoModerationActionExecution
  • MessageUpdate
  • AutoModerationRuleCreate
  • GuildMemberRemove
  • GuildMemberAdd
  • ChannelDelete
  • ChannelCreate
  • GuildEmojiCreate
  • GuildRoleCreate
  • GuildRoleDelete
  • GuildRoleUpdate
  • InviteCreate
  • InviteDelete
  • MessageDelete
const logger = new Logger(
  'Id channel server discord',
  [
    'AutoModerationActionExecution',
    'MessageUpdate',
    'AutoModerationRuleCreate',
    'GuildMemberRemove',
    'GuildMemberAdd',
    'ChannelDelete',
    'ChannelCreate',
    'GuildEmojiCreate',
    'GuildRoleCreate',
    'GuildRoleDelete',
    'GuildRoleUpdate',
    'InviteCreate',
  ],
  client
);

Contribuciones

Si deseas contribuir a la librería, puedes hacerlo por medio de un Pull Request o Issue en el repositorio, si deseas hacer una sugerencia o reportar un error, puedes hacerlo por medio de un Issue en el repositorio.

[!NOTE] Toda contribucion es bienvenida, esperamos que la libreria sea de tu agrado y te sea de utilidad en tus proyectos puedes ingresar al DISCORD de la comunidad para mas informacion