Chatbot Telegram IA en 30 minutes
Temps de lecture : 12 minutes | Niveau : Débutant | Dernière mise à jour : Février 2025
Vous avez toujours voulu créer votre propre assistant IA sur Telegram ? Un bot qui comprend vraiment vos questions, se souvient de vos conversations précédentes et peut effectuer des actions concrètes ?
J'ai créé des dizaines de bots Telegram ces dernières années, et je vais vous montrer exactement comment construire un chatbot intelligent en moins de 30 minutes. Pas de bullshit marketing, pas de "contactez-nous pour en savoir plus" — juste du code Python que vous pouvez copier-coller et adapter.
À la fin de ce tutoriel, vous aurez un bot fonctionnel qui :
- Répond intelligemment grâce à un LLM (OpenAI, Claude, ou Gemini)
- Mémorise le contexte de conversation
- Gère des commandes personnalisées (/start, /reset, /stats)
- Peut être étendu avec n'importe quelle fonctionnalité
Pourquoi Telegram ? Parce que leur API est simple, gratuite, et bien documentée. Contrairement à WhatsApp ou Messenger qui imposent des validations bureaucratiques, vous pouvez lancer un bot Telegram en 2 minutes chrono.
L'essentiel
- Un chatbot Telegram intelligent repose sur trois piliers : un connecteur Telegram (python-telegram-bot), un cerveau LLM (OpenAI, Claude ou Gemini) et une mémoire (fichiers JSON ou SQLite).
- Le code complet prend moins de 150 lignes de Python et se lance en une seule commande.
- Les coûts sont très faibles : moins de 1€ pour 1000 conversations avec GPT-3.5-turbo ou Gemini Flash, voire gratuit avec la version gratuite de Gemini.
- Le déploiement en production 24/7 peut se faire sur un VPS à 5€/mois, via Docker, ou en mode serverless pour un coût quasi nul.
Ce dont vous aurez besoin
Avant de commencer, assurez-vous d'avoir :
- Python 3.9+ installé sur votre machine
- Un compte Telegram (évidemment)
- Une clé API d'un fournisseur LLM :
- OpenAI (GPT-4, GPT-3.5) — Console Anthropic (pour Claude)
- Google (Gemini) — AI Studio Google
- 10-15 minutes de concentration
Budget : Si vous utilisez GPT-3.5-turbo ou Gemini Flash, comptez moins de 1€ pour 1000 conversations. GPT-4 ou Claude Sonnet coûtent plus cher (~0.10€ par conversation) mais offrent une qualité supérieure.
💡 Astuce pro : Commencez avec Gemini Flash (gratuit jusqu'à 1500 requêtes/jour) pour tester, puis passez à un modèle payant quand vous aurez validé votre use case. Pour choisir le bon modèle, consultez notre Claude 4 vs GPT-5 vs Gemini 3 : le comparatif honnête que personne ne fait.
Étape 1 : Créer votre bot Telegram (2 minutes)
Ouvrez Telegram et cherchez @BotFather — c'est le bot officiel de Telegram pour créer... des bots.
Tapez /newbot et suivez les instructions :
You: /newbot
BotFather: Alright, a new bot. How are we going to call it?
You: Mon Assistant IA
BotFather: Good. Now choose a username for your bot. It must end in 'bot'.
You: mon_assistant_ia_bot
BotFather: Done! Your token is: 1234567890:ABCdefGHIjklMNOpqrsTUVwxyz
Sauvegardez ce token précieusement — c'est la clé d'accès à votre bot. Ne le partagez jamais publiquement.
Configurons quelques paramètres utiles via les commandes BotFather (/setdescription, /setabouttext, /setuserpic, /setcommands) pour ajouter une description, un texte de profil, une photo et la liste des commandes (start, reset, stats, help).
Voilà, votre bot existe. Maintenant, donnons-lui un cerveau.
Étape 2 : Architecture du bot (comprendre avant de coder)
Avant de plonger dans le code, comprenons l'architecture. Un chatbot Telegram intelligent, c'est trois composants :
1. Le connecteur Telegram (python-telegram-bot)
Gère la réception des messages, l'envoi des réponses, les commandes. C'est la "peau" du bot.
2. Le cerveau LLM (OpenAI/Claude/Gemini)
Génère les réponses intelligentes. On lui passe le message de l'utilisateur + l'historique de conversation, il répond.
3. La mémoire (SQLite ou fichiers JSON)
Stocke l'historique des conversations par utilisateur. Sans ça, le bot oublie tout entre deux messages.
Schéma simplifié :
User → Telegram API → Bot Python → [Récupère historique]
↓
LLM (OpenAI/Claude)
↓
[Sauvegarde réponse]
↓
Telegram API → User
Maintenant qu'on a la carte, construisons la route.
Étape 3 : Installation des dépendances
Créez un dossier pour votre projet, initialisez un environnement virtuel Python et installez les librairies nécessaires via pip install python-telegram-bot openai anthropic python-dotenv.
Détail des packages :
- python-telegram-bot : wrapper officiel pour l'API Telegram (20.8+)
- openai : client pour OpenAI et modèles compatibles
- anthropic : client pour Claude (optionnel si vous utilisez OpenAI)
- python-dotenv : gestion des variables d'environnement
Créez un fichier .env pour stocker vos clés API (TELEGRAM_TOKEN, OPENAI_API_KEY, ou ANTHROPIC_API_KEY) en toute sécurité.
🔒 Sécurité : N'ajoutez JAMAIS
.envà votre dépôt Git. Ajoutez-le dans.gitignore.
Étape 4 : Le code complet (à copier-coller)
Créez un fichier bot.py. Le code inclut un système de logging pour le débug, le chargement des variables d'environnement, et une classe ConversationMemory qui gère la mémoire des conversations par utilisateur en sauvegardant l'historique dans des fichiers JSON individuels (limités à 50 messages pour contrôler les coûts et rester dans les limites de tokens). Le bot enregistre quatre handlers de commandes (/start pour l'accueil, /reset pour effacer la mémoire, /stats pour afficher le nombre de messages échangés, /help pour le guide d'utilisation) ainsi qu'un handler principal pour les messages texte. Ce dernier récupère l'historique de l'utilisateur, l'envoie à l'API OpenAI avec un system prompt définissant la personnalité du bot, puis renvoie la réponse générée tout en la sauvegardant dans la mémoire. Un gestionnaire d'erreurs global attrape les exceptions pour éviter un crash du bot. La fonction main() vérifie la présence des variables d'environnement, construit l'application et lance le polling.
Étape 5 : Lancement du bot
Sauvegardez le fichier et lancez-le avec python bot.py. Le terminal affiche un message confirmant le démarrage. Ouvrez Telegram, cherchez votre bot (le nom que vous avez donné dans BotFather), et tapez /start.
Boom 💥 Votre bot répond !
Testez quelques questions :
- "Explique-moi l'IA en une phrase"
- "Quelle est la capitale de la Mongolie ?"
- "Tu te souviens de ce que je t'ai demandé avant ?" (il devrait se souvenir)
Comprendre le code : les points clés
1. La gestion de la mémoire
Chaque utilisateur a son propre fichier JSON dans le dossier conversations/. Si Alice (user_id=123456) parle au bot, ses messages sont sauvegardés dans conversations/123456.json.
Pourquoi JSON et pas une base de données ? Pour un bot simple, JSON suffit. Si vous avez 10 000+ utilisateurs avec de l'historique complexe, passez à SQLite ou PostgreSQL.
2. Le système prompt
Le system prompt définit la personnalité du bot. C'est là que vous pouvez le customiser :
- Bot expert en développement : "Tu es un développeur senior expert en Python et IA. Tu donnes des réponses techniques précises avec du code."
- Bot coach sportif : "Tu es un coach sportif bienveillant. Tu motives l'utilisateur et donnes des conseils personnalisés."
- Bot de cuisine : "Tu es un chef cuisinier. Tu donnes des recettes détaillées et des astuces de pro."
Changez ce prompt et votre bot change de personnalité instantanément.
3. La limitation de contexte
L'historique est limité aux 50 derniers messages. Pourquoi limiter ? Parce que les API LLM ont une limite de tokens. GPT-3.5-turbo accepte ~4096 tokens par requête. Si vous envoyez 200 messages d'historique, vous dépasserez la limite ET payerez très cher.
Stratégie : Gardez les 50 derniers messages. Pour la plupart des conversations, ça suffit.
Étape 6 : Variantes et améliorations
Le code de base fonctionne, mais voici comment l'améliorer :
A. Utiliser Claude au lieu d'OpenAI
En important le client anthropic et en modifiant l'appel dans handle_message pour utiliser client.messages.create avec le modèle claude-3-5-sonnet-20241022. Avantage de Claude : Meilleure compréhension du contexte, réponses plus naturelles. Inconvénient : Légèrement plus cher que GPT-3.5.
B. Ajouter des boutons interactifs
Le module InlineKeyboardButton et InlineKeyboardMarkup de python-telegram-bot permettent d'ajouter des boutons cliquables sous les messages (par exemple "Conseil du jour", "Mes stats", "Aide"). Un handler CallbackQueryHandler est ensuite ajouté pour exécuter l'action correspondante lorsque l'utilisateur clique sur un bouton.
C. Ajouter une fonctionnalité de recherche web
Intégrez une API de recherche (DuckDuckGo, SerpAPI) pour que le bot puisse chercher des infos en temps réel. Avant l'appel au LLM, détectez un mot-clé dans le message de l'utilisateur, effectuez la requête HTTP vers l'API de recherche, et renvoyez le résultat directement.
D. Ajouter un système de rate limiting
Évitez les abus avec un rate limiter basé sur un dictionnaire stockant la date du dernier message de chaque utilisateur. Bloquez les requêtes si l'intervalle est inférieur à 3 secondes, puis laissez passer le reste du traitement habituel.
Erreurs courantes
❌ Le bot qui oublie tout
Si vous ne gérez pas la mémoire correctement, le bot oubliera la conversation dès que l'utilisateur ferme Telegram. Résultat : frustration maximale.
Solution : Toujours sauvegarder l'historique. Testez en relançant le bot et en continuant une conversation.
❌ Les coûts qui explosent
Un utilisateur malveillant peut spammer votre bot et vous coûter des centaines d'euros en API calls.
Solution : Rate limiting + monitoring des coûts. Mettez des alertes à 10€, 50€, 100€.
❌ Les réponses trop lentes
Si votre bot prend 10 secondes à répondre, les utilisateurs partiront.
Solution : Affichez "typing..." pendant le traitement. Utilisez des modèles rapides (GPT-3.5, Gemini Flash). Optimisez le contexte.
❌ La modération du contenu
Si votre bot génère du contenu inapproprié, c'est votre responsabilité légale.
Solution : Utilisez les modération APIs (OpenAI Moderation) et ajoutez des filtres pour intercepter les messages flagés avant de les envoyer au LLM.
Étape 7 : Déploiement en production
Votre bot fonctionne en local. Maintenant, déployons-le pour qu'il tourne 24/7.
Option 1 : VPS classique (DigitalOcean, OVH, Hetzner)
Louez un VPS à 5-10€/mois, installez Python et les dépendances, puis utilisez systemd pour lancer le bot automatiquement au démarrage du serveur avec une configuration de service simple (Restart=always pour relancer le bot en cas de crash).
Option 2 : Docker
Créez un Dockerfile basé sur l'image Python 3.11-slim, copiez vos dépendances et votre code, puis lancez le conteneur avec Docker Compose en montant un volume pour persister le dossier des conversations.
Option 3 : Serverless (AWS Lambda, Google Cloud Run)
Pour un bot à faible trafic, le serverless est économique. Convertissez le bot en mode webhook en créant une fonction Lambda qui reçoit les updates de Telegram, les convertit en objet Update, et les traite. Le coût est quasi nul si vous avez moins de 1000 messages/jour.
Monitoring et analytics
Une fois en production, surveillez votre bot :
1. Logs structurés
Ajoutez des logs détaillés contenant l'ID utilisateur, le modèle utilisé, le nombre de tokens consommés et la latence.
2. Alertes Telegram
Envoyez-vous des alertes sur votre propre compte Telegram en cas d'erreur critique via la méthode send_message avec votre ADMIN_CHAT_ID.
3. Dashboard simple
Maintenez un fichier stats.json mis à jour en temps réel avec le nombre total d'utilisateurs et de messages, puis exposez-le via un mini-serveur Flask sur la route /stats.
Aller plus loin : fonctionnalités avancées
Une fois que votre bot de base fonctionne, vous pouvez ajouter :
1. Intégration d'outils (Function Calling)
Permettez au LLM d'appeler des fonctions externes en déclarant un schéma d'outils (comme get_weather) dans les paramètres de l'API OpenAI. Si le LLM décide d'appeler une fonction, exécutez-la côté serveur puis renvoyez le résultat au modèle pour qu'il formule sa réponse.
2. Support multimédia
Gérez les images, audios et documents en téléchargeant le fichier reçu via update.message.photo[-1].get_file(), puis en l'envoyant à GPT-4 Vision pour une analyse automatique. Enregistrez un handler spécifique avec le filtre filters.PHOTO.
3. Mode conversationnel vocal
Telegram supporte les messages vocaux. Transcrivez-les en téléchargeant le fichier audio .ogg et en utilisant l'API Whisper d'OpenAI (openai.audio.transcriptions.create), puis traitez le texte transcrit comme un message normal.
4. Notifications proactives
Envoyez des rappels ou des newsletters en parcourant la liste des fichiers JSON des utilisateurs et en appelant context.bot.send_message pour chacun, programmé via asyncio ou un cron externe.
Coûts réels et optimisation
D'après mon expérience avec des bots en production en 2025 :
| Modèle | Coût moyen/conversation | Latence | Qualité |
|---|---|---|---|
| GPT-3.5-turbo | 0.001€ | 1-2s | ⭐⭐⭐ |
| GPT-4-turbo | 0.05€ | 3-5s | ⭐⭐⭐⭐⭐ |
| Claude Sonnet | 0.03€ | 2-3s | ⭐⭐⭐⭐⭐ |
| Gemini Flash | Gratuit* | 1-2s | ⭐⭐⭐⭐ |
*Jusqu'à 1500 requêtes/jour
Optimisations pour réduire les coûts :
- Compression de contexte : Résumez les vieilles conversations en envoyant les 20 premiers messages à un LLM pour en faire un résumé de 2-3 phrases, puis remplacez ces messages par le résumé.
- Modèles hybrides : Utilisez GPT-3.5 pour les questions simples (moins de 50 caractères, sans point d'interrogation), GPT-4 pour les complexes.
- Cache de réponses : Si la même question revient souvent, calculez un hash MD5 du message et stockez la réponse dans un dictionnaire pour la servir instantanément sans appel API.
Cas d'usage réels
J'ai déployé ce type de bot pour :
-
Support client automatisé — Réponses aux FAQ, routage vers des humains si nécessaire. Résultat : -40% de tickets support.
-
Assistant interne d'entreprise — Accès à la doc interne, recherche de contacts, réservation de salles. Gain de temps estimé : 15min/jour/employé.
-
Bot éducatif — Cours de langue avec exercices personnalisés. 2000+ utilisateurs actifs.
-
Compagnon de productivité — Rappels, to-do list, notes vocales transcrites. Usage personnel quotidien.
Le secret du succès : Un bot simple qui fait une chose très bien vaut mieux qu'un bot complexe qui fait tout médiocrement. Si vous cherchez l'inspiration, jetez un œil à nos 10 projets IA à réaliser ce week-end.
Outils recommandés
- python-telegram-bot : La librairie Python de référence pour interagir avec l'API Telegram. Simple, bien documentée, et maintenance active.
- OpenAI API / Anthropic API / Google AI Studio : Les trois fournisseurs LLM principaux. Commencez avec Google AI Studio (gratuit) pour prototyper, puis passez à OpenAI ou Anthropic selon vos besoins en qualité.
- Docker : Indispensable pour déployer votre bot de manière reproductible sur n'importe quel serveur sans gestion complexe des dépendances.
- Hetzner / DigitalOcean : Des hébergeurs VPS fiables à partir de 4-5€/mois, parfaits pour faire tourner un bot Telegram 24/7. Pour estimer le budget global de votre projet, consultez notre guide sur le combien coûte un site web en 2026 ? Le vrai prix (pas celui des agences).
Alternative : utilisez notre service clé en main
Si vous voulez un bot Telegram intelligent sans coder, nous proposons une solution clé en main chez AI-master.dev :
✅ Bot configuré en 5 minutes
✅ Intégration LLM optimisée (GPT-4, Claude, Gemini)
✅ Mémoire persistante illimitée
✅ Analytics et monitoring inclus
✅ Webhooks et intégrations tierces
✅ Support technique dédié
→ Découvrir notre service Agent Telegram
Pour qui ? Entreprises, créateurs de contenu, entrepreneurs qui veulent un bot professionnel sans gérer l'infrastructure. Pour voir ce qu'il est possible de faire avec l'IA de manière plus large, lisez notre article sur comment gagner de l'argent avec l'IA en 2026 : les 10 méthodes qui marchent vraiment ou découvrez comment j'ai automatisé mon business en 7 jours avec l'IA — voici comment.
Conclusion : passez à l'action
Vous avez maintenant tout pour créer votre chatbot Telegram intelligent :
✅ Le code complet et fonctionnel
✅ Les explications ligne par ligne
✅ Les optimisations et variantes
✅ Les bonnes pratiques de déploiement
Mon conseil final : Commencez simple. Lancez le bot de base, testez-le avec quelques amis, recueillez leurs retours, itérez. N'essayez pas de construire le bot parfait du premier coup.
Les meilleurs bots que j'ai créés ont commencé par 50 lignes de code et ont évolué progressivement en fonction des besoins réels.
Prochaines étapes recommandées :
- Lancez le bot en local → 5 minutes
- Customisez le system prompt → 5 minutes
- Testez avec 5-10 questions variées → 10 minutes
- Ajoutez une fonctionnalité (boutons ou recherche web) → 20 minutes
- Déployez sur un VPS → 30 minutes
Dans 1 heure, vous aurez un bot Telegram IA en production. Dans 1 semaine, vous l'aurez adapté à votre use case précis. Dans 1 mois, vous vous demanderez comment vous viviez sans.
Besoin d'aide ? Rejoignez notre communauté :
- Discord AI-master.dev — 3000+ développeurs IA
Ressources complémentaires :
- Comparatif des LLM en 2025
- 10 projets IA à coder ce week-end
- Héberger ses modèles IA (Ollama, LM Studio)
⚡ Challenge : Créez votre bot ce week-end et envoyez-moi une capture d'écran sur Telegram. Les 10 meilleurs bots seront mis en avant dans notre prochaine newsletter !
Temps de lecture : 12 minutes | Dernière mise à jour : Février 2025 | Auteur : Nicolas — AI-master.dev