import logging
import telebot
from telebot import apihelper
from src.config import settings
from src.database import init_db
from src.handlers import register_all
from src.services.scheduler import start as start_scheduler

def run():
 logging.basicConfig(level=getattr(logging,settings.log_level,logging.INFO),format='%(asctime)s | %(levelname)s | %(name)s | %(message)s')
 init_db(); bot=telebot.TeleBot(settings.token,parse_mode=None,threaded=True,num_threads=8)
 register_all(bot); start_scheduler(bot)
 logging.getLogger(__name__).info('Bot aktif sebagai @%s',bot.get_me().username)
 bot.infinity_polling(skip_pending=True,timeout=30,long_polling_timeout=30,allowed_updates=['message','callback_query','pre_checkout_query'])


# test koneksi github