:spakles: Database and OOP

This commit is contained in:
NikolajDanger
2020-08-13 16:31:28 +02:00
parent f431c079d1
commit 4127e537a1
31 changed files with 3674 additions and 3731 deletions

View File

@ -1,56 +1,56 @@
import json
import pymongo
from funcs import logThis, getID, getName
from funcs import logThis
# Returns the account balance for a user
def checkBalance(user):
user = user.lower()
logThis("checking "+user+"'s account balance")
with open("resources/users.json", "r") as f:
data = json.load(f)
class Money():
if user in data:
return data[user]["money"]
else: return 0
def __init__(self, bot):
self.bot = bot
self.database = bot.database
# Adds money to the account of a user
def addMoney(user,amount):
logThis("adding "+str(amount)+" to "+user+"'s account")
with open("resources/users.json", "r") as f:
data = json.load(f)
# Returns the account balance for a user
def checkBalance(self, user):
logThis("checking "+user+"'s account balance")
if user in data:
points = data[user]["money"]
data[user]["money"] = points + amount
else:
data[user]["money"] = amount
userData = self.database["users"].find_one({"_id":user})
with open("resources/users.json", "w") as f:
json.dump(data,f,indent=4)
if userData != None:
return userData["money"]
else: return 0
# Transfers money from one user to another
def giveMoney(user,targetUser,amount):
with open("resources/users.json", "r") as f:
data = json.load(f)
# Adds money to the account of a user
def addMoney(self,user,amount):
logThis("adding "+str(amount)+" to "+user+"'s account")
targetUser = getID(targetUser)
userData = self.database["users"].find_one({"_id":user})
if amount > 0:
if targetUser != None:
if user in data:
if data[user]["money"] >= amount:
addMoney(user,-1 * amount)
addMoney(targetUser,amount)
return "Transferred "+str(amount)+" GwendoBucks to "+getName(targetUser)
else:
logThis("They didn't have enough GwendoBucks (error code 1223b)")
return "You don't have that many GwendoBucks (error code 1223b)"
else:
logThis("They didn't have enough GwendoBucks (error code 1223a)")
return "You don't have that many GwendoBucks (error code 1223a)"
if userData != None:
self.database["users"].update_one({"_id":user},{"$inc":{"money":amount}})
else:
logThis("They weren't in the system")
return "The target doesn't exist"
else:
logThis("They tried to steal")
return "Yeah, no. You can't do that"
self.database["users"].insert_one({"_id":user,"user name":self.bot.funcs.getName(user),"money":amount})
# Transfers money from one user to another
def giveMoney(self,user,targetUser,amount):
userData = self.database["users"].find_one({"_id":user})
targetUser = self.bot.funcs.getID(targetUser)
if amount > 0:
if targetUser != None:
if userData != None:
if userData["money"] >= amount:
self.addMoney(user,-1 * amount)
self.addMoney(targetUser,amount)
return "Transferred "+str(amount)+" GwendoBucks to "+self.bot.funcs.getName(targetUser)
else:
logThis("They didn't have enough GwendoBucks (error code 1223b)")
return "You don't have that many GwendoBucks (error code 1223b)"
else:
logThis("They didn't have enough GwendoBucks (error code 1223a)")
return "You don't have that many GwendoBucks (error code 1223a)"
else:
logThis("They weren't in the system")
return "The target doesn't exist"
else:
logThis("They tried to steal")
return "Yeah, no. You can't do that"