Files
lottery_ycms/lottery/bot/utils.py
2025-06-13 21:10:20 +09:00

39 lines
2.0 KiB
Python

# 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} успешно создан!")