Maison  >  Article  >  développement back-end  >  Créer un robot Telegram sur Python

Créer un robot Telegram sur Python

Barbara Streisand
Barbara Streisandoriginal
2024-09-19 20:16:031095parcourir

Create a Telegram Bot on Python

Table des matières:

  1. Qu'est-ce qu'un robot Telegram ?
  2. Prérequis
  3. Créer un Bot sur Telegram
  4. Configuration de l'environnement Python
  5. Écrire le code du robot
  6. Déploiement du Bot
  7. Conclusion

1. Qu'est-ce qu'un robot Telegram ?

Les bots sont de petites applications qui s'exécutent entièrement dans l'application Telegram. Les utilisateurs interagissent avec les robots via des interfaces flexibles pouvant prendre en charge tout type de tâche ou de service.

Vous pouvez en savoir plus sur les robots dans la documentation officielle :
Bots
API du robot télégramme


2. Conditions préalables

Avant de vous lancer dans la création de bots, vous aurez besoin des éléments suivants :

  • Un compte Telegram : Vous pouvez facilement en créer un en téléchargeant l'application Telegram sur votre téléphone.
  • Python installé : Nous utiliserons Python 3, alors assurez-vous qu'il est installé sur votre ordinateur. lien de téléchargement
  • Connaissances de base de Python : Comprendre la syntaxe et les packages Python vous aidera à naviguer dans le code. Je peux recommander ce livre Automatisez les trucs ennuyeux avec Python
  • BotFather Access : BotFather est un robot Telegram intégré qui vous aide à gérer et à créer de nouveaux robots.
  • VS Code (Facultatif) : Je l'utilise pour écrire mes bots. Mais n'hésitez pas à choisir n'importe quel autre éditeur. Mais j'avais recommandé d'utiliser celui-ci. Ici, vous pouvez télécharger la dernière version de VS Code, et voici les instructions sur la façon de le configurer pour Python.

3. Créer un bot sur Telegram

Pour créer votre propre bot, vous devez utiliser BotFather, l'outil officiel d'enregistrement et de gestion des robots sur Telegram.

Mesures:

  1. Ouvrez Telegram et recherchez le bot BotFather. (Entrez @botfather dans le menu de recherche)
  2. Démarrez une discussion avec BotFather en tapant /start.
  3. Créez un nouveau bot en tapant /newbot.
  4. Vous serez invité à fournir un nom pour votre bot. Saisissez un nom unique (par exemple, Hello World).
  5. BotFather demandera un nom d'utilisateur pour le bot. Le nom d'utilisateur doit se terminer par "bot" (par exemple, HelloWorldBot).
  6. Après avoir terminé ces étapes, BotFather vous donnera un jeton. Ce jeton est crucial car il authentifie votre bot et vous permet d'interagir avec l'API de Telegram.

Important : Gardez votre jeton privé et ne le partagez pas publiquement !


4. Configuration de l'environnement Python

Ensuite, nous devons configurer notre environnement Python pour interagir avec l'API Telegram. Nous utiliserons la bibliothèque python-telegram-bot, qui fournit une interface simple et facile à utiliser pour développer des robots Telegram.

Mesures:

Installer la bibliothèque python-telegram-bot :
Exécutez la commande suivante pour installer la bibliothèque nécessaire :

 pip install python-telegram-bot 

Créez un nouveau fichier Python : Vous pouvez le nommer quelque chose comme my_bot.py pour contenir le code de votre bot.


5. Écrire le code du robot

Maintenant que notre environnement est prêt, écrivons le code du bot.

Exemple de code

Voici un bot de base qui répond aux commandes /start et /help :

import logging
from telegram import Update
from telegram.ext import ApplicationBuilder, CommandHandler, ContextTypes

# Enable logging
logging.basicConfig(format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
                    level=logging.INFO)
logger = logging.getLogger(__name__)

# Define a start function to respond to the /start command
async def start(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
    await update.message.reply_text('Hello! I am your bot. How can I help you today?')

# Define a help function to respond to the /help command
async def help_command(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
    await update.message.reply_text('You can use the following commands:\n/start - Start the bot\n/help - Get help')

def main():
    # Create the application and pass the bot token
    application = ApplicationBuilder().token('YOUR_BOT_TOKEN_HERE').build()

    # Add command handlers for /start and /help
    application.add_handler(CommandHandler("start", start))
    application.add_handler(CommandHandler("help", help_command))

    # Start the bot and run it until manually stopped
    application.run_polling(allowed_updates=Update.ALL_TYPES)

if __name__ == '__main__':
    main()

Explication:

  • Importations : Nous importons les modules telegram et telegram.ext pour construire notre bot. Ceux-ci fournissent les classes et fonctions nécessaires pour interagir avec l'API Telegram.
  • Journalisation : La journalisation est activée pour suivre les événements et les erreurs.
  • Commandes de démarrage et d'aide : Nous définissons deux fonctions (start et help_command) qui envoient un message lorsque les utilisateurs déclenchent les commandes correspondantes.
  • Jeton : Remplacez 'YOUR_BOT_TOKEN_HERE' par le jeton que vous avez reçu de BotFather.
  • Sondages : Le robot utilise les sondages pour vérifier en permanence les nouveaux messages et y répond au fur et à mesure qu'ils arrivent.

Exécuter le bot :

  1. Remplacez le jeton d'espace réservé dans le code par le jeton de votre bot.
  2. Exécutez votre script Python :
 python my_bot.py

Votre bot est maintenant opérationnel ! Ouvrez Telegram, envoyez les commandes /start ou /help au bot et il répondra.


6. Déployer le robot

Exécuter le bot sur votre machine locale est idéal pour les tests, mais que se passe-t-il si vous souhaitez qu'il soit disponible 24h/24 et 7j/7 ? Pour y parvenir, vous pouvez déployer le bot sur un serveur ou un service cloud.

Options de déploiement courantes :

  • Heroku : Une plateforme cloud gratuite où vous pouvez héberger votre bot.
  • AWS (Amazon Web Services) : Plus évolutif mais peut nécessiter une certaine configuration pour les débutants.
  • VPS (Virtual Private Server) : Vous donne un contrôle total sur votre serveur.
  • PythonAnywhere : Une option adaptée aux débutants avec des niveaux gratuits. Chaque plateforme offre des moyens uniques de déployer des applications Python. Vous pouvez suivre des tutoriels de déploiement spécifiques au service choisi.

7. Conclusion

Félicitations ! Vous avez créé avec succès un bot Telegram de base à l'aide de Python. Vous avez appris à :

  • Configurez un bot Telegram à l'aide de BotFather.
  • Écrivez du code Python pour gérer les commandes.
  • Exécutez le bot localement et interagissez avec lui sur Telegram.

Ensuite, je vous recommande d'apprendre les exemples de robots de python-telegram-bot


Ceci est une série d'articles. Dans les prochains articles, j'expliquerai comment héberger votre bot sur PythonAnywhere, comment héberger des robots sur votre propre serveur Raspberry PI et comment créer des robots plus compliqués.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn