[refactor]: Clear code

This commit is contained in:
Sweetbread 2023-05-11 17:57:08 +03:00
parent 3775c7a5a4
commit 9b66edeb62

View File

@ -67,32 +67,28 @@ class Economic(commands.Cog, name="Экономика"):
) )
if message.author.voice is not None: if message.author.voice is not None:
delta_exp = int(delta_exp / 10) delta_exp //= 10
delta_money = rint(1, 5) delta_money = rint(1, 5)
# Глобальные опыт/уроень # Глобальные опыт/уроень
db.members.update_one({"id": message.author.id}, db.members.update_one({"id": message.author.id},
{"$set": {"exp": data["exp"] + delta_exp}}) # Изменяем exp {"$inc": {"exp": delta_exp}}) # Изменяем exp
data = db.members.find_one({"id": message.author.id}) data = db.members.find_one({"id": message.author.id})
if data is not None: if data is not None:
level = data["level"] level = data["level"]
if level ** 2 * 50 + 5 <= data["exp"]: if level ** 2 * 50 + 5 <= data["exp"]:
db.members.update_one({"id": message.author.id}, db.members.update_one({"id": message.author.id},
{"$set": {"level": data["level"] + 1}}) # Изменяем level {"$inc": {"level": 1}}) # Изменяем level
if data["level"]+1 >= data["max_level"]: if data["level"]+1 >= data["max_level"]:
db.members.update_one({"id": message.author.id}, db.members.update_one({"id": message.author.id},
{"$set": { {"$inc": {"money": (level + 1) * delta_money}}) # Изменяем money
"money": data["money"] + (level + 1) * delta_money}}) # Изменяем money
db.members.update_one({"id": message.author.id},
{"$set": {"max_level": data["level"] + 1}}) # Изменяем level
# Локальные опыт/уровень # Локальные опыт/уровень
prefix = f"guild_stat.{message.guild.id}" prefix = f"guild_stat.{message.guild.id}"
if str(message.guild.id) not in db.members.find_one({"id": message.author.id})["guild_stat"].keys(): if str(message.guild.id) not in db.members.find_one({"id": message.author.id})["guild_stat"].keys():
db.members.update_many({"id": message.author.id}, db.members.update_many({"id": message.author.id},
{ {"$set": {
"$set": {
f"{prefix}.exp": 0, f"{prefix}.exp": 0,
f"{prefix}.level": 0, f"{prefix}.level": 0,
f"{prefix}.secs_in_voice": 0, f"{prefix}.secs_in_voice": 0,
@ -102,25 +98,16 @@ class Economic(commands.Cog, name="Экономика"):
"siv_h": {}, "siv_h": {},
"siv_d": {} "siv_d": {}
} }
} }}) # Создаем в guild_stat поле для сервера
}) # Создаем в guild_stat поле для сервера
data = db.members.find_one({"id": message.author.id})["guild_stat"][str(message.guild.id)] data = db.members.find_one({"id": message.author.id})["guild_stat"][str(message.guild.id)]
db.members.update_one({"id": message.author.id}, db.members.update_one({"id": message.author.id},
{ {"$inc": {f"{prefix}.exp": delta_exp}})
"$set": {
f"{prefix}.exp": data['exp'] + delta_exp
}
})
data = db.members.find_one({"id": message.author.id})["guild_stat"][str(message.guild.id)] data = db.members.find_one({"id": message.author.id})["guild_stat"][str(message.guild.id)]
level = data["level"] level = data["level"]
if level ** 2 * 50 + 5 <= data["exp"]: if level ** 2 * 50 + 5 <= data["exp"]:
db.members.update_one({"id": message.author.id}, db.members.update_one({"id": message.author.id},
{ {"$inc": {f"{prefix}.level": 1}})
"$set": {
f"{prefix}.level": data['level'] + 1
}
})
data = db.guild_settings.find_one({"id": message.guild.id}) data = db.guild_settings.find_one({"id": message.guild.id})
if data is not None and data['levelup'] == "send": if data is not None and data['levelup'] == "send":
await message.reply( await message.reply(
@ -160,15 +147,14 @@ class Economic(commands.Cog, name="Экономика"):
# При выходе # При выходе
if after.channel is None: if after.channel is None:
#logger.info(f"{member.name}#{member.discriminator} вышел. В канале осталось {len(list(filter(lambda x: not x.bot, before.channel.members)))} человек")
try: del self.bot.voice_counter[str(member.id)] try: del self.bot.voice_counter[str(member.id)]
except: pass #logger.info(f"У {member.name}#{member.discriminator} не было информации о времени захода в канал") except: pass
def voice_register(self, member, voice_state): def voice_register(self, member, voice_state):
try: secs = (datetime.now() - self.bot.voice_counter[str(member.id)]).seconds if member.id in self.bot.voice_counter.keys():
except: secs = (datetime.now() - self.bot.voice_counter[member.id]).seconds
#logger.info(f"У {member.name}#{member.discriminator} не было информации о времени захода в канал") else:
secs = 0 secs = 0
# TODO: Убрать нахуй эти ифы # TODO: Убрать нахуй эти ифы
@ -184,7 +170,8 @@ class Economic(commands.Cog, name="Экономика"):
k *= 2 k *= 2
exp = int(secs // 5 * k) exp = int(secs // 5 * k)
money = exp * rint(1, 5) money = exp * rint(1, 5)
db.members.update_one({"id": member.id}, {"$inc": { db.members.update_one({"id": member.id}, {
"$inc": {
f"guild_stat.{member.guild.id}.secs_in_voice": secs, f"guild_stat.{member.guild.id}.secs_in_voice": secs,
f"guild_stat.{member.guild.id}.exp": exp, f"guild_stat.{member.guild.id}.exp": exp,
"exp": exp, "exp": exp,
@ -196,7 +183,7 @@ class Economic(commands.Cog, name="Экономика"):
{"$inc": {f'current.{datetime.now().hour}': exp}} {"$inc": {f'current.{datetime.now().hour}': exp}}
) )
self.bot.voice_counter[str(member.id)] = datetime.now() self.bot.voice_counter[member.id] = datetime.now()
logger.info( logger.info(
f"{member.name}#{member.discriminator}\n" f"{member.name}#{member.discriminator}\n"
@ -218,7 +205,7 @@ class Economic(commands.Cog, name="Экономика"):
logger.debug(member_data["guild_stat"][str(member.guild.id)]["exp"], end="\t") logger.debug(member_data["guild_stat"][str(member.guild.id)]["exp"], end="\t")
db.members.update_one( db.members.update_one(
{"id": member.id}, {"id": member.id},
{"$set": { "exp": member_data["exp"] + member_data["guild_stat"][str(member.guild.id)]["exp"] }} {"$inc": {"exp": member_data["guild_stat"][str(member.guild.id)]["exp"]}}
) )
@commands.Cog.listener() @commands.Cog.listener()
@ -232,7 +219,7 @@ class Economic(commands.Cog, name="Экономика"):
logger.debug(member_data["guild_stat"][str(member.guild.id)]["exp"], end="\t") logger.debug(member_data["guild_stat"][str(member.guild.id)]["exp"], end="\t")
db.members.update_one( db.members.update_one(
{"id": member.id}, {"id": member.id},
{"$set": { "exp": member_data["exp"] - member_data["guild_stat"][str(member.guild.id)]["exp"] } {"$dec": {"exp": member_data["guild_stat"][str(member.guild.id)]["exp"]}
}) })
@commands.Cog.listener() @commands.Cog.listener()
@ -241,7 +228,7 @@ class Economic(commands.Cog, name="Экономика"):
logger.debug(m["guild_stat"][str(guild.id)]["exp"], end="\t") logger.debug(m["guild_stat"][str(guild.id)]["exp"], end="\t")
db.members.update_one( db.members.update_one(
{"id": m['id']}, {"id": m['id']},
{"$set": { "exp": m["exp"] + m["guild_stat"][str(guild.id)]["exp"] } {"$inc": {"exp": m["guild_stat"][str(guild.id)]["exp"]}
}) })
logger.debug(m["guild_stat"][str(guild.id)]["exp"]) logger.debug(m["guild_stat"][str(guild.id)]["exp"])
@ -251,7 +238,7 @@ class Economic(commands.Cog, name="Экономика"):
logger.debug(m["guild_stat"][str(guild.id)]["exp"], end="\t") logger.debug(m["guild_stat"][str(guild.id)]["exp"], end="\t")
db.members.update_one( db.members.update_one(
{"id": m['id']}, {"id": m['id']},
{"$set": {"exp": m["exp"] - m["guild_stat"][str(guild.id)]["exp"]} {"$dec": {"exp": m["guild_stat"][str(guild.id)]["exp"]}
}) })
logger.debug(m["guild_stat"][str(guild.id)]["exp"]) logger.debug(m["guild_stat"][str(guild.id)]["exp"])