:spakles: Database and OOP
This commit is contained in:
@ -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"
|
||||
|
Reference in New Issue
Block a user