hrvclan
v1.1.1
Published
Hrv Clans Public NPM Package
Downloads
593
Maintainers
Readme
📊 Hrv Clan – Public NPM Package (CommonJS)
Node.js package render:
- 📈 Leaderboard → PNG
- ❤️ Ship Love Image → PNG
Works only with CommonJS (
require)
Do NOT use ESModules
🚀 1. Requirements
- Node.js >= 18
- CommonJS only
- Windows / Linux / VPS supported
Check version:
node -v📦 2. Installation
npm install hrvclan📥 3. Import Package
const {
getLeaderboardCardUrl,
fetchLeaderboardCardImage,
saveLeaderboardImage,
generateShipImage
} = require("hrvclan");📈 4. Leaderboard Usage
Example
const fs = require("fs");
const {
getLeaderboardCardUrl,
fetchLeaderboardCardImage,
saveLeaderboardImage
} = require("hrvclan");
const entries = [
{ name: "jack", score: 9999, avatar: "https://i.pravatar.cc/150?img=1" },
{ name: "nam", score: 7200, avatar: "https://i.pravatar.cc/150?img=2" },
{ name: "linh", score: 5500, avatar: "https://i.pravatar.cc/150?img=3" },
{ name: "hoa", score: 3000, avatar: "https://i.pravatar.cc/150?img=4" }
];
async function run() {
// 1️⃣ Get preview URL
const url = getLeaderboardCardUrl(entries);
console.log("Preview:", url);
// 2️⃣ Save directly
await saveLeaderboardImage(entries, "./leaderboard.png");
// 3️⃣ Get Buffer
const buffer = await fetchLeaderboardCardImage(entries, {
width: 1080,
height: 1920,
fullPage: false
});
fs.writeFileSync("leaderboard-buffer.png", buffer);
}
run();❤️ 5. Ship Usage
Generate love compatibility image.
Example
const fs = require("fs");
const { generateShipImage } = require("hrvclan");
async function run() {
const buffer = await generateShipImage({
bg: "https://www.shutterstock.com/image-vector/sea-paper-ship-heart-postcard-260nw-1124247656.jpg",
avt1: "https://i.pravatar.cc/150?img=5",
avt2: "https://i.pravatar.cc/150?img=6",
percent: 88 // optional (random if not provided)
});
fs.writeFileSync("ship.png", buffer);
console.log("Ship image saved!");
}
run();📚 API Reference
📈 Leaderboard
getLeaderboardCardUrl(entries)
Returns HTML preview URL.
stringfetchLeaderboardCardImage(entries, options)
Returns PNG Buffer.
Promise<Buffer>Options:
| Name | Type | |------|------| | width | number | | height | number | | fullPage | boolean |
saveLeaderboardImage(entries, filePath)
Save PNG file directly.
Promise<void>❤️ Ship
ship(options)
Returns PNG Buffer.
Promise<Buffer>Options:
| Name | Type | Required | |------|------|-------------------| | avt1 | string (image URL) | ✅ | | avt2 | string (image URL) | ✅ | | percent | number (0-100) | ❌ | | bg | string (image URL) | ❌ |
If percent is not provided → random 0–100.
📦 Data Format
Leaderboard entry:
{
name: string,
score: number,
avatar: string
}🛠 Troubleshooting
Cannot use import statement outside module
Use:
require("hrvclan");NOT:
import ...Puppeteer error on VPS
Install:
npm install puppeteer --unsafe-perm=true👑 Author
Hrv Clan
