Héberger un bot Twitch sur VPS est la façon pro de gérer un chat Twitch sans laisser son PC perso tourner 24/7 pendant les streams et entre les sessions. Que vous vouliez modérer automatiquement le chat, lancer des minijeux, suivre les abonnements ou créer vos propres commandes personnalisées, un bot Twitch dédié sur VPS apporte la fiabilité que les services tout-en-un comme Streamlabs ou Nightbot ne donnent pas toujours. Voici la méthode complète 2026 pour créer, coder et héberger un bot Twitch personnel.
Pourquoi créer son propre bot Twitch ?
Les bots tout-en-un comme Nightbot, StreamElements ou Streamlabs Chatbot couvrent 80 % des besoins de la plupart des streamers. Pourtant, beaucoup de cas d’usage exigent un bot personnel :
- Commandes ultra-personnalisées que les services généralistes ne gèrent pas
- Intégration avec un système externe (votre site, votre base de données, votre Discord)
- Modération intelligente avec IA ou règles complexes
- Minijeux interactifs dans le chat (loterie, qui suis-je, blackjack…)
- Récompenses fidélité avec points cumulables à vos règles
- Apprendre Node.js ou Python sur un cas d’usage concret et amusant
Un bot Twitch consomme très peu de ressources : moins de 100 Mo de RAM et quelques pourcents de CPU. Un VPS d’entrée de gamme à 5 € suffit largement pour héberger plusieurs bots en parallèle (Twitch + Discord + Telegram par exemple).
Quel VPS choisir pour héberger un bot Twitch ?
Les besoins sont très modestes. Voici les VPS recommandés pour un bot Twitch personnel en 2026 :
| VPS | Prix / mois | RAM | Datacenter FR | Pour |
|---|---|---|---|---|
| Hostinger KVM 1 | ~ 4 € | 4 Go | ✅ | Débutants, setup en 5 minutes |
| OVH VPS Starter | ~ 3,50 € | 2 Go | ✅ | Configuration manuelle, datacenter FR |
| Contabo Cloud VPS S | ~ 5 € | 8 Go | ⚠️ Allemagne | Plusieurs bots en parallèle |
Hostinger reste notre recommandation principale : installation Ubuntu en un clic, panneau d’admin en francais, support 24/7 et datacenter Paris pour une latence inférieure à 15 ms vers les serveurs IRC Twitch.
Comment créer un compte Twitch dédié pour le bot ?
Vous pouvez utiliser votre compte Twitch principal pour le bot, mais ce n’est pas recommandé. La bonne pratique : créer un second compte dédié qui ne servira qu’au bot.
- Déconnectez-vous de Twitch ou ouvrez un navigateur en mode navigation privée
- Créez un nouveau compte avec une adresse email différente (Gmail+alias fonctionne)
- Choisissez un username qui inclut « Bot » (par exemple
MonChaineBot) pour que les viewers comprennent - Vérifiez l’email et activez le 2FA Twitch par sécurité (paramètres > Sécurité)
- Ajoutez ce compte bot comme modérateur sur votre chaîne principale via la commande
/mod MonChaineBotdans le chat
Le bot doit être modérateur pour pouvoir supprimer des messages, timeout des viewers ou envoyer des messages à plus haut débit que les comptes normaux.
Comment obtenir un token OAuth Twitch ?
Pour que votre bot puisse se connecter au chat Twitch, il a besoin d’un token OAuth. Vous l’obtiendrez en deux étapes :
- Connectez-vous à Twitch avec le compte du bot
- Allez sur twitchtokengenerator.com (outil tiers gratuit) ou dev.twitch.tv/console/apps (méthode officielle)
- Sélectionnez les scopes nécessaires :
chat:read+chat:editau minimum, ajoutezmoderator:manage:banned_userssi vous voulez moderer - Validez l’autorisation. Vous obtenez un token au format
oauth:abcdefgh1234567890... - Stockez ce token dans un fichier
.envsur votre VPS, jamais en clair dans le code
Attention : ne partagez jamais ce token. Quelqu’un qui a votre token a un contrôle total sur votre bot et peut spammer ou supprimer des messages au nom du compte. Les tokens expirent régulièrement (généralement 60 jours pour les tokens user) : prévoyez de les renouveler.
Quel langage et quelle librairie choisir ?
Twitch chat fonctionne sur le protocole IRC, supporté par presque tous les langages. Voici les librairies les plus utilisées en 2026 :
| Langage | Librairie | Avantages |
|---|---|---|
| JavaScript / Node.js | tmi.js | Référence absolue, communauté énorme |
| Python | TwitchIO | Syntaxe simple, async/await natif |
| Go | go-twitch-irc | Léger, performant pour gros chat |
| C# / .NET | TwitchLib | Très complet, support OAuth intégré |
| Rust | twitch-irc-rs | Performance et fiabilité maximales |
Pour ce guide, nous utilisons tmi.js sur Node.js : c’est le plus populaire et le plus documenté. Le code minimal tient en quelques lignes.
Comment déployer son bot Twitch sur VPS ?
Une fois connecté à votre VPS en SSH, suivez ces étapes :
- Mettez à jour le système :
sudo apt update && sudo apt upgrade -y - Installez Node.js 20 LTS :
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -puissudo apt install -y nodejs - Créez un dossier pour le bot :
mkdir mon-bot-twitch && cd mon-bot-twitch - Initialisez :
npm init -y - Installez tmi.js :
npm install tmi.js dotenv - Créez un fichier
.envavec :BOT_USERNAME=MonChaineBotetOAUTH_TOKEN=oauth:abcdef...etCHANNEL_NAME=votre_chaine - Créez
bot.jsavec le code ci-dessous
Code minimal d’un bot Twitch qui répond « Pong! » à la commande !ping :
require('dotenv').config();
const tmi = require('tmi.js');
const client = new tmi.Client({
identity: {
username: process.env.BOT_USERNAME,
password: process.env.OAUTH_TOKEN
},
channels: [process.env.CHANNEL_NAME]
});
client.connect();
client.on('message', (channel, tags, message, self) => {
if (self) return;
if (message.toLowerCase() === '!ping') {
client.say(channel, `@${tags.username} Pong!`);
}
});
Lancez le bot avec node bot.js. Ouvrez votre chaîne Twitch, tapez !ping dans le chat : le bot doit répondre instantanément.
Comment garder le bot Twitch en ligne 24/7 ?
Comme pour les bots Discord et Telegram, utilisez PM2 pour assurer la persistance et le redémarrage automatique.
- Installez PM2 globalement :
sudo npm install -g pm2 - Lancez votre bot :
pm2 start bot.js --name "bot-twitch" - Activez le redémarrage au boot :
pm2 startupet suivez la commande indiquée - Sauvegardez la liste :
pm2 save
Le bot tournera même après un redémarrage du VPS, et redémarrera automatiquement s’il crashe. Pour la méthode détaillée, voyez aussi Comment installer un bot Discord 24/7 sur VPS ? qui couvre tous les détails PM2 + systemd.
Erreurs courantes et solutions
« Login authentication failed » au lancement
Le token OAuth est invalide, expiré ou mal copié. Solution : re-générez un token frais via twitchtokengenerator.com et vérifiez qu’il est bien préfixé par oauth: (avec les deux points) dans votre fichier .env.
Le bot se connecte mais ne répond pas aux commandes
Vérifiez que le scope chat:read est bien dans votre token, et que le nom de chaîne dans CHANNEL_NAME est en minuscules sans le # (par exemple monpseudo, pas #MonPseudo). Twitch est sensible à la casse sur les commandes.
Le bot envoie des messages très lentement
Twitch applique un rate limit strict : 20 messages toutes les 30 secondes pour un compte normal, 100 pour un modérateur. Si votre bot dépasse, les messages sont bufferisés puis envoyés plus lentement. Solution : ajoutez votre bot comme modérateur sur la chaîne avec /mod nom_du_bot dans le chat, ou implementez un système de cooldown dans votre code.
Le token expire toutes les semaines
Les tokens user expirent au bout de 60 jours en moyenne. Solution : implémentez un refresh token automatique via l’API Twitch en utilisant un Application Token (Client Credentials Grant) qui dure plus longtemps. Pour un projet perso, vous pouvez aussi simplement ré-générer un token tous les 30 jours manuellement.
Conflict avec un autre bot (Nightbot, StreamElements)
Si vous gardez Nightbot ou StreamElements en parallèle, attention aux commandes en double. Si !ping est défini sur les deux, les deux bots répondront en même temps. Solution : utilisez un préfixe unique pour votre bot (par exemple ?ping ou $ping), ou désactivez la commande sur l’un des deux services.
🎬 Pour aller plus loin avec votre VPS et vos bots :

