-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathScript.py
33 lines (26 loc) · 1.3 KB
/
Script.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import asyncio
import os
from motor.motor_asyncio import AsyncIOMotorClient
db_new = AsyncIOMotorClient("!!!! MONGODB SECRET !!!!")
async def main():
coll = db_new['enchanted-main']['clans']
coll_users = db_new['enchanted-main']['users']
while True:
for clan in coll.find({}):
all_members = coll_users.find({'user_id': {'$in': clan['members']}})
clan['power'] = sum(member['power'] for member in all_members)
coll.update_one({'name': clan["name"]}, {'$set': {'power': clan['power'], "member_count": len(clan['members'])}})
for clan in coll.find({}):
clan['key_storage'] += clan['key_factory']
if clan['key_storage'] > clan['key_storage_max']:
clan['key_storage'] = clan['key_storage_max']
clan['coin_storage'] += clan['coin_mint']
if clan['coin_storage'] > clan['coin_storage_max']:
clan['coin_storage'] = clan['coin_storage_max']
clan['ruby_storage'] += clan['ruby_miner']
if clan['ruby_storage'] > clan['ruby_storage_max']:
clan['ruby_storage'] = clan['ruby_storage_max']
coll.update_one({'name': clan['name']}, {'$set': clan})
await asyncio.sleep(3600)
loop = asyncio.get_event_loop()
loop.run_until_complete(main())