From 64f66347a1bc806bad88c2ff7f0075f2096f108f Mon Sep 17 00:00:00 2001 From: Aevann Date: Thu, 21 Sep 2023 23:17:45 +0300 Subject: [PATCH] add a monthly janny salary of 10k mbux per janny level --- files/helpers/cron.py | 13 ++++++++++++- files/routes/__init__.py | 2 +- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/files/helpers/cron.py b/files/helpers/cron.py index 766db2597..40e6e1ca3 100644 --- a/files/helpers/cron.py +++ b/files/helpers/cron.py @@ -29,7 +29,7 @@ from files.cli import app, db_session, g CRON_CACHE_TIMEOUT = 172800 -def cron_fn(every_5m, every_1d, every_fri_12, every_fri_23, every_sat_00, every_sat_03, every_sun_07, every_sun_19, every_sun_20, every_sun_23): +def cron_fn(every_5m, every_1d, every_fri_12, every_fri_23, every_sat_00, every_sat_03, every_sun_07, every_sun_19, every_sun_20, every_sun_23, every_1mo): with app.app_context(): g.db = db_session() g.v = None @@ -102,6 +102,10 @@ def cron_fn(every_5m, every_1d, every_fri_12, every_fri_23, every_sat_00, every_ _delete_all() g.db.commit() + if every_1mo: + _give_marseybux_salary() + g.db.commit() + except: print(traceback.format_exc(), flush=True) g.db.rollback() @@ -124,6 +128,7 @@ def cron_fn(every_5m, every_1d, every_fri_12, every_fri_23, every_sat_00, every_ @click.option('--every-sun-19', is_flag=True, help='Call every Sunday.') @click.option('--every-sun-20', is_flag=True, help='Call every Sunday.') @click.option('--every-sun-23', is_flag=True, help='Call every Sunday.') +@click.option('--every-1mo', is_flag=True, help='Call every 1 month.') def cron(**kwargs): cron_fn(**kwargs) @@ -415,3 +420,9 @@ def _unpin_expired(): if pins: cache.delete_memoized(frontlist) + +def _give_marseybux_salary(): + for u in g.db.query(User).filter(User.admin_level > 0).all(): + marseybux_salary = u.admin_level * 10000 + u.pay_account('marseybux', marseybux_salary) + send_repeatable_notification(u.id, f"You have received your monthly janny salary of {marseybux_salary} Marseybux!") diff --git a/files/routes/__init__.py b/files/routes/__init__.py index 3510dfad4..c718c313f 100644 --- a/files/routes/__init__.py +++ b/files/routes/__init__.py @@ -56,4 +56,4 @@ if IS_LOCALHOST: if "cron" not in argv and "load_chat" not in argv: from files.helpers.cron import cron_fn print('Starting cron tasks!', flush=True) - gevent.spawn(cron_fn, True, False, False, False, False, False, False, False, False, False) + gevent.spawn(cron_fn, True, False, False, False, False, False, False, False, False, False, False)