Guest User

Untitled

a guest
Jun 18th, 2018
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.34 KB | None | 0 0
  1. import telebot
  2. import json
  3. import contrasena
  4. from random import randrange
  5. password = contrasena.password()
  6.  
  7. bot = telebot.TeleBot(password)
  8. misDatos = {}
  9. misDatos ['users'] = []
  10. misDatos ['equipo'] = []
  11. # Métodos para actualizar el diccionario con los archivos de JSON
  12. def dameDatosUsuario():
  13. with open('users.json') as json_file:
  14. misDatos = json.load(json_file)
  15. return misDatos
  16. # Método para registrar el usuario
  17. def registraUsuario(message,user):
  18. telegramUser = message.from_user.first_name
  19. ID = message.chat.id
  20. misDatos['users'].append({
  21. 'telegramUser': telegramUser,
  22. 'ID': ID,
  23. 'RPGiUser' : user
  24. })
  25. with open('users.json', 'w') as outfile:
  26. json.dump(misDatos, outfile)
  27.  
  28. @bot.message_handler(commands=['magic'])
  29. def magic_guess(message):
  30. ID = message.chat.id
  31. a = send_welcome(message,ID)
  32. if a is True:
  33. bot.send_message(ID,"Te encuentras delante de un mago con un gran sombrero azul.")
  34. bot.send_message(ID,"Te muestra su mano izquierda, para revelar una runa de fuego.")
  35. bot.send_message(ID,"Si quieres esta runa....-Dijo el mago mientras se la escondía detrás de la espalda...")
  36. bot.send_message(ID,"Tendrás que adivinar EN QUE MANO ESTÁ!!!!")
  37. bot.send_message(ID,"¿Cual es tu respuesta?")
  38. bot.register_next_step_handler(message, guess_runa)
  39. def guess_runa(message):
  40. respuesta = message.text
  41. respuesta = respuesta.lower()
  42. if respuesta =="derecha" or respuesta =="izquierda":
  43. runaMago = randrange(1,3)
  44. if respuesta == "izquierda":
  45. respuesta = 1
  46. else:
  47. respuesta = 2
  48. if respuesta == runaMago:
  49. bot.send_message(message.chat.id,"Lo has adivinado! Toma la runa. Te la equipare en tu equipo.")
  50. else:
  51. bot.send_message(message.chat.id,"Lo siento. Te has equivocado...")
  52.  
  53. elif not isinstance(message.text,str) or respuesta != "izquierda" or respuesta !="derecha":
  54. bot.send_message(message.chat.id, "No intentes engañarme con tus sucias palabras, dame una respuesta válida")
  55. bot.register_next_step_handler(message, guess_runa)
  56. # Métodos de registro y filtro del input
  57. def send_welcome(message,ID):
  58. comprob = 0
  59. misDatos = dameDatosUsuario()
  60. for p in misDatos['users']:
  61. if p['ID'] == ID:
  62. usuario = p['RPGiUser']
  63. comprob = 1
  64. break
  65. else:
  66. comprob = 0
  67. if comprob ==1:
  68. bot.send_message(ID,"Usted se encuentra en nuestra base de datos. Cargando datos...")
  69. bot.send_message(ID,"Bienvenido, "+usuario +" a RPGI")
  70. return True
  71.  
  72. else:
  73. bot.send_message(ID,"No puedes jugar a RPGi si no estás registrado. Introduce un nombre de usuario para registrarte")
  74. bot.register_next_step_handler(message, registraUsername)
  75. def registraUsername(message):
  76. user = message.text
  77. misDatos = dameDatosUsuario()
  78. if not isinstance(user,str) or '\\' in user or len(user) > 10 or '/' in user or '%' in user:
  79. bot.send_message(message.chat.id,"No puedes elegir eso como nombre de usuario")
  80. bot.register_next_step_handler(message, registraUsername)
  81.  
  82. else:
  83. registraUsuario(message,user)
  84. bot.send_message(message.chat.id,"Se ha registrado con el usuario "+user+" exitosamente. Ya puedes jugar a RPGi")
  85. return False
  86.  
  87. bot.polling()
Add Comment
Please, Sign In to add comment