# bot/utils.py
from telegram import Bot
from django.conf import settings
from telegram import Bot
from bot.models import BotConfig
from django.core.exceptions import ImproperlyConfigured

def create_bot_instance():
    """
    Получает настройки бота из БД и создаёт экземпляр Telegram Bot.
    """
    config = BotConfig.objects.first()  # предполагается, что конфигурация одна
    if not config:
        raise ImproperlyConfigured("Настройки бота (BotConfig) не сконфигурированы в базе данных.")
    
    # Можно дополнительно использовать config.channel_id и config.bot_name при необходимости.
    bot = Bot(token=config.bot_token)
    return bot


def notify_user(binding_request, approved=True):
    bot_token = settings.BOT_CONFIG.bot_token  # можно использовать модель BotConfig или настройку из settings
    bot = Bot(token=bot_token)
    message = "Ваша заявка на привязку успешно подтверждена!" if approved else "Ваша заявка на привязку отклонена."
    try:
        bot.send_message(chat_id=binding_request.telegram_chat_id, text=message)
    except Exception as e:
        # Обработка ошибок отправки сообщения
        print(f"Ошибка уведомления: {e}")


# Пример использования в точке входа приложения:
if __name__ == '__main__':
    # Предполагается, что Django уже настроен (например, через manage.py shell или management command)
    bot = create_bot_instance()
    # Теперь можно использовать объект bot для отправки сообщений, обработки обновлений и т.д.
    print(f"Бот {bot.name} успешно создан!")
    
    