Skip to content

Installation ​

Prérequis ​

PrérequisDé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 BloumeChatGé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 ​

sh
npm install bloumechat
sh
pnpm add bloumechat
sh
yarn add bloumechat

Le 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

sh
npm list bloumechat

La 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 via process.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.
sh
# .env — jamais commité
BOT_TOKEN=votre_token_ici

login() 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 ​

ts
// 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!);
js
// 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 :

sh
npx tsx index.ts
sh
node index.js

Aucune é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ômeCause probableSolution
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 consolebaseUrl/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é.

SDK publié sous licence ISC.