Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import telebot
- import json
- import contrasena
- from random import randrange
- password = contrasena.password()
- bot = telebot.TeleBot(password)
- misDatos = {}
- misDatos ['users'] = []
- misDatos ['equipo'] = []
- # Métodos para actualizar el diccionario con los archivos de JSON
- def dameDatosUsuario():
- with open('users.json') as json_file:
- misDatos = json.load(json_file)
- return misDatos
- # Método para registrar el usuario
- def registraUsuario(message,user):
- telegramUser = message.from_user.first_name
- ID = message.chat.id
- misDatos['users'].append({
- 'telegramUser': telegramUser,
- 'ID': ID,
- 'RPGiUser' : user
- })
- with open('users.json', 'w') as outfile:
- json.dump(misDatos, outfile)
- @bot.message_handler(commands=['magic'])
- def magic_guess(message):
- ID = message.chat.id
- a = send_welcome(message,ID)
- if a is True:
- bot.send_message(ID,"Te encuentras delante de un mago con un gran sombrero azul.")
- bot.send_message(ID,"Te muestra su mano izquierda, para revelar una runa de fuego.")
- bot.send_message(ID,"Si quieres esta runa....-Dijo el mago mientras se la escondía detrás de la espalda...")
- bot.send_message(ID,"Tendrás que adivinar EN QUE MANO ESTÁ!!!!")
- bot.send_message(ID,"¿Cual es tu respuesta?")
- bot.register_next_step_handler(message, guess_runa)
- def guess_runa(message):
- respuesta = message.text
- respuesta = respuesta.lower()
- if respuesta =="derecha" or respuesta =="izquierda":
- runaMago = randrange(1,3)
- if respuesta == "izquierda":
- respuesta = 1
- else:
- respuesta = 2
- if respuesta == runaMago:
- bot.send_message(message.chat.id,"Lo has adivinado! Toma la runa. Te la equipare en tu equipo.")
- else:
- bot.send_message(message.chat.id,"Lo siento. Te has equivocado...")
- elif not isinstance(message.text,str) or respuesta != "izquierda" or respuesta !="derecha":
- bot.send_message(message.chat.id, "No intentes engañarme con tus sucias palabras, dame una respuesta válida")
- bot.register_next_step_handler(message, guess_runa)
- # Métodos de registro y filtro del input
- def send_welcome(message,ID):
- comprob = 0
- misDatos = dameDatosUsuario()
- for p in misDatos['users']:
- if p['ID'] == ID:
- usuario = p['RPGiUser']
- comprob = 1
- break
- else:
- comprob = 0
- if comprob ==1:
- bot.send_message(ID,"Usted se encuentra en nuestra base de datos. Cargando datos...")
- bot.send_message(ID,"Bienvenido, "+usuario +" a RPGI")
- return True
- else:
- bot.send_message(ID,"No puedes jugar a RPGi si no estás registrado. Introduce un nombre de usuario para registrarte")
- bot.register_next_step_handler(message, registraUsername)
- def registraUsername(message):
- user = message.text
- misDatos = dameDatosUsuario()
- if not isinstance(user,str) or '\\' in user or len(user) > 10 or '/' in user or '%' in user:
- bot.send_message(message.chat.id,"No puedes elegir eso como nombre de usuario")
- bot.register_next_step_handler(message, registraUsername)
- else:
- registraUsuario(message,user)
- bot.send_message(message.chat.id,"Se ha registrado con el usuario "+user+" exitosamente. Ya puedes jugar a RPGi")
- return False
- bot.polling()
Add Comment
Please, Sign In to add comment