|
| 1 | +""" |
| 2 | + ____ _ _ __ ____ |
| 3 | + | _ \ /\ | (_) / / / /\ \ |
| 4 | + | |_) |_ _ / \ | |_ ___ _ _ / / / / \ \ |
| 5 | + | _ <| | | | / /\ \ | | |/ _ \| | | < < / / > > |
| 6 | + | |_) | |_| | / ____ \| | | (_) | |_| |\ \ / / / / |
| 7 | + |____/ \__, | /_/ \_\_|_|\___/ \__,_| \_\/_/ /_/ |
| 8 | + __/ | |
| 9 | + |___/ |
| 10 | +
|
| 11 | + _______ _ _ _______ _ _ _ __ ____ |
| 12 | + |__ __| | | | | |__ __| | | | | | | \ \ / /_ | |
| 13 | + | |_ __ __ _ _ __ ___| | __ _| |_ ___ _ __ | | ___| | ___| |__ ___ | |_ \ \ / / | | |
| 14 | + | | '__/ _` | '_ \/ __| |/ _` | __/ _ \| '__| | |/ _ \ |/ _ \ '_ \ / _ \| __| \ \/ / | | |
| 15 | + | | | | (_| | | | \__ \ | (_| | || (_) | | | | __/ | __/ |_) | (_) | |_ \ / | | |
| 16 | + |_|_| \__,_|_| |_|___/_|\__,_|\__\___/|_| |_|\___|_|\___|_.__/ \___/ \__| \/ |_| |
| 17 | + |
| 18 | + |
| 19 | +""" |
| 20 | +import os |
| 21 | +import requests |
| 22 | +import telebot |
| 23 | +from dotenv import load_dotenv |
| 24 | + |
| 25 | +# Charger les variables d'environnement à partir du fichier .env |
| 26 | +load_dotenv() |
| 27 | + |
| 28 | +# Récupérer le jeton d'API Telegram à partir de la variable d'environnement |
| 29 | +telegram_api_token = os.getenv('TELEGRAM_API_TOKEN') |
| 30 | + |
| 31 | +# Créer un objet TeleBot avec le jeton d'API Telegram |
| 32 | +bot = telebot.TeleBot(telegram_api_token) |
| 33 | + |
| 34 | +# Fonction de traduction |
| 35 | +def traduire_texte(texte, de, a): |
| 36 | + body = { |
| 37 | + "de": de, |
| 38 | + "a": a, |
| 39 | + "text": texte |
| 40 | + } |
| 41 | + |
| 42 | + # Envoyer la requête à l'API de traduction |
| 43 | + response = requests.post('https://codingtranslator.onrender.com/api', json=body) |
| 44 | + |
| 45 | + if response.status_code == 200: |
| 46 | + # Récupérer la réponse de l'API de traduction |
| 47 | + reponse = response.json()['reponse'] |
| 48 | + return reponse |
| 49 | + else: |
| 50 | + return 'Une erreur s\'est produite lors de la traduction.' |
| 51 | + |
| 52 | +# Commande /fr |
| 53 | +@bot.message_handler(commands=['fr']) |
| 54 | +def traduire_fr(message): |
| 55 | + texte = message.text.replace('/fr', '').strip() |
| 56 | + if texte: |
| 57 | + reponse = traduire_texte(texte, 'en', 'fr') |
| 58 | + bot.reply_to(message, reponse) |
| 59 | + else: |
| 60 | + bot.reply_to(message, 'Veuillez spécifier le texte à traduire après la commande /fr.') |
| 61 | + |
| 62 | +# Commande /en |
| 63 | +@bot.message_handler(commands=['en']) |
| 64 | +def traduire_en(message): |
| 65 | + texte = message.text.replace('/en', '').strip() |
| 66 | + if texte: |
| 67 | + reponse = traduire_texte(texte, 'fr', 'en') |
| 68 | + bot.reply_to(message, reponse) |
| 69 | + else: |
| 70 | + bot.reply_to(message, 'Veuillez spécifier le texte à traduire après la commande /en.') |
| 71 | + |
| 72 | +# Répondre aux autres messages |
| 73 | +@bot.message_handler(func=lambda message: True) |
| 74 | +def repondre_autre(message): |
| 75 | + bot.reply_to(message, 'Veuillez utiliser la commande /fr ou /en pour traduire le texte.') |
| 76 | + |
| 77 | +# Lancer le bot |
| 78 | +bot.polling() |
0 commit comments