Las herramientas de Convoyrama no solo crean imágenes visuales, sino que también incrustan metadatos estructurados (JSON) dentro de los archivos PNG generados. Esto permite que bots de Discord y otras aplicaciones lean la información directamente desde la imagen sin necesidad de OCR.
Los datos se almacenan en un chunk auxiliar de tipo tEXt dentro de la estructura del PNG. Usamos claves específicas (Keywords) para diferenciar el tipo de contenido.
Utilizado por el generador de licencias (id.html).
KEYWORD convoyrama-data
{
"name": "Nombre del Usuario",
"license_number": "UY12345",
"country": "UY", // Código ISO de 2 letras
"rank": 5, // Nivel calculado (1-12)
"is_verified": true, // Validado con API de TruckersMP
"tmp_join_date": "2020-01-15 14:30:00"
}
Utilizado por el creador de eventos (event.html).
KEYWORD convoyrama-event-data
{
"eventName": "Gran Convoy Semanal",
"server": "Simulation 1",
"meetingTimestamp": 1704067200, // Unix Timestamp
"departureTimestamp": 1704068100
}
Usa png-chunk-text para leer estos datos:
const extract = require('png-chunks-extract');
const text = require('png-chunk-text');
// Extraer chunks de texto
const textChunks = chunks
.filter(chunk => chunk.name === 'tEXt')
.map(chunk => text.decode(chunk.data));
// Buscar nuestra keyword
const eventData = textChunks.find(c => c.keyword === 'convoyrama-event-data');