FRFAM.COM >> Famille >> Technologie &Innovation >> Informatique

Tutoriel : Créez votre premier bot Telegram avec Python 3 en moins d'une heure

Si vous utilisez Telegram, vous avez sûrement déjà échangé avec un chatbot. Grâce à leur grande personnalisabilité, les bots Telegram offrent de nombreux avantages, comme l'automatisation de tâches ou l'ajout de jeux amusants dans vos groupes.

Développer un bot peut sembler intimidant, mais avec une bonne approche, vous pouvez en créer un fonctionnel en moins d'une heure. Ce tutoriel vous guide pour bâtir un bot simple qui affiche des images adorables de chats via TheCatAPI.

Premiers pas

Nous utiliserons Python 3, la bibliothèque python-telegram-bot et requests, ainsi que TheCatAPI.

Chaque bot Telegram dispose d'un jeton unique pour interagir avec l'API BotFather. Cette API populaire permet d'utiliser les messages Telegram comme interface.

Pour obtenir le jeton, ouvrez une conversation avec @BotFather (ou recherchez-le dans Telegram). Tapez /newbot, puis définissez le nom et le nom d'utilisateur de votre bot (ex. : @pawsomebot). Vous recevrez alors votre jeton unique.

Prérequis prêts, passons au code !

Installation des bibliothèques

Sur Windows, ouvrez l'invite de commandes :

pip install python-telegram-bot requests

Sur macOS ou Linux, utilisez le terminal (avec sudo si nécessaire sous Linux) :

pip3 install python-telegram-bot requests

Écriture du programme

Créez un dossier, ouvrez-le dans votre éditeur (VS Code, PyCharm, etc.) et créez main.py.

Importez les bibliothèques :

from telegram.ext import Updater, CommandHandler
import requests

Le bot récupère une image aléatoire via TheCatAPI et l'envoie dans le chat. Consultez https://api.thecatapi.com/v1/images/search pour voir le format JSON : un tableau contenant un dictionnaire avec la clé 'url'.

def get_url():
    response = requests.get('https://api.thecatapi.com/v1/images/search')
    data = response.json()
    return data[0]['url']

Fonction pour envoyer l'image :

def send_image(bot, update):
    url = get_url()
    chat_id = update.message.chat_id
    bot.send_photo(chat_id=chat_id, photo=url)

Pour plus de détails sur l'API Bot, consultez la documentation officielle Telegram.

Fonction principale :

def main():
    updater = Updater("VOTRE_JETON_ICI")  # Remplacez par votre jeton
    updater.dispatcher.add_handler(CommandHandler('miaou', send_image))
    updater.start_polling()
    updater.idle()

if __name__ == '__main__':
    main()

Votre code complet :

from telegram.ext import Updater, CommandHandler
import requests

def get_url():
    response = requests.get('https://api.thecatapi.com/v1/images/search')
    data = response.json()
    return data[0]['url']

def send_image(bot, update):
    url = get_url()
    chat_id = update.message.chat_id
    bot.send_photo(chat_id=chat_id, photo=url)

def main():
    updater = Updater("VOTRE_JETON_ICI")  # Remplacez par votre jeton
    updater.dispatcher.add_handler(CommandHandler('miaou', send_image))
    updater.start_polling()
    updater.idle()

if __name__ == '__main__':
    main()

Votre propre bot Telegram

Félicitations ! Exécutez main.py et tapez /miaou dans le chat de votre bot pour tester.

Ce bot simple démontre la puissance de l'écosystème Telegram. Ajoutez des fonctionnalités avancées pour l'améliorer. Découvrez d'autres bots utiles sur Telegram ou des projets open source sur GitHub.

Hébergez votre bot en ligne

Si vous arrêtez le script, le bot ne répond plus. Il dépend de votre machine locale.

Pour une disponibilité 24/7, utilisez un Raspberry Pi comme serveur low-cost ou déployez sur Heroku, AWS, Google Cloud ou Azure (commencez par un essai gratuit).

[]