Bot container restart from admin-panel

This commit is contained in:
2025-07-21 17:16:07 +09:00
parent 20f67ed96c
commit 421bebb770
267 changed files with 2307 additions and 300 deletions

View File

@@ -1,5 +1,6 @@
from django.db import models
class BotConfig(models.Model):
bot_token = models.CharField(max_length=255, help_text="Токен для подключения к Telegram API")
channel_id = models.CharField(max_length=100, help_text="ID канала/чата, куда бот будет отправлять сообщения")
@@ -15,67 +16,79 @@ class BotConfig(models.Model):
verbose_name="Сообщение о глобальном блоке",
help_text="Сообщение, которое показывается пользователям, если чат отключён."
)
welcome_messages = models.ManyToManyField('WelcomeMessage', blank=True, verbose_name="Варианты приветствия")
active_welcome = models.ForeignKey(
'WelcomeMessage',
null=True,
blank=True,
on_delete=models.SET_NULL,
related_name="used_by",
verbose_name="Активное приветствие"
)
is_active = models.BooleanField(default=False, verbose_name="Включен")
def __str__(self):
return self.bot_name
class Meta:
verbose_name = "Настройка бота"
verbose_name_plural = "Настройки Ботов"
class WelcomeMessage(models.Model):
bot = models.ForeignKey(BotConfig, on_delete=models.CASCADE, verbose_name="Бот")
welcome_message = models.TextField(
verbose_name="Приветственное сообщение",
blank=True,
verbose_name="Приветственное сообщение",
blank=True,
null=True,
help_text="Текст, который будет отправлен при запуске команды /start"
)
welcome_image = models.ImageField(
upload_to='static/upload_image/',
verbose_name="Приветственное изображение",
blank=True,
verbose_name="Приветственное изображение",
blank=True,
null=True,
help_text="Загрузите изображение для приветствия"
)
admin_contact = models.CharField(
max_length=255,
verbose_name="Контакт администратора",
blank=True,
max_length=255,
verbose_name="Контакт администратора",
blank=True,
null=True,
help_text="Ссылка или контакт для связи с администратором"
)
channel_link = models.URLField(
verbose_name="Ссылка на канал",
blank=True,
verbose_name="Ссылка на канал",
blank=True,
null=True,
help_text="URL канала бота"
)
group_link = models.URLField(
verbose_name="Ссылка на группу",
blank=True,
verbose_name="Ссылка на группу",
blank=True,
null=True,
help_text="URL группы бота"
)
custom_link1_name = models.CharField(
max_length=100,
verbose_name="Название кастомной ссылки 1",
blank=True,
max_length=100,
verbose_name="Название кастомной ссылки 1",
blank=True,
null=True
)
custom_link1_url = models.URLField(
verbose_name="URL кастомной ссылки 1",
blank=True,
verbose_name="URL кастомной ссылки 1",
blank=True,
null=True
)
custom_link2_name = models.CharField(
max_length=100,
verbose_name="Название кастомной ссылки 2",
blank=True,
max_length=100,
verbose_name="Название кастомной ссылки 2",
blank=True,
null=True
)
custom_link2_url = models.URLField(
verbose_name="URL кастомной ссылки 2",
blank=True,
verbose_name="URL кастомной ссылки 2",
blank=True,
null=True
)
@@ -84,4 +97,4 @@ class WelcomeMessage(models.Model):
verbose_name_plural = "Приветственные сообщения"
def __str__(self):
return f"Приветствие для {self.bot}"
return f"Приветствие для {self.bot}"