Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

8 meses atrás
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. # This program is dedicated to the public domain under the CC0 license.
  4. # Telegram - Betaseries
  5. import logging
  6. import requests
  7. import json
  8. from telegram.ext import Updater, CommandHandler
  9. # Activer / Désactiver le debuggage
  10. DEBUG = True
  11. #Configuration de Betaseries
  12. client_id = ''
  13. login=''
  14. password = '' #Le password doit être chiffré en MD5
  15. #Configuration de Telegram
  16. user_id = ''
  17. token_bot = ''
  18. logging.basicConfig(format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
  19. level=logging.INFO)
  20. logger = logging.getLogger(__name__)
  21. #####LE SCRIPT DEMARRE ICI #####
  22. def start(update, context):
  23. update.message.reply_text('Bonjour Sensei. !')
  24. update.message.reply_text('Je suis ici pour te servir, malgré ça : je reste en Beta ! Soyez doux.')
  25. return
  26. def ping(update, context):
  27. update.message.reply_text("Pong!")
  28. return
  29. def init(update, context):
  30. update.message.reply_text("Tentative de connexion à Betaseries...")
  31. data = login_beta(update, context)
  32. return
  33. def login_beta(update, context):
  34. global betauser
  35. print("Launch betaseries command")
  36. API_auth = 'https://api.betaseries.com/members/auth'
  37. API_auth += '?client_id=' + client_id +'&login=' + login + '&password=' + password
  38. request = requests.post(API_auth)
  39. if str(request) != '<Response [200]>' :
  40. error = "Impossible d'interroger l'API\n Code:" + str(request.status_code)
  41. update.message.reply_text(error)
  42. return
  43. print(request.text)
  44. data = request.json()
  45. betauser = data['token']
  46. message = "Token utilisé pour Betaseries : " + betauser
  47. API_Message = 'https://api.telegram.org/'
  48. API_Message += 'bot' + token_bot + '/sendMessage?chat_id=' + user_id + '&text='
  49. Notification = API_Message + "🥳 🎉 Connection Réussie ! "
  50. request = requests.post(Notification)
  51. Notification = API_Message + " Votre Token sur Betaséries (⚠️ à ne pas partager ! ⚠️) : " + betauser
  52. request = requests.post(Notification)
  53. update.message.reply_text("Vous pouvez maintenant utiliser le bot !")
  54. return
  55. def repeat(update, context):
  56. message = ''
  57. user = update.message.from_user
  58. if DEBUG == True :
  59. print('Pseudo du compte : {} ID: {} '.format(user['username'], user['id']))
  60. if len(context.args) > 1 :
  61. for i in range(len(context.args)):
  62. mot = str(context.args[i]) + " "
  63. message += mot
  64. message = message[:-1]
  65. else :
  66. message = context.args[0]
  67. if DEBUG == True :
  68. print("phrase envoyée : ", message)
  69. if message == "Cinabre est parfait":
  70. update.message.reply_text("J'avoue !")
  71. return
  72. update.message.reply_text(message)
  73. return
  74. def main():
  75. updater = Updater(token_bot, use_context=True)
  76. print("Bot connecté")
  77. dp = updater.dispatcher
  78. # Définir quelle commande utilise quelle fonction
  79. dp.add_handler(CommandHandler("start", start))
  80. dp.add_handler(CommandHandler("help", start))
  81. #Help n'existant pas, on utilise la même fonction que Start
  82. dp.add_handler(CommandHandler("ping", ping))
  83. dp.add_handler(CommandHandler("repeat", repeat,
  84. pass_args=True,
  85. pass_job_queue=True,
  86. pass_chat_data=True))
  87. dp.add_handler(CommandHandler("initialisation", init,
  88. pass_args=True,
  89. pass_job_queue=True,
  90. pass_chat_data=True))
  91. dp.add_handler(CommandHandler("login", login_beta,
  92. pass_args=True,
  93. pass_job_queue=True,
  94. pass_chat_data=True))
  95. updater.start_polling()
  96. updater.idle()
  97. if __name__ == '__main__':
  98. main()