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.
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 !
Sur Windows, ouvrez l'invite de commandes :
pip install python-telegram-bot requestsSur macOS ou Linux, utilisez le terminal (avec sudo si nécessaire sous Linux) :
pip3 install python-telegram-bot requestsCré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 requestsLe 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()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.
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).
[]