| @@ -0,0 +1,136 @@ | |||
| #!/usr/bin/env python | |||
| # -*- coding: utf-8 -*- | |||
| # This program is dedicated to the public domain under the CC0 license. | |||
| # Telegram - Betaseries | |||
| import logging | |||
| import requests | |||
| import json | |||
| from telegram.ext import Updater, CommandHandler | |||
| # Activer / Désactiver le debuggage | |||
| DEBUG = True | |||
| #Configuration de Betaseries | |||
| client_id = '' | |||
| login='' | |||
| password = '' #Le password doit être chiffré en MD5 | |||
| #Configuration de Telegram | |||
| user_id = '' | |||
| token_bot = '' | |||
| logging.basicConfig(format='%(asctime)s - %(name)s - %(levelname)s - %(message)s', | |||
| level=logging.INFO) | |||
| logger = logging.getLogger(__name__) | |||
| #####LE SCRIPT DEMARRE ICI ##### | |||
| def start(update, context): | |||
| update.message.reply_text('Bonjour Sensei. !') | |||
| update.message.reply_text('Je suis ici pour te servir, malgré ça : je reste en Beta ! Soyez doux.') | |||
| return | |||
| def ping(update, context): | |||
| update.message.reply_text("Pong!") | |||
| return | |||
| def init(update, context): | |||
| update.message.reply_text("Tentative de connexion à Betaseries...") | |||
| data = login_beta(update, context) | |||
| return | |||
| def login_beta(update, context): | |||
| global betauser | |||
| print("Launch betaseries command") | |||
| API_auth = 'https://api.betaseries.com/members/auth' | |||
| API_auth += '?client_id=' + client_id +'&login=' + login + '&password=' + password | |||
| request = requests.post(API_auth) | |||
| if str(request) != '<Response [200]>' : | |||
| error = "Impossible d'interroger l'API\n Code:" + str(request.status_code) | |||
| update.message.reply_text(error) | |||
| return | |||
| print(request.text) | |||
| data = request.json() | |||
| betauser = data['token'] | |||
| message = "Token utilisé pour Betaseries : " + betauser | |||
| API_Message = 'https://api.telegram.org/' | |||
| API_Message += 'bot' + token_bot + '/sendMessage?chat_id=' + user_id + '&text=' | |||
| Notification = API_Message + "🥳 🎉 Connection Réussie ! " | |||
| request = requests.post(Notification) | |||
| Notification = API_Message + " Votre Token sur Betaséries (⚠️ à ne pas partager ! ⚠️) : " + betauser | |||
| request = requests.post(Notification) | |||
| update.message.reply_text("Vous pouvez maintenant utiliser le bot !") | |||
| return | |||
| def repeat(update, context): | |||
| message = '' | |||
| user = update.message.from_user | |||
| if DEBUG == True : | |||
| print('Pseudo du compte : {} ID: {} '.format(user['username'], user['id'])) | |||
| if len(context.args) > 1 : | |||
| for i in range(len(context.args)): | |||
| mot = str(context.args[i]) + " " | |||
| message += mot | |||
| message = message[:-1] | |||
| else : | |||
| message = context.args[0] | |||
| if DEBUG == True : | |||
| print("phrase envoyée : ", message) | |||
| if message == "Cinabre est parfait": | |||
| update.message.reply_text("J'avoue !") | |||
| return | |||
| update.message.reply_text(message) | |||
| return | |||
| def main(): | |||
| updater = Updater(token_bot, use_context=True) | |||
| print("Bot connecté") | |||
| dp = updater.dispatcher | |||
| # Définir quelle commande utilise quelle fonction | |||
| dp.add_handler(CommandHandler("start", start)) | |||
| dp.add_handler(CommandHandler("help", start)) | |||
| #Help n'existant pas, on utilise la même fonction que Start | |||
| dp.add_handler(CommandHandler("ping", ping)) | |||
| dp.add_handler(CommandHandler("repeat", repeat, | |||
| pass_args=True, | |||
| pass_job_queue=True, | |||
| pass_chat_data=True)) | |||
| dp.add_handler(CommandHandler("initialisation", init, | |||
| pass_args=True, | |||
| pass_job_queue=True, | |||
| pass_chat_data=True)) | |||
| dp.add_handler(CommandHandler("login", login_beta, | |||
| pass_args=True, | |||
| pass_job_queue=True, | |||
| pass_chat_data=True)) | |||
| updater.start_polling() | |||
| updater.idle() | |||
| if __name__ == '__main__': | |||
| main() | |||