Installation
Prérequis
| Prérequis | Détail |
|---|---|
| Node.js 20+ | Requis depuis la 1.5.0 (Node 18 est en fin de vie). Nécessaire pour fetch, AbortController et les autres API natives utilisées en interne par le client (apiCall). |
| Un token de bot BloumeChat | Généré côté serveur pour un compte de type isBot: true, via le portail développeurs. |
| TypeScript 4.5+ (optionnel) | Uniquement si vous écrivez votre bot en TypeScript. Le SDK fonctionne à l'identique en JavaScript pur — voir Utiliser le SDK en JavaScript. |
Installer le package
npm install bloumechatpnpm add bloumechatyarn add bloumechatLe package embarque ses propres types TypeScript (dist/index.d.ts, plus dist/index.d.mts pour l'ESM) — aucun @types/bloumechat séparé n'est nécessaire. Il publie également deux formats de build : CommonJS (dist/index.js, champ main) et ES Modules (dist/index.mjs, champ module), pour fonctionner aussi bien avec require() qu'avec import.
Vérifier la version installée
npm list bloumechatLa documentation présente correspond à la version 4.2.0. En cas de doute sur une méthode qui semble absente de votre version installée, consultez le CHANGELOG.
Obtenir un token de bot
Un token de bot s'obtient en créant une application de type bot depuis le portail développeurs BloumeChat. Ce token est la seule information nécessaire pour authentifier votre bot — client.login(token) s'en sert pour ouvrir la connexion WebSocket et signer les appels REST.
Le token n'est jamais affiché en clair dans les logs du SDK : le client le stocke dans une propriété interne non énumérable et la masque explicitement dans console.log(client) / util.inspect(client) (sortie "[REDACTED]") ainsi que dans JSON.stringify(client). Mais côté développeur, sa protection reste de votre responsabilité :
- Ne le committez jamais dans un dépôt Git (ajoutez
.envà votre.gitignore). - Stockez-le dans une variable d'environnement (
BOT_TOKEN) et chargez-le viaprocess.env. - Ne le partagez jamais dans un ticket, une capture d'écran ou un message — un token de bot donne un accès complet aux actions autorisées par les permissions du bot.
- Régénérez-le immédiatement s'il a fuité (log CI, capture d'écran, dépôt public…) depuis le portail développeurs.
# .env — jamais commité
BOT_TOKEN=votre_token_icilogin() valide le format, pas la validité du token
client.login() rejette immédiatement si le token n'est pas une chaîne non vide ("login() requires a non-empty bot token string."), mais un token invalide ou expiré n'échoue qu'au moment de la négociation Socket.IO — écoutez toujours l'événement error (voir Événements) ou capturez le rejet de la promesse retournée par login().
Premier fichier
// index.ts
import { BloumeChat } from "bloumechat";
const client = new BloumeChat();
client.on("ready", () => {
console.log(`✅ Connecté en tant que ${client.user?.tagString}`);
});
client.login(process.env.BOT_TOKEN!);// index.js
const { BloumeChat } = require("bloumechat");
const client = new BloumeChat();
client.on("ready", () => {
console.log(`✅ Connecté en tant que ${client.user?.tagString}`);
});
client.login(process.env.BOT_TOKEN);Exécutez-le :
npx tsx index.tsnode index.jsAucune étape de build n'est nécessaire en JavaScript, et tsx (ou ts-node) suffit à exécuter directement le TypeScript en développement sans configuration supplémentaire — voir Utiliser le SDK en JavaScript pour le détail complet (CommonJS vs ESM, autocomplétion sans TypeScript, JSDoc…).
Dépannage
| Symptôme | Cause probable | Solution |
|---|---|---|
login() requires a non-empty bot token string. | process.env.BOT_TOKEN est undefined (variable non chargée). | Vérifiez que votre fichier .env est chargé (dotenv ou équivalent) avant l'appel à login(). |
L'événement ready ne se déclenche jamais, error est émis. | Token invalide, expiré, ou révoqué. | Régénérez le token depuis le portail développeurs. |
[BloumeChat SDK] Insecure protocol... dans la console | baseUrl/socketUrl a été surchargé vers une URL en http:// non locale. | N'écrasez pas baseUrl/socketUrl sauf en développement local — voir l'avertissement de sécurité intégré au client. |
Prochaine étape
Poursuivez avec la page Démarrage rapide pour faire réagir votre bot aux messages, aux membres et définir une activité.
