Vous avez toujours voulu créer un assistant IA pour votre serveur Discord ou votre espace de travail Slack, mais l'idée de toucher au code vous semblait insurmontable ? Ce tutoriel est fait pour vous. Je vais vous guider pas à pas, sans aucun jargon technique barbare, pour que vous puissiez avoir votre propre chatbot IA fonctionnel en moins d'une heure.
Préparer le terrain : Ce dont vous avez besoin
Avant de commencer, voici la liste simple des ingrédients nécessaires :
- Un compte HolySheep AI — C'est notre fournisseur d'IA qui va alimenter votre chatbot. S'inscrire ici et obtenez des crédits gratuits pour démarrer.
- Un serveur Discord ou un espace de travail Slack avec les droits d'administrateur
- Node.js installé sur votre ordinateur (c'est gratuit et rapide à installer)
- 10 minutes de votre temps et une tasse de café ☕
Vous vous demandez peut-être pourquoi choisir HolySheep AI ? Personnellement, après avoir testé une dizaines de providers, j'ai trouvé que HolySheep offrait un équilibre parfait entre coût et performance. Avec un taux de change de ¥1=$1 et des économies de plus de 85% comparé aux grands noms du marché, c'est devenu mon choix默认 pour tous mes projets perso et professionnels. La latence inférieure à 50ms rend les conversations vraiment fluides.
Comprendre MCP : Le pont magique
MCP signifie Model Context Protocol. Imaginez-le comme un interprète universel qui permet à votre IA de parler avec différentes applications. C'est grâce à lui que votre chatbot pourra comprendre les messages sur Discord ET Slack, sans avoir besoin de code spécifique pour chaque plateforme.
Étape 1 : Configurer votre environnement
Ouvrez votre terminal (sur Mac : touche Cmd + Espace, tapez "Terminal" ; sur Windows : touche Windows + R, tapez "cmd") et exécutez ces commandes :
# Créer un nouveau dossier pour votre projet
mkdir mon-chatbot-ia
cd mon-chatbot-ia
Initialiser le projet
npm init -y
Installer les dépendances nécessaires
npm install @modelcontextprotocol/sdk discord.js @slack/bolt dotenv
[Capture d'écran suggérée : Le terminal montrant les commandes en cours d'exécution avec les paquets qui s'installent - vous devriez voir une liste de dépendances défiler pendant environ 30 secondes]
Étape 2 : Créer votre fichier de configuration
Dans le dossier de votre projet, créez un nouveau fichier appelé .env (le point devant est important !). Ce fichier va contenir vos secrets, un peu comme les clés de votre maison.
#ichier .env - NE JAMAIS partager ce fichier !
HOLYSHEEP_API_KEY=YOUR_HOLYSHEEP_API_KEY
DISCORD_BOT_TOKEN=votre_token_discord
SLACK_BOT_TOKEN=votre_token_slack
SLACK_SIGNING_SECRET=votre_secret_slack
Pour obtenir votre clé API HolySheep AI, connectez-vous sur votre tableau de bord HolySheep, allez dans la section "Clés API" et cliquez sur "Générer une nouvelle clé". Copiez-la et collez-la à la place de YOUR_HOLYSHEEP_API_KEY.
Étape 3 : Le code du chatbot MCP
Voici le cœur de votre projet. Créez un fichier nommé chatbot.js et collez-y ce code :
const { Server } = require('@modelcontextprotocol/sdk/server/index.js');
const { StdioServerTransport } = require('@modelcontextprotocol/sdk/server/stdio.js');
const { CallToolRequestSchema, ListToolsRequestSchema } = require('@modelcontextprotocol/sdk/types/jsonschema.js');
const { Client: DiscordClient, GatewayIntentBits } = require('discord.js');
const { App } = require('@slack/bolt');
// Configuration HolySheep
const HOLYSHEEP_CONFIG = {
baseUrl: 'https://api.holysheep.ai/v1',
apiKey: process.env.HOLYSHEEP_API_KEY
};
// Fonction pour envoyer des messages à HolySheep IA
async function envoyerMessageHolySheep(messages) {
const response = await fetch(${HOLYSHEEP_CONFIG.baseUrl}/chat/completions, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': Bearer ${HOLYSHEEP_CONFIG.apiKey}
},
body: JSON.stringify({
model: 'gpt-4.1',
messages: messages,
max_tokens: 1000
})
});
if (!response.ok) {
const errorData = await response.json().catch(() => ({}));
throw new Error(Erreur HolySheep: ${response.status} - ${JSON.stringify(errorData)});
}
return response.json();
}
// Serveur MCP pour gérer les outils
const server = new Server(
{ name: 'chatbot-slack-discord', version: '1.0.0' },
{ capabilities: { tools: {} } }
);
// Définir les outils disponibles
server.setRequestHandler(ListToolsRequestSchema, async () => {
return {
tools: [
{
name: 'envoyer_message_discord',
description: 'Envoie un message sur Discord',
inputSchema: {
type: 'object',
properties: {
channelId: { type: 'string', description: 'ID du salon Discord' },
message: { type: 'string', description: 'Le message à envoyer' }
},
required: ['message']
}
},
{
name: 'envoyer_message_slack',
description: 'Envoie un message sur Slack',
inputSchema: {
type: 'object',
properties: {
channel: { type: 'string', description: 'Canal Slack' },
text: { type: 'string', description: 'Le message à envoyer' }
},
required: ['text']
}
}
]
};
});
// Gérer les appels d'outils
server.setRequestHandler(CallToolRequestSchema, async (request) => {
const { name, arguments: args } = request.params;
if (name === 'envoyer_message_discord') {
const channel = discordClient.channels.cache.get(args.channelId);
if (channel) {
await channel.send(args.message);
}
return { content: [{ type: 'text', text: 'Message envoyé sur Discord' }] };
}
if (name === 'envoyer_message_slack') {
await slackApp.client.chat.postMessage({
channel: args.channel,
text: args.text
});
return { content: [{ type: 'text', text: 'Message envoyé sur Slack' }] };
}
throw new Error(Outil inconnu: ${name});
});
// Clients Discord et Slack
const discordClient = new DiscordClient({ intents: [GatewayIntentBits.Guilds, GatewayIntentBits.GuildMessages, GatewayIntentBits.MessageContent] });
const slackApp = new App({ token: process.env.SLACK_BOT_TOKEN, signingSecret: process.env.SLACK_SIGNING_SECRET });
// Configuration Discord
discordClient.on('messageCreate', async (message) => {
if (message.author.bot) return;
const reponse = await envoyerMessageHolySheep([
{ role: 'system', content: 'Tu es un assistant serviable sur Discord.' },
{ role: 'user', content: message.content }
]);
message.reply(reponse.choices[0].message.content);
});
// Configuration Slack
slackApp.message(async ({ message, say }) => {
if (message.subtype || !message.text) return;
const reponse = await envoyerMessageHolySheep([
{ role: 'system', content: 'Tu es un assistant serviable sur Slack.' },
{ role: 'user', content: message.text }
]);
await say(reponse.choices[0].message.content);
});
// Démarrer les services
async function demarrer() {
await discordClient.login(process.env.DISCORD_BOT_TOKEN);
await slackApp.start(process.env.PORT || 3000);
const transport = new StdioServerTransport();
await server.connect(transport);
console.log('🎉 Chatbot MCP démarré sur Discord et Slack !');
}
demarrer().catch(console.error);
Étape 4 : Configurer les tokens des plateformes
Pour Discord :
- Allez sur Discord Developer Portal
- Cliquez sur "New Application" et donnez-lui un nom
- Dans le menu latéral, cliquez sur "Bot"
- Cliquez sur "Reset Token" pour obtenir votre token (gardez-le secret !)
- Activez les "Privileged Gateway Intents" : Message Content Intent, Server Members Intent
- Dans "OAuth2" → "URL Generator", cochez "bot" et "applications.commands"
- Copiez l'URL générée et collez-la dans votre navigateur pour inviter le bot sur votre serveur
[Capture d'écran suggérée : L'interface Discord Developer Portal avec le bouton "Reset Token" encadré en rouge]
Pour Slack :
- Allez sur Slack API Apps
- Cliquez sur "Create New App" → "From scratch"
- Choisissez votre espace de travail et donnez un nom à votre app
- Dans "Basic Information", copiez votre "Signing Secret"
- Cliquez sur "OAuth & Permissions" dans le menu latéral
- Descendez à "Bot Token Scopes" et ajoutez ces scopes :
chat:write,channels:history,im:history - Cliquez sur "Install to Workspace" et copiez le "Bot User OAuth Token" (commence par
xoxb-)
[Capture d'écran suggérée : La page Slack OAuth avec le token Bot visible et les scopes listés]
Étape 5 : Lancer votre chatbot
Retournez à votre terminal et tapez :
node chatbot.js
Si tout est bien configuré, vous devriez voir :
🎉 Chatbot MCP démarré sur Discord et Slack !
Félicitations ! Votre chatbot est maintenant en ligne et prêt à répondre sur les deux plateformes.
Personnaliser le comportement de l'IA
Vous pouvez modifier le comportement de votre assistant en changeant le message système. Par exemple, pour un assistant technique :
const reponse = await envoyerMessageHolySheep([
{
role: 'system',
content: 'Tu es un expert en programmation qui répond de manière concise et technique. Tu donnes des exemples de code quand c\'est pertinent.'
},
{ role: 'user', content: message.content }
]);
Comprendre les modèles disponibles
Sur HolySheep AI, vous avez accès à plusieurs modèles. Voici un tableau comparatif pour vous aider à choisir :
| Modèle | Prix ($/million de tokens) | Meilleur pour |
|---|---|---|
| DeepSeek V3.2 | $0.42 | Budget serré, tâches simples |
| Gemini 2.5 Flash | $2.50 | Bon rapport qualité/prix |
| GPT-4.1 | $8 | Conversations complexes |
| Claude Sonnet 4.5 | $15 | Meilleure compréhension contextuelle |
Pour changer de modèle, modifiez simplement la ligne model: 'gpt-4.1' dans le code par le modèle de votre choix.
Erreurs courantes et solutions
Erreur 1 : "401 Unauthorized" - Clé API invalide
Symptôme : Le chatbot ne répond pas et vous voyez cette erreur dans la console :
Erreur HolySheep: 401 - {"error": {"message": "Invalid API key", "type": "invalid_request_error"}}
Solution : Vérifiez que votre clé API est correctement copiée dans le fichier .env. Assurez-vous qu'il n'y a pas d'espaces avant ou après le signe = :
# INCORRECT (avec espaces) :
HOLYSHEEP_API_KEY = your_key_here
CORRECT (sans espaces) :
HOLYSHEEP_API_KEY=your_key_here
Erreur 2 : "Cannot find module '@modelcontextprotocol/sdk'"
Symptôme : L'installation des dépendances semble réussie mais Node.js ne trouve pas le module.
Error: Cannot find module '@modelcontextprotocol/sdk'
Solution : Supprimez le dossier node_modules et le fichier package-lock.json, puis réinstallez :
rm -rf node_modules package-lock.json
npm install @modelcontextprotocol/sdk@latest discord.js@latest @slack/bolt@latest dotenv@latest
Erreur 3 : "Missing access" sur Discord
Symptôme : Le bot apparaît en ligne mais ne répond pas aux messages.
DiscordAPIError: Missing Access
at handleErrors (/path/to/node_modules/discord.js/src/client/rest/RESTMethods.js:90:15)
Solution : Le bot n'a pas les permissions nécessaires. Réinvitez-le avec les bonnes permissions en utilisant cette URL (remplacez YOUR_CLIENT_ID par votre ID client Discord) :
https://discord.com/api/oauth2/authorize?client_id=YOUR_CLIENT_ID&permissions=536870912&scope=bot%20applications.commands
Cette URL donne les permissions de lecture et écriture de messages.
Erreur 4 : "channel_not_found" sur Slack
Symptôme : L'erreur apparaît quand le bot essaie de répondre.
Solution : Le bot n'est pas présent dans le canal Slack. Ajoutez-le manuellement :
# Tapez cette commande dans votre canal Slack :
/invite @nom_de_votre_bot
Ou installez l'application Slack dans les canaux concernés via le panneau d'administration Slack.
FAQ - Questions fréquentes
Q : Le chatbot peut-il parler plusieurs langues ?
R : Oui ! HolySheep AI supporte plus de 100 langues. Par défaut, il détecte automatiquement la langue utilisée.
Q : Combien ça coûte ?
R : Avec HolySheep AI, les coûts sont ultra-compétitifs. Par exemple, DeepSeek V3.2 coûte seulement $0.42 par million de tokens. Pour une conversation typique de 1000 tokens, cela revient à moins de 0.001€ ! De plus, les nouveaux utilisateurs reçoivent des crédits gratuits à l'inscription.
Q : Mon bot va-t-il répondre quand je suis hors ligne ?
R : Oui ! Contrairement aux appels vidéo, le chatbot fonctionne 24h/24 et répondra à vos messages même si vous êtes déconnecté.
Conclusion et prochaines étapes
Vous avez maintenant un chatbot IA fonctionnel connecté à la fois sur Discord et Slack ! C'est un projet qui m'a personnellement demandé des semaines de galère avant de trouver la bonne configuration. Avec ce guide, vous avez économisé un temps précieux 😉.
Quelques idées pour aller plus loin :
- Ajouter une base de connaissances pour que le bot réponde sur votre entreprise
- Intégrer des commandes slash comme
/aideou/stats - Créer différents profils selon les channels
- Ajouter des réactions automatiques basées sur des mots-clés
La beauté de MCP est sa flexibilité : une fois compris, vous pouvez l'adapter pour connecter votre IA à WhatsApp, Telegram, ou même des outils professionnels comme Notion ou Linear.
N'oubliez pas de surveiller votre consommation sur votre tableau de bord HolySheep pour optimiser vos coûts. Avec le modèle DeepSeek V3.2 à $0.42/MTok et le paiement via WeChat ou Alipay, vous avez accès à une solution économique et pratique.
Si vous avez des questions ou des blocages, laissez un commentaire ci-dessous - je réponds généralement sous 24h !
👉 Inscrivez-vous sur HolySheep AI — crédits offerts