48 lines
1.5 KiB
Python
48 lines
1.5 KiB
Python
# Импорт модулей стандартной библиотеки
|
|
import time
|
|
|
|
# Импорт модулей приложения
|
|
from . import client, db, logger, DELAY_TIME
|
|
from .actions import get_top_wins, get_top_donates
|
|
|
|
|
|
async def main():
|
|
"""Запускак клиента Telegram"""
|
|
await client.start()
|
|
logger.info('Клиент Telegram запущен')
|
|
|
|
# Основной цикл программы
|
|
while True:
|
|
try:
|
|
await get_top_wins() # Получает топ клана по победам
|
|
except Exception as e:
|
|
logger.error('Ошибка получения списка побед')
|
|
logger.error(e)
|
|
|
|
try:
|
|
await get_top_donates() # Получает топ клана по пожертвованиям
|
|
except Exception as e:
|
|
logger.error('Ошибка получения списка пожертвований')
|
|
logger.error(e)
|
|
|
|
# Приостанавливает выполнение цикла
|
|
time.sleep(DELAY_TIME)
|
|
|
|
await client.stop()
|
|
logger.info('Клиент Telegram остановлен')
|
|
|
|
|
|
if __name__ == '__main__':
|
|
logger.info('Выполняется запуск приложения')
|
|
|
|
logger.info('Выполняется подключение к базе данных')
|
|
db.connect()
|
|
|
|
try:
|
|
client.run(main())
|
|
except KeyboardInterrupt:
|
|
pass
|
|
|
|
db.close()
|
|
logger.info('Приложение завершило работу')
|