Real-time monitoring and remote control agent for Discord bots.
npm install latencyhub-agent
bash
npm install latencyhub-agent
`
---
🚀 Démarrage Rapide
$3
Ajoutez ces quelques lignes dans votre fichier principal (ex: index.js) :
`javascript
const LatencyHub = require('latencyhub-agent');
const agent = new LatencyHub({
apiKey: "VOTRE_TOKEN_LATENCYHUB", // Disponible dans les réglages de l'app mobile
botName: "MonBotDiscord",
avatar: "https://lien-vers-mon-avatar.com/img.png", // Optionnel
port: 4000
});
agent.start();
`
$3
Vous pouvez définir ce que font les boutons de l'application mobile :
`javascript
// Exemple : Recharger les commandes sans redémarrer
agent.onAction('RELOAD_CMDS', async () => {
console.log("🔄 Rechargement des commandes Slash...");
await client.commands.load();
});
// Exemple : Nettoyer le cache
agent.onAction('CLEAR_CACHE', () => {
client.guilds.cache.clear();
});
`
---
🕹️ Commandes Supportées
L'agent gère nativement les IDs d'actions suivants envoyés par l'application :
| Action ID | Description |
| --- | --- |
| RESTART | Arrête le processus (exit 0) pour laisser PM2/Docker le relancer. |
| STOP | Arrêt définitif de l'instance. |
| RELOAD_CMDS | Déclenche votre logique de rechargement de commandes. |
| CLEAR_CACHE | Déclenche votre logique de nettoyage mémoire. |
| MAINTENANCE | Bascule votre bot en mode maintenance. |
| GET_LOGS | (Bientôt) Récupère les dernières lignes de console. |
---
🛡️ Sécurité (Zero Trust)
La sécurité est notre priorité. L'agent implémente plusieurs couches de protection :
1. Validation de Clé : Chaque requête doit contenir un header x-latencyhub-key valide.
2. CORS : Seules les requêtes autorisées sont acceptées.
3. Protection Headers : Utilisation de helmet pour prévenir les vulnérabilités HTTP classiques.
4. Isolations des processus : L'agent n'a accès qu'aux métriques de son propre processus (PID).
---
📊 API de Monitoring
Si vous souhaitez interroger l'agent manuellement (via Curl ou Postman) :
GET /status
Headers : x-latencyhub-key: VOTRE_CLE
Réponse :
`json
{
"botName": "MonBot",
"status": "Online",
"metrics": {
"cpu": "1.2%",
"ram": "45MB",
"uptime": "3600s"
}
}
``