Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @bot.event
- async def on_member_join(member):
- with open('users.json', 'r') as f:
- users = json.load(f)
- await update_data(users, member)
- with open('users.json', 'w') as f:
- json.dump(users, f)
- @bot.event
- async def on_message(message):
- with open('users.json', 'r') as f:
- users = json.load(f)
- await update_data(users, message.author)
- await add_experience(users, message.author, 5)
- await level_up(users, message.author, message.channel)
- with open('users.json', 'w') as f:
- json.dump(users, f)
- async def update_data(users, user):
- if not user.id in users:
- users[str(user.id)] = {}
- users[str(user.id)]['experience'] = 0
- users[str(user.id)]['level'] = 1
- async def level_up(users, user, channel):
- experience = users[str(user.id)]['experience']
- lvl_start = users[str(user.id)]['level']
- lvl_end = int(experience ** (1/4))
- if lvl_start < lvl_end:
- await channel.send('{ctx.author.mention} has leveled up to level {}'.format(user.mention, lvl_end))
- users[str(user.id)]['level'] = lvl_end
- async def add_experience(users, user, exp):
- users[str(user.id)]['experience'] += exp
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement