[deps]: Migrate from pymongo to motor

This commit is contained in:
Sweetbread
2023-05-16 16:34:50 +03:00
parent bf3a56c2ef
commit cada18c9f9
7 changed files with 97 additions and 89 deletions
+18 -18
View File
@@ -6,10 +6,10 @@ from loguru import logger
daysoftheweek = ("monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday")
def save_activity():
async def save_activity():
day = (datetime.now()-timedelta(1)).weekday()
for data in db.history.find({"type": "server"}):
db.history.update_one(
async for data in db.history.find({"type": "server"}):
await db.history.update_one(
{"type": "server", "id": data['id']},
{
"$push":
@@ -18,7 +18,7 @@ def save_activity():
{f'yesterday.{i}': data['current'][str(i)] for i in range(24)}
}
)
db.history.update_one(
await db.history.update_one(
{"type": "server", "id": data['id']},
{
"$push":
@@ -28,36 +28,36 @@ def save_activity():
}
)
def db_sync_hour():
async def db_sync_hour():
logger.info("Регистрация за час")
for member in list(db.members.find()):
db.members.update_one({"_id": member["_id"]}, {"$set": {f"history.hour.{int(datetime.now().timestamp())}": member["exp"]}})
async for member in db.members.find():
await db.members.update_one({"_id": member["_id"]}, {"$set": {f"history.hour.{int(datetime.now().timestamp())}": member["exp"]}})
if 'guild_stat' in member.keys():
for guild in member["guild_stat"].keys():
db.members.update_one({"_id": member["_id"]}, {"$set": {f"guild_stat.{guild}.history.hour.{int(datetime.now().timestamp())}": member["guild_stat"][guild]["exp"]}})
await db.members.update_one({"_id": member["_id"]}, {"$set": {f"guild_stat.{guild}.history.hour.{int(datetime.now().timestamp())}": member["guild_stat"][guild]["exp"]}})
logger.info("Регистрация завершена")
def db_sync_day():
async def db_sync_day():
logger.info("Регистрация за день")
for member in list(db.members.find()):
db.members.update_one({"_id": member["_id"]}, {"$set": {f"history.day.{int(datetime.now().timestamp())}": member["exp"]}})
async for member in db.members.find():
await db.members.update_one({"_id": member["_id"]}, {"$set": {f"history.day.{int(datetime.now().timestamp())}": member["exp"]}})
for guild in member["guild_stat"].keys():
db.members.update_one({"_id": member["_id"]}, {"$set": {f"guild_stat.{guild}.history.day.{int(datetime.now().timestamp())}": member["guild_stat"][guild]["exp"]}})
await db.members.update_one({"_id": member["_id"]}, {"$set": {f"guild_stat.{guild}.history.day.{int(datetime.now().timestamp())}": member["guild_stat"][guild]["exp"]}})
logger.info("Регистрация завершена")
# await self.bot.get_user(self.bot.owner_id).send("Завершено за день????")
async def main():
async def main(bot):
clear()
every().day.at('00:00:00').do(save_activity)
every().hours.at("00:00").do(db_sync_hour)
every().day.at("00:00:00").do(db_sync_day)
every().day.at('00:00:00').do(lambda: asyncio.run_coroutine_threadsafe(save_activity(), bot.loop))
every().hours.at("00:00").do(lambda: asyncio.run_coroutine_threadsafe(db_sync_hour(), bot.loop))
every().day.at("00:00:00").do(lambda: asyncio.run_coroutine_threadsafe(db_sync_day(), bot.loop))
while True:
run_pending()
await asyncio.sleep(1)
async def setup(_):
asyncio.create_task(main())
async def setup(bot):
asyncio.create_task(main(bot))