Bot Telegram en Kotlin : créez-le de zéro en une heure

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

Pourquoi Kotlin est-il le langage idéal pour un bot Telegram ?

\n

Avez-vous déjà réfléchi à la raison pour laquelle Kotlin a conquis si rapidement le cœur des développeurs ? Le fait est que ce langage combine la concision de Python et la puissance de Java, tout en étant dépourvu de leurs inconvénients. Lorsqu'il s'agit de créer un bot Telegram en Kotlin, vous obtenez non seulement une solution fonctionnelle, mais un code élégant, performant et facile à maintenir.

\n

Imaginez : vous écrivez un bot qui traite des milliers de requêtes par seconde, fonctionne sans accroc, et le code prend deux fois moins de lignes qu'en Java. Cela ressemble à un rêve ? En réalité, c'est la réalité. Un bot Telegram en Kotlin n'est pas seulement à la mode, mais aussi pratique. Surtout si vous êtes déjà familier avec l'écosystème JVM ou si vous souhaitez essayer quelque chose de nouveau après Python.

\n

Dans ce guide, nous allons créer un bot complet étape par étape : de l'enregistrement dans BotFather au déploiement sur un serveur. Vous apprendrez à traiter les commandes, à travailler avec les claviers et même à envoyer des fichiers. C'est parti !

\n\n

Étape 1 : Préparation de l'environnement et enregistrement du bot

\n

Avant d'écrire du code, nous devons obtenir un token – la clé d'accès à l'API Telegram. Cela se fait via le bot officiel BotFather. Le processus prend moins d'une minute.

\n
    \n
  • Ouvrez Telegram et recherchez @BotFather.
  • \n
  • Envoyez la commande /newbot.
  • \n
  • Inventez un nom (par exemple, MyKotlinBot) et un username se terminant par bot (par exemple, MyKotlinBot).
  • \n
  • Conservez le token reçu – il sera nécessaire pour la connexion.
  • \n
\n

Configurons maintenant le projet. Je recommande d'utiliser IntelliJ IDEA Community Edition (elle est gratuite et s'entend parfaitement avec Kotlin). Créez un nouveau projet Gradle avec Kotlin DSL.

\n\n

Ajout des dépendances

\n

Pour travailler avec l'API Telegram, nous utiliserons la bibliothèque TelegramBots – c'est la norme de facto dans le monde Kotlin et Java. Ouvrez le fichier build.gradle.kts et ajoutez :

\n
dependencies {\n    implementation("org.telegram:telegrambots:6.9.7.1")\n    implementation("org.telegram:telegrambotsextensions:6.9.7.1")\n    implementation("ch.qos.logback:logback-classic:1.5.6")\n}
\n

La première bibliothèque est le noyau, la seconde contient des extensions utiles (par exemple, pour le traitement des commandes), la troisième est pour la journalisation, afin de voir les erreurs.

\n\n

Étape 2 : Écrire notre premier bot en Kotlin

\n

Créez une classe MyBot qui hérite de TelegramLongPollingBot. C'est la méthode la plus simple : le bot interrogera lui-même le serveur Telegram pour détecter de nouveaux messages.

\n
import org.telegram.telegrambots.bots.TelegramLongPollingBot\nimport org.telegram.telegrambots.meta.api.objects.Update\n\nclass MyBot : TelegramLongPollingBot() {\n\n    override fun getBotUsername(): String = "MyKotlinBot" // votre username\n\n    override fun getBotToken(): String = "VOTRE_TOKEN_ICI" // token de BotFather\n\n    override fun onUpdateReceived(update: Update?) {\n        // Simple placeholder pour l'instant\n        if (update?.hasMessage() == true && update.message.hasText()) {\n            println("Message reçu : ${update.message.text}")\n        }\n    }\n}
\n

Maintenant, il faut lancer le bot. Créez un fichier Main.kt avec le point d'entrée :

\n
import org.telegram.telegrambots.meta.TelegramBotsApi\nimport org.telegram.telegrambots.updatesreceivers.DefaultBotSession\n\nfun main() {\n    val botsApi = TelegramBotsApi(DefaultBotSession::class.java)\n    botsApi.registerBot(MyBot())\n    println("Bot démarré !")\n}
\n

Lancez-le – et votre premier bot Telegram en Kotlin est déjà en vie ! Pour l'instant, il se contente d'afficher les messages dans la console, mais ce n'est que le début.

\n\n

Étape 3 : Traiter les commandes et envoyer des réponses

\n

Lire les messages, c'est ennuyeux. Apprenons au bot à répondre aux commandes. Pour cela, nous utiliserons l'annotation @BotCommand des extensions, mais commençons par réécrire la classe pour qu'elle hé

Blogs

Book Recommendations