summaryrefslogtreecommitdiff
path: root/files/TG_bot_VPN-main/main.py
blob: b6ec0b1ea7cc2182c2e445c792b20f409e2c287f (plain)
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
from datetime import datetime

from loader import bot, app_logger, scheduler
import handlers  # noqa
from telebot.custom_filters import StateFilter
from utils.set_bot_commands import set_default_commands
from database.models import create_models
from config_data.config import ADMIN_ID
from utils.tasks import check_and_revoke_keys, send_renewal_notifications

if __name__ == '__main__':
    create_models()
    app_logger.debug("Подключение к базе данных...")
    bot.add_custom_filter(StateFilter(bot))
    set_default_commands(bot)
    app_logger.info("Загрузка базовых команд...")
    # Очистка всех задач
    scheduler.remove_all_jobs()

    # Запуск проверки каждые 5 минут
    scheduler.add_job(check_and_revoke_keys, 'interval', minutes=5, next_run_time=datetime.now())
    scheduler.start()
    app_logger.info("Запущен планировщик для проверки подписки пользователей и отзыва ключей.")

    # Каждые 8 часов отправляем уведомления о продлении ключей
    # scheduler.add_job(send_renewal_notifications, 'interval', hours=8, args=[scheduler], next_run_time=datetime.now())
    # app_logger.info("Запущен планировщик для продления ключей.")

    app_logger.info(f"Бот @{bot.get_me().username} запущен.")
    bot.send_message(ADMIN_ID, "Бот запущен.")
    bot.infinity_polling()