Files
wallamanta/wallamanta/account_checker.py

35 lines
1.3 KiB
Python

import helpers
import walladb
import asyncio
import logging
# Enable logging
logging.basicConfig(
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s', level=logging.INFO
)
async def work(sleep_time):
await asyncio.sleep(30)
while True:
user_list = walladb.get_user_list()
for user in user_list:
if walladb.is_user_valid(user['telegram_user_id']):
if walladb.is_user_expired(user['telegram_user_id']):
message = "¡Hola!\n\nTu cuenta ha caducado. Si quieres seguir usando @wallamanta_bot ponte en contacto con @jocarduck\n\n¡Gracias!"
try:
await asyncio.sleep(1)
await helpers.send_message(user['telegram_user_id'], message)
except Exception as e:
logging.error(f"Couldn't sent message to {user['telegram_user_id']}. Reason: {e}")
walladb.deactivate_user(user['telegram_user_id'])
await asyncio.sleep(sleep_time)
def account_checker(sleep_time):
logging.info(f"Account checker starting... Checking every {sleep_time} seconds")
while True:
loop = asyncio.new_event_loop()
asyncio.set_event_loop(loop)
loop.run_until_complete(work(sleep_time))
loop.close()