39 lines
2.0 KiB
Python
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} успешно создан!")
|
|
|
|
|