start replacement of highscores.py
This commit is contained in:
parent
8756947298
commit
c0a5dda5d2
1 changed files with 57 additions and 0 deletions
57
cogs/message_xp.py
Normal file
57
cogs/message_xp.py
Normal file
|
|
@ -0,0 +1,57 @@
|
||||||
|
from discord.ext import commands
|
||||||
|
import json
|
||||||
|
import os
|
||||||
|
from cogs.base_cog.bot_base_cog import BotBaseCog
|
||||||
|
|
||||||
|
class MessageXP(BotBaseCog):
|
||||||
|
|
||||||
|
def __init__(self, bot):
|
||||||
|
super().__init__(bot)
|
||||||
|
self.setup(__class__.__name__)
|
||||||
|
|
||||||
|
@commands.command()
|
||||||
|
async def stats(self, ctx):
|
||||||
|
author_id = ctx.author.id
|
||||||
|
if not os.path.exists(self.data_dir + "xp.json"):
|
||||||
|
create_xp_file(self)
|
||||||
|
try:
|
||||||
|
with open(self.data_dir + "xp.json", "r") as xp_file:
|
||||||
|
xp_data = json.load(xp_file)
|
||||||
|
xp_file.close()
|
||||||
|
if author_id in xp_data:
|
||||||
|
await ctx.send(f"You have {xp_data[author_id]} XP")
|
||||||
|
else:
|
||||||
|
await ctx.send("You have 0 XP")
|
||||||
|
except:
|
||||||
|
await ctx.send("Error getting XP")
|
||||||
|
|
||||||
|
|
||||||
|
@commands.Cog.listener()
|
||||||
|
async def on_message(self, message: discord.Message):
|
||||||
|
author_id = message.author.id
|
||||||
|
if author_id == self.bot_id:
|
||||||
|
return
|
||||||
|
else:
|
||||||
|
#check if file exists
|
||||||
|
if not os.path.exists(self.data_dir + "xp.json"):
|
||||||
|
create_xp_file(self)
|
||||||
|
with open(self.data_dir + "xp.json", "r") as xp_file:
|
||||||
|
xp_data = json.load(xp_file)
|
||||||
|
xp_file.close()
|
||||||
|
if author_id in xp_data:
|
||||||
|
xp_data[author_id] += 1
|
||||||
|
else:
|
||||||
|
xp_data[author_id] = 1
|
||||||
|
with open(self.data_dir + "xp.json", "w") as xp_file:
|
||||||
|
json.dump(xp_data, xp_file)
|
||||||
|
xp_file.close()
|
||||||
|
|
||||||
|
def create_xp_file(self):
|
||||||
|
with open(self.data_dir + "xp.json", "w") as xp_file:
|
||||||
|
xp_data = {}
|
||||||
|
json.dump(xp_data, xp_file)
|
||||||
|
xp_file.close()
|
||||||
|
|
||||||
|
|
||||||
|
async def setup(bot):
|
||||||
|
await bot.add_cog(MessageXP(bot))
|
||||||
Loading…
Add table
Add a link
Reference in a new issue