Character Template
This commit is contained in:
98
swchar.py
98
swchar.py
@ -11,20 +11,54 @@ def getName(user : str):
|
||||
return user
|
||||
|
||||
def setUpDict(cmd : dict):
|
||||
keys = list(cmd)
|
||||
values = list(cmd.values())
|
||||
result = ""
|
||||
for x in range(len(keys)):
|
||||
if x%3 != 2:
|
||||
result += keys[x] + ": " + str(values[x]) + "\t"
|
||||
if bool(dict):
|
||||
keys = list(cmd)
|
||||
values = list(cmd.values())
|
||||
result = ""
|
||||
if type(values[0]) is dict:
|
||||
return ", ".join(values)
|
||||
else:
|
||||
result += keys[x] + ": " + str(values[x]) + "\n"
|
||||
return result
|
||||
for x in range(len(keys)):
|
||||
if x%3 != 2:
|
||||
result += keys[x] + ": " + str(values[x]) + "\t"
|
||||
else:
|
||||
result += keys[x] + ": " + str(values[x]) + "\n"
|
||||
return result
|
||||
else:
|
||||
return "There doesn't seem to be anything here..."
|
||||
|
||||
def lookUp(data : dict, key : str, cmd : str = ""):
|
||||
if cmd == " ":
|
||||
cmd = ""
|
||||
elif cmd != "":
|
||||
while cmd[0] == " ":
|
||||
cmd = cmd[1:]
|
||||
if cmd == "":
|
||||
break
|
||||
|
||||
if key in data:
|
||||
if cmd == "":
|
||||
return data[key]
|
||||
if type(data[key]) is dict:
|
||||
return setUpDict(data[key])
|
||||
else:
|
||||
return data[key]
|
||||
elif cmd[0] == '+':
|
||||
try:
|
||||
cmd = cmd[1:]
|
||||
while cmd[0] == ' ':
|
||||
cmd = cmd[1:]
|
||||
except:
|
||||
return "Can't do that"
|
||||
|
||||
if type(data[key]) is int:
|
||||
try:
|
||||
newValue = data[key] + int(cmd)
|
||||
data[key] = newValue
|
||||
return data
|
||||
except:
|
||||
return "Can't add that"
|
||||
else:
|
||||
return "Can't add that"
|
||||
else:
|
||||
while cmd[0] == ' ':
|
||||
cmd = cmd[1:]
|
||||
@ -34,12 +68,22 @@ def lookUp(data : dict, key : str, cmd : str = ""):
|
||||
return data
|
||||
except:
|
||||
return "Wrong data type"
|
||||
else:
|
||||
return key + " doesn't exist"
|
||||
|
||||
def charData(user : str, key : str,cmd : str = ""):
|
||||
def charData(user : str,cmd : str):
|
||||
with open("characters.json", "r") as f:
|
||||
data = json.load(f)
|
||||
|
||||
key = string.capwords(key)
|
||||
key = string.capwords(cmd.split(" ")[0])
|
||||
cmd = cmd[len(key):]
|
||||
if cmd == " ":
|
||||
cmd = ""
|
||||
elif cmd != "":
|
||||
while cmd[0] == " ":
|
||||
cmd = cmd[1:]
|
||||
if cmd == "":
|
||||
break
|
||||
|
||||
if user in data:
|
||||
if key in data[user]:
|
||||
@ -47,7 +91,7 @@ def charData(user : str, key : str,cmd : str = ""):
|
||||
if cmd == "":
|
||||
return setUpDict(data[user][key])
|
||||
else:
|
||||
newKey = cmd.split(" ")[0]
|
||||
newKey = string.capwords(cmd.split(" ")[0])
|
||||
newcmd = cmd[len(newKey):]
|
||||
|
||||
lookUpResult = lookUp(data[user][key],newKey,newcmd)
|
||||
@ -62,6 +106,22 @@ def charData(user : str, key : str,cmd : str = ""):
|
||||
else:
|
||||
if cmd == "":
|
||||
return data[user][key]
|
||||
elif cmd[0] == '+':
|
||||
try:
|
||||
cmd = cmd[1:]
|
||||
while cmd[0] == ' ':
|
||||
cmd = cmd[1:]
|
||||
except:
|
||||
return "Can't do that"
|
||||
|
||||
if type(data[user][key]) is int:
|
||||
try:
|
||||
data[user][key] += int(cmd)
|
||||
return "Added " + cmd + " to " + user + "'s " + key
|
||||
except:
|
||||
return "Can't add that"
|
||||
else:
|
||||
return "Can't add that"
|
||||
else:
|
||||
data[user][key] = cmd
|
||||
with open("characters.json", "w") as f:
|
||||
@ -71,3 +131,17 @@ def charData(user : str, key : str,cmd : str = ""):
|
||||
return "Couldn't find that data. Are you sure you spelled it correctly?"
|
||||
else:
|
||||
return "You don't have a character. You can make one with !swchar"
|
||||
|
||||
def lightsaberChar(user : str):
|
||||
with open("characters.json", "r") as f:
|
||||
data = json.load(f)
|
||||
|
||||
if user in data:
|
||||
return data[user]["Lightsaber Characteristic"]
|
||||
|
||||
def userHasChar(user : str):
|
||||
with open("characters.json", "r") as f:
|
||||
data = json.load(f)
|
||||
|
||||
return user in data
|
||||
|
||||
|
Reference in New Issue
Block a user