35 lines
1.3 KiB
Python
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()
|
|
|