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

Créer un robot Telegram sur Python

Sep 19, 2024 pm 08:16 PM

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 
Copier après la connexion

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()
Copier après la connexion

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
Copier après la connexion

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 de ce site Web
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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment résoudre le problème des autorisations rencontré lors de la visualisation de la version Python dans le terminal Linux? Comment résoudre le problème des autorisations rencontré lors de la visualisation de la version Python dans le terminal Linux? Apr 01, 2025 pm 05:09 PM

Solution aux problèmes d'autorisation Lors de la visualisation de la version Python dans Linux Terminal Lorsque vous essayez d'afficher la version Python dans Linux Terminal, entrez Python ...

Comment éviter d'être détecté par le navigateur lors de l'utilisation de Fiddler partout pour la lecture de l'homme au milieu? Comment éviter d'être détecté par le navigateur lors de l'utilisation de Fiddler partout pour la lecture de l'homme au milieu? Apr 02, 2025 am 07:15 AM

Comment éviter d'être détecté lors de l'utilisation de FiddlereVerywhere pour les lectures d'homme dans le milieu lorsque vous utilisez FiddlereVerywhere ...

Comment copier efficacement la colonne entière d'une dataframe dans une autre dataframe avec différentes structures dans Python? Comment copier efficacement la colonne entière d'une dataframe dans une autre dataframe avec différentes structures dans Python? Apr 01, 2025 pm 11:15 PM

Lorsque vous utilisez la bibliothèque Pandas de Python, comment copier des colonnes entières entre deux frames de données avec différentes structures est un problème courant. Supposons que nous ayons deux dats ...

Comment Uvicorn écoute-t-il en permanence les demandes HTTP sans servir_forever ()? Comment Uvicorn écoute-t-il en permanence les demandes HTTP sans servir_forever ()? Apr 01, 2025 pm 10:51 PM

Comment Uvicorn écoute-t-il en permanence les demandes HTTP? Uvicorn est un serveur Web léger basé sur ASGI. L'une de ses fonctions principales est d'écouter les demandes HTTP et de procéder ...

Comment enseigner les bases de la programmation novice en informatique dans le projet et les méthodes axées sur les problèmes dans les 10 heures? Comment enseigner les bases de la programmation novice en informatique dans le projet et les méthodes axées sur les problèmes dans les 10 heures? Apr 02, 2025 am 07:18 AM

Comment enseigner les bases de la programmation novice en informatique dans les 10 heures? Si vous n'avez que 10 heures pour enseigner à l'informatique novice des connaissances en programmation, que choisissez-vous d'enseigner ...

Comment obtenir des données d'information en contournant le mécanisme anti-frawler d'Investing.com? Comment obtenir des données d'information en contournant le mécanisme anti-frawler d'Investing.com? Apr 02, 2025 am 07:03 AM

Comprendre la stratégie anti-rampe d'investissement.com, Beaucoup de gens essaient souvent de ramper les données d'actualités sur Investing.com (https://cn.investing.com/news/latest-news) ...

See all articles