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
8 meses atrás
8 meses atrás
8 meses atrás
8 meses atrás
8 meses atrás
8 meses atrás
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  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()
  32. if data == False :
  33. error = "Impossible d'interroger l'API\n Code:" + str(request.status_code)
  34. update.message.reply_text(error)
  35. return
  36. message = "Token utilise pour Betaseries : " + betauser
  37. API_Message = 'https://api.telegram.org/'
  38. API_Message += 'bot' + token_bot + '/sendMessage?chat_id=' + user_id + '&text='
  39. Notification = API_Message + "Connection Reussie ! "
  40. request = requests.post(Notification)
  41. Notification = API_Message + " Votre Token sur Betaseries: " + betauser
  42. request = requests.post(Notification)
  43. update.message.reply_text("Vous pouvez maintenant utiliser le bot !")
  44. print("Token Betaseries :", betauser)
  45. return
  46. def login_beta():
  47. global betauser
  48. print("Connexion a Betaseries en cours...")
  49. API_auth = 'https://api.betaseries.com/members/auth'
  50. API_auth += '?client_id=' + client_id +'&login=' + login + '&password=' + password
  51. request = requests.post(API_auth)
  52. if str(request) != '<Response [200]>' :
  53. return False
  54. data = request.json()
  55. betauser = str(data['token'])
  56. return betauser
  57. def repeat(update, context):
  58. message = ''
  59. user = update.message.from_user
  60. if DEBUG == True :
  61. print('Pseudo du compte : {} ID: {} '.format(user['username'], user['id']))
  62. if len(context.args) > 1 :
  63. for i in range(len(context.args)):
  64. mot = str(context.args[i]) + " "
  65. message += mot
  66. message = message[:-1]
  67. else :
  68. message = context.args[0]
  69. if DEBUG == True :
  70. print("phrase envoyée : ", message)
  71. if message == "Cinabre est parfait":
  72. update.message.reply_text("J'avoue !")
  73. return
  74. update.message.reply_text(message)
  75. return
  76. def main():
  77. updater = Updater(token_bot, use_context=True)
  78. print("Bot connecté")
  79. dp = updater.dispatcher
  80. # Définir quelle commande utilise quelle fonction
  81. dp.add_handler(CommandHandler("start", start))
  82. dp.add_handler(CommandHandler("help", start))
  83. #Help n'existant pas, on utilise la même fonction que Start
  84. dp.add_handler(CommandHandler("ping", ping))
  85. dp.add_handler(CommandHandler("repeat", repeat,
  86. pass_args=True,
  87. pass_job_queue=True,
  88. pass_chat_data=True))
  89. dp.add_handler(CommandHandler("initialisation", init,
  90. pass_args=True,
  91. pass_job_queue=True,
  92. pass_chat_data=True))
  93. dp.add_handler(CommandHandler("login", login_beta,
  94. pass_args=True,
  95. pass_job_queue=True,
  96. pass_chat_data=True))
  97. updater.start_polling()
  98. updater.idle()
  99. if __name__ == '__main__':
  100. main()