Advertisement
Guest User

Untitled

a guest
Mar 31st, 2020
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.23 KB | None | 0 0
  1. @bot.event
  2. async def on_member_join(member):
  3. with open('users.json', 'r') as f:
  4. users = json.load(f)
  5.  
  6. await update_data(users, member)
  7.  
  8. with open('users.json', 'w') as f:
  9. json.dump(users, f)
  10.  
  11. @bot.event
  12. async def on_message(message):
  13. with open('users.json', 'r') as f:
  14. users = json.load(f)
  15.  
  16. await update_data(users, message.author)
  17. await add_experience(users, message.author, 5)
  18. await level_up(users, message.author, message.channel)
  19.  
  20. with open('users.json', 'w') as f:
  21. json.dump(users, f)
  22.  
  23. async def update_data(users, user):
  24. if not user.id in users:
  25. users[str(user.id)] = {}
  26. users[str(user.id)]['experience'] = 0
  27. users[str(user.id)]['level'] = 1
  28.  
  29. async def level_up(users, user, channel):
  30. experience = users[str(user.id)]['experience']
  31. lvl_start = users[str(user.id)]['level']
  32. lvl_end = int(experience ** (1/4))
  33.  
  34. if lvl_start < lvl_end:
  35. await channel.send('{ctx.author.mention} has leveled up to level {}'.format(user.mention, lvl_end))
  36. users[str(user.id)]['level'] = lvl_end
  37.  
  38. async def add_experience(users, user, exp):
  39. users[str(user.id)]['experience'] += exp
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement