# load me import json def loadJson(self): try: with open('modules/stonks.json') as json_file: data = json.load(json_file) self.stonksData = data except FileNotFoundError: print('not found') def writeJson(self): with open('modules/stonks.json', 'w') as outfile: json.dump(self.stonksData, outfile) def createToken(self, c, n, m): if ''.join(m) in self.stonksData: self.say(c, 'that token already exists') else: m = ''.join(m) self.stonksData[m] = {n: 100000} self.say(c, 'token {} created!'.format(m)) def sendToken(self, c, n, m): if self.stonksData[m[2]][n] - float(m[1]) >= 0 and float(m[1]) > 0: try: self.stonksData[m[2]][m[0]] += float(m[1]) except: self.stonksData[m[2]][m[0]] = float(m[1]) self.stonksData[m[2]][n] += 0 - float(m[1]) self.say(c, 'sent!') else: self.say(c, 'invalid amount dummy thicc') def listTokens(self, c, n, m): self.say(c, 'the tokens that exist are '+' '.join(list(self.stonksData.keys()))) def nuke(self, c, n, m): t = m.pop(0) if self.stonksData[t][n] == 100000: self.stonksData.pop(t) self.say(c, 'removed token {}!'.format(t)) else: self.say(c, 'you must own all of the token to delete it.') def tokenBal(self, c, n, m): if len(m) == 1: try: if m[0] == '*': a='' for i in [s for s in self.stonksData if n in self.stonksData[s]]: a = a + "{}: {}, ".format(i, self.stonksData[i][n]) self.say(c, 'All your balances: {}'.format(a[:-2])) return self.say(c, "your balance of {} is {}.".format(m[0], self.stonksData[m[0]][n])) except: self.say(c, 'you have no {}.'.format(m[0])) else: try: self.say(c, "{}'s balance of {} is {}.".format(m[0], m[1], self.stonksData[m[1]][m[0]])) except: self.say(c, '{} has no {}.'.format(m[0], m[1])) cmds = { "create": createToken, "send": sendToken, "tip": sendToken, "tokens": listTokens, "bal": tokenBal, "balance": tokenBal, "nuke": nuke } def parseCommand(self, c,n,m): m = m.split() m.pop(0) cmd = m.pop(0) if cmd in cmds: loadJson(self) cmds[cmd](self, c, n, m) writeJson(self) else: self.say(c,'availible options are create , send , tokens, balance [user] ') def init(self): self.registerCommand('stonks', parseCommand) self.registerCommand('stoinks', parseCommand) self.registerCommand('stonk', parseCommand) self.registerCommand('stocks', parseCommand) self.registerHelp('stonks', 'stonks - fake cryptocurrency without a blockchain, do {}stonks help for syntax'.format(self.prefix))