EN | ES
Un paquete para obetener datos de la API de enka, para Genshin y Star Rail, también incluye un "buscador" que puedes usar para buscar nombres e imágenes de assets del juego, por ejemplo el nombre o imagen de un personaje. Revisa Buscadores para más información.
Haz click para expandir
- v2.10.3:
- Añadido el contenido de la versión 3.0 de Star Rail.
- Optimizado el rendimiento un poco.
- Eliminada la propiedad
name
deplayer.characters[].traces[].baseSkill
(Star Rail) ya que ahora esta está presente el objetotraces
. - Añadidas las skins de personaje y las propiedades sobre los ajuste de privacidad de Star Rail.
- v2.9.3:
- Feliz año nuevo! :)
- Añadido el contenido de la versión 5.3 de Genshin.
- v2.9.2:
- Añadido el contenido de la versión 2.7 de Star Rail.
- v2.9.1:
- Añadido el contenido de la versión 5.2 de Genshin.
- v2.9.0:
- Añadido el contenido de la versión 2.6 de Star Rail.
- v2.8.9:
- Añadido el contenido de la versión 5.1 de Genshin.
- v2.8.8:
- Añadido el último excel para el árbol de habilidades en Star Rail (parece que no lo incluí en la última actualización).
- Arreglada la propiedad
theaterMode
para las usuarios que no intentaron jugar el teatro.
- v2.8.7:
- Añadido el contenido de la versión 2.5 de Star Rail.
- v2.8.6:
- Arreglado el valor incorrecto para la dificultad del teatro.
- Corregido un error gramatical en las propiedad
theaterModeIndex
ytheaterMode
(antes era theatherModeIndex y theatherMode).
- v2.8.5:
- Añadido el contenido de la versión 5.0 de Genshin.
- Nuevos campos añadidos a la clase
Player
. (Nota: Estos nuevos campos no se mostraran a los usuarios recuperados que no hayan iniciado sesión después de la actualización):# propiedad: tipo | valor si está vacia o si es nula theaterAct: number | "" theaterModeIndex: number | "" theaterMode: string | "" theaterStars: number | 0 publicConstellations: boolean | false maxFriendshipCount: number | 0 abyss.stars: number | 0 showcase.elementIndex: number | "" showcase.element: string | "" showcase.constellations: number | 0
- v2.8.3:
- Añadido el contenido de la versión 2.4 de Star Rail.
- v2.8.2:
- Añadido el contenido de la versión 4.8 de Genshin.
- v2.8.1:
pureFictionLastFinishedStage
ypureFictionStarCount
fueron cambiados porcurrentRotatingEndgameContentLastFinishedStage
ycurrentRotatingEndgameContentScore
ya que no es solo pura ficción, sino todo el contenido del endgame que rota como la Memoria Caótica.- Añadido el contenido de la versión 2.3 de Star Rail.
- v2.8.0:
- Error en las fotos de perfil que no son de un personaje solucionado (Genshin).
- Añadido el contenido de la versión 4.7 de Genshin.
- v2.7.8:
booksCollected
,relicsOwned
,musicCollected
,pureFictionLastFinishedStage
ypureFictionStarCount
añadido a <request>.player.recordInfo.- Añadido el contenido de la versión 2.2 de Star Rail.
- v2.7.6:
- Añadido el contenido de la versión 4.6 de Genshin.
- v2.7.5:
- Añadido el contenido de la versión 2.1 de Star Rail.
- v2.7.4:
- Añadida la rareza de los personajes y armas.
- Estructura actualizada un poco.
- v2.7.3:
- Añadido el contenido de la versión 4.5 de Genshin.
- v2.7.2:
- Arreglado el error cuando un artefacto no tiene substats tira un error al intentar obtener la calidad del roll (Genshin).
- v2.7.1:
- Añadido el contenido de la versión 2.0 de Star Rail.
- v2.7.0:
- Añadido el contenido de la versión 4.4 de Genshin.
- Actualizado el regex para la validación de UID por las nuevas UIDs (18XXXXXXXX). Gracias a yuko1101 por proveerlo!
- Añadida la calidad de roll para los substats de los artefactos en Genshin y Star Rail.
- v2.6.6:
- Soporte añadido para las nuevas UIDs de China (3XXXXXXXX)
- Añadido el nivel máximo de cada personaje por su ascensión en Genshin y Star Rail.
- Soporte añadido para las nuevas UIDs de China (3XXXXXXXX)
- v2.6.5:
- Arreglado el error donde los valores del Salón olvidado y la Memoria del Caos eran incorrectos.
- Añadidos los elementos de los personajes en Genshin Impact.
- Cambiado como funciona
fhLastFinishedFloor
para añadir los valores del último piso acabado para jarilo vi y el xianzhou luofu. Revisa los cambios importantes (BREAKING_CHANGES.md)
- v2.6.3:
- Añadido el contenido de la versión 1.6 de Star Rail.
- v2.6.2:
- Me he olvidado de incluir algunas propiedades en el json de los hashes de Genshin :)
- v2.6.1:
- Añadido el contenido de la versión 4.3 de Genshin.
- v2.6.0:
- Añadido el calculo de stats de los personajes en Star Rail.
- Añadido el contenido de la versión de 1.5 de Star Rail.
- v2.5.3:
- Añadido el contenido de la versión 4.2 de Genshin.
- v2.5.2:
- Arreglada la ruta de los iconos de los rastros.
- Arreglado un bug sobre las fotos de perfil en Star Rail.
- Arreglada la ruta de los iconos de los rastros.
- v2.5.1:
- Añadido el contenido de la versión 1.4 de Star Rail.
- Actualizada la estructura de los registros del jugador para que coincida con la API.
- v2.5.0 (contiene cambios importantes menores):
- Añadido full soporte para la API de Star Rail.
- Implementado el nuevo sistema de fotos de perfil de Genshin.
- Mejorada la optimización.
- Arreglados algunos bugs.
- v2.2.1:
- Añadido el contenido de la versión 4.0.
- Arreglado cuando un jugador tenía en su perfil al Viajero sin elemento, tiraría un error.
- Arreglada la incorrecta visualización de los assets del Viajero.
- Algunos bugs arreglados.
- v2.1.9:
- Añadida barra diagonal al final de los endpoints relacionados con los perfiles de Enka para evitar redirecciones y mejorar la estabilidad de los rate limits.
- v2.1.8:
- Arreglo rápido del problema de cuando un usuario tenía builds de Honkai: Star Rail en el hoyo de su perfil tiraría un error al intentar obtenerlas, el soporte para dichos hoyos vendrá muy pronto.
- v2.1.7:
- Añadido el contenido de la versión 3.8.
- v2.1.6:
- Añadido el contenido de la versión 3.7.
- Añadido un parseador para parsear las IDs de los substats de un artefacto:
Wrapper.parseSubstats()
.
- v2.1.4:
- Removido el recargar automático de los archivos porque incrementaría enormemente el tiempo de petición de información de los jugadores.
- v2.1.3:
- Arreglado cuando al usar el método
character()
de la clase AssetFinder e introducir la id de personaje de uno de los viajeros con su id de habilidad de elemento tiraraba un error. - Arreglado cuando el actualizador de contenido descargaba los archivos con el contenido incompleto, desembocando en errores.
- Ahora no será necesario reiniciar la aplicación cuando los archivos de contenido se descarguen para leer su nuevo contenido.
- Si algún archivo caché se corrompe se eliminará automáticamente y se creará uno nuevo con datos frescos.
- Ahora puedes borrar el directorio del caché con
CacheHandler.deleteCacheDirectory()
.
- Arreglado cuando al usar el método
- v2.1.2:
- Arreglado cuando el jugador tenía al Viajero/a en el perfil tiraba un error.
- v2.1.1:
- Arreglado el error que mostraba erróneamente el orden de las habilidades de los personajes.
- Añadido un buscador de disfraces a
AssetFinder
. - Añadido el contenido de la versión 3.5.
- v2.1.0 (Cambios rompedores desde <v2.0.2):
- Implementadas las nuevas rutas y los datos de los perfiles.
- Cambia la estructura de los perfiles, revisé la nueva estructura.
- Actualizado la estructura del jugador para añadir el campo
owner
. - Arreglado cuando buscas el nombre de un arma devuelve un string vacío.
- Arreglados bugs y errores.
- v2.0.2:
- Arreglado cuando el arma del personaje no tiene refinamiento salta un error.
- v2.0.1:
- Cambiada la ruta de peticiones de información del jugador, ya que
/u/<UID>/__data.json
no se usará más y en 2 días dejará de existir. - Eliminado el parametro
key
de la clase Wrapper ya que no se necesita más. - Añadida la ruta del perfil del jugador (en caso de exista) a la estructura del jugador.
- Cambiada la ruta de peticiones de información del jugador, ya que
- v2.0.0:
- La estructura de los datos y alguna estructura del paquete han sido rediseñadas.
- Se han juntado las clases
AssetNameFinder
yAssetImageFinder
enAssetFinder
. - Añadido un auto actualizador de contenido para el contenido de las nuevas versiones de Genshin Impact.
- Añadido un sistema de caché (opcional) para reducir las peticiones a la API de Enka.
- Arreglados algunos bugs y errores.
- Añadido JSDoc.
- v1.3.10:
- Archivos del paquete reducidos.
- v1.3.9:
- Añadido el contenido de la versión 3.3 + los idiomas IT y TR.
- v1.3.6
- Añadido el contenido de la versión 3.2.
- Ahora puedes acceder a los nombres/imágenes de los assets directamente desde los objetos de personajes, tarjetas, etc.
- v1.3.0:
- Arreglados los talentos de Ayaka y Mona.
- Añadido el proudSkillExtraLevelMap faltante.
- Añadido soporte para User Agent personalizados en las solicitudes.
- Añadido el contenido de la versión 3.1.
- v1.2.1:
- Mejorada la estructura de los datos para un mejor manejo.
- Ahora los valores vacíos retornarán arreglos, objetos y strings vacíos en vez de null.
- Solucionados algunos bugs.
- Añadido soporte para la API de perfiles.
- v1.1.1:
- Añadido el contenido de la versión 3.0.
- Añadidas las imágenes gacha de los personajes.
- Cambiada la url del CDN de enka.
- v1.0.1:
- Cambiada la URL de peticiones para evitar códigos 301 innecesarios.
- Wrapper
- Actualizador de Contenido
- Buscadores
- Posición de Ratros
- Lista de Calidad del Roll
- Creador y Soporte
- Créditos
Puedes obtener la información sobre un jugador usando la función getPlayer
. Un ejemplo:
const { Wrapper } = require('enkanetwork.js')
// El cliente de Genshin y Star Rail.
const { genshin, starrail } = new Wrapper(opciones);
/** opciones:
* userAgent: string -> opcional (por defecto es enkanetwork.js/v<versión_del_paquete>)
* language: string -> opcional (por defecto es Inglés)
* cache: booleano -> opcional (por defecto es false)
*/
// O starrail. Funciona para ambos
genshin.getPlayer(738081787)
.then((jugador) => console.log(jugador))
.catch((err) => console.log(err));
Puedes habilitar el sistema caché para que los datos estén en caché hasta que expire el ttl. Ayuda a prevenir rate limits.
const { Wrapper } = require('enkanetwork.js')
// El cliente de Genshin y Star Rail.
const { genshin, starrail } = new Wrapper({
cache: true
});
// O starrail. Pide la información del jugador y la guarda en caché hasta que el ttl expire.
genshin.getPlayer(738081787)
.then((jugador) => console.log(jugador))
.catch((err) => console.log(err));
Puedes obtener la información de perfiles, cuentas vínculadas al perfil y builds de un perfil de Enka.
const { Wrapper } = require('enkanetwork.js')
// El cliente de Genshin y Star Rail.
const { genshin, starrail } = new Wrapper();
// Las funciones de abajo funcionan tanto en el cliente de Genshin como en el de Star Rail.
// Obtener información sobre el perfil de alguien.
genshin.getEnkaProfile('Jelosus1')
.then((perfil) => console.log(perfil))
.catch((err) => console.log(err));
// Obtener información sobre los hoyos (cuentas del juego) de alguien.
genshin.getEnkaHoyos('Jelosus1')
.then(async (hoyo) => {
console.log(hoyo);
// Puedes obtener directamente las builds guardadas en un hoyo o puedes usar el metodo fuera de el callback "then".
const builds = await hoyo[0].getHoyoBuilds();
console.log(builds);
})
.catch((err) => console.log(err));
// Metodo alternativo para obtener las builds de un hoyo. El hash del hoyo es requerido.
genshin.getEnkaHoyoBuilds('Jelosus1', '3A8F5o')
.then((builds) => console.log(builds))
.catch((err) => console.log(err));
Necesita ser remodelado. Estate atento!
Puedes encontrar los cambios de la estructura aquí
Puedes encontrar las propiedas originales de fightPropMap
en Datos de las fightPropMap
Puedes descargar automaticamente el contenido de los juegos (Requiere reiniciar el proceso para aplicar los cambios).
const { ContentUpdater } = require('enkanetwork.js')
const actualizador = new ContentUpdater(opciones);
/** opciones:
* checkInterval: número -> opcional (por defecto son 20000 ms (20 segundos))
*/
// Si el contenido se actualiza con éxito.
actualizador.on('onUpdateSuccess', () => {
console.log('Los archivos de contenido se han actualizado con éxito!');
});
// Si la actualización del contenido falla.
actualizador.on('onUpdateFail', (mensajeDeError) => {
console.log(mensajeDeError);
});
// Revisa las actualizaciones, tanto de Genshin como Star Rail.
actualizador.checkForUpdates();
El "buscador" solo puede encontrar los nombres y los assets que están disponibles en la API de enka, por ejemplo, no encontrarás el nombre de una misión aunque tengas el hash del nombre.
const { AssetFinder } = require('enkanetwork.js')
// El buscador de assets de Genshin y Star Rail.
const { genshin, starrail } = new AssetFinder(opciones);
/** opciones:
* language: string -> opcional.
* Inglés es el idioma por defecto.
* Todos los lenguajes del juego soportados.
*/
// Aquí 2 ejemplos que funcionan en los dos tipos de buscadores.
// Assets y nombre de un personaje de Genshin y Star Rail (iconos, constelaciones/eidolones imágenes, etc).
genshin.character(10000046).name; // Hu Tao
genshin.character(10000046).assets; // Assets de Hu Tao
starrail.character(1208).name; // Fu Xuan
starrail.character(1208).assets; // Assets de Fu Xuan.
// Valor de los hashes de Genshin y Star Rail.
genshin.hash(1940919994).value; // Hu Tao
starrail.hash(1558534342).value; // Fu Xuan
También puedes obtener las imágenes de personajes, constelaciones, habilidades, armas, disfraces, tarjetas de presentación y fotos de perfil para Genshin. También puedes obtener las imágenes de personajes, eidolones, habilidades, conos de luz, rastros, artefactos y fotos de perfil para Star Rail.
Puedes obtener la imagen con la siguiente URL: https://enka.network/ui/[NOMBRE_DEL_ICONO].png
para Genshin o https://enka.network/ui/[RUTA_DEL_ICONO].png
, aunque también puedes obtenerla directamente con este código:
// Genshin
const url = genshin.toLink('UI_AvatarIcon_Hutao');
console.log(url); // Resultado: https://enka.network/ui/UI_AvatarIcon_Hutao.png
// Star Rail
const url = starrail.toLink('SpriteOutput/AvatarRoundIcon/1208.png');
console.log(url); // Resultado: https://enka.network/ui/hsr/SpriteOutput/AvatarRoundIcon/1208.png
La posición de los rastros depende del tipo de vía del personaje. Aquí muestro un esquema por cada vía, creditos para FortOfFans por crearlo.
Genshin | Star Rail |
---|---|
4 - Roll maximo | 3 - Roll maximo |
3 - Roll casi maximo | 2 - Roll medio |
2 - Roll medio | 1 - Roll bajo |
1 - Roll bajo | - |
Creador: Jelosus1 Si necesitas soporte puedes contactarme por discord: Jelosus1. Unete al servidor de discord de enka. Puedes mencionarme allí también para obtener soporte.
- Algoinde
- Aportó el código base para hacer los calculos de los stats de los personajes en Star Rail.