Command Palette

Search for a command to run...

Estructura de una presencia

Comprende la estructura de carpetas requerida para una presencia de Nowly.

Estructura de carpetas

Una presencia se encuentra en src, agrupada por la primera letra de su nombre:

TXT
src/Y/YouTube/
|-- metadata.json
|-- presence.ts
`-- assets/
    |-- logo.png
    |-- icon.png
    `-- thumbnail.jpg

metadata.json

metadata.json describe la plataforma, URL compatibles, autor, categoría, descripciones localizadas, recursos de la biblioteca e indicadores opcionales como discordNative.

presence.ts

presence.ts contiene la lógica de ejecución. Detecta el estado de la página y llama a la API de Presence.

utils/

Para presencias complejas, divide tu lógica en archivos dedicados bajo una carpeta utils/. La presencia de YouTube, por ejemplo, organiza helpers DOM, análisis de canales y resolución de Shorts en módulos separados:

TXT
src/Y/YouTube/
|-- metadata.json
|-- presence.ts
|-- assets/
|   |-- logo.png
|   |-- icon.png
|   `-- thumbnail.jpg
`-- utils/
    |-- categories.ts
    |-- dom.ts
    |-- channel.ts
    |-- text.ts
    |-- bridge.ts
    |-- shorts-dom.ts
    |-- shorts-resolve.ts
    `-- youtube-data.ts

El empaquetador resuelve importaciones locales desde presence.ts, por lo que puedes importar archivos de utilidad con normalidad:

import { findVideo } from "./utils/dom"
import { getChannelInfo } from "./utils/channel"

assets

Los recursos los usan la biblioteca, el paquete de presencia instalado, los datos de actividad de Discord y las imágenes Open Graph.

Archivos requeridos:

CampoTipoDescripciónPredeterminado
logo.png*PNG, 300×300Marca amplia para encabezados de la biblioteca, páginas de presencia e imágenes OG generadas.-
icon.png*PNG, 128×128Icono cuadrado para superficies de interfaz compactas y claves de imagen de actividad de Discord.-
thumbnail.jpg*JPG, 1920×1080Imagen de vista previa usada cuando la presencia necesita un visual más grande.-

Estas dimensiones son requisitos exactos, verificados por CI en cada PR de presencia - consulta Assets para más detalle.