# Generated by Django 5.1.7 on 2025-08-14 11:18 import django.db.models.deletion from django.conf import settings from django.db import migrations, models class Migration(migrations.Migration): initial = True dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ] operations = [ migrations.CreateModel( name='BotSettings', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('bot_token', models.CharField(help_text='Telegram Bot Token from @BotFather', max_length=255)), ('enabled', models.BooleanField(default=False, help_text='Enable/Disable the bot')), ('welcome_message', models.TextField(default='Hello! Your message has been received. An administrator will review it.', help_text='Message sent when user starts conversation')), ('created_at', models.DateTimeField(auto_now_add=True)), ('updated_at', models.DateTimeField(auto_now=True)), ], options={ 'verbose_name': 'Bot Settings', 'verbose_name_plural': 'Bot Settings', }, ), migrations.CreateModel( name='BotStatus', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('is_running', models.BooleanField(default=False)), ('last_started', models.DateTimeField(blank=True, null=True)), ('last_stopped', models.DateTimeField(blank=True, null=True)), ('last_error', models.TextField(blank=True)), ('last_update_id', models.BigIntegerField(blank=True, help_text='Last processed update ID from Telegram', null=True)), ], options={ 'verbose_name': 'Bot Status', 'verbose_name_plural': 'Bot Status', }, ), migrations.CreateModel( name='TelegramMessage', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('direction', models.CharField(choices=[('incoming', 'Incoming'), ('outgoing', 'Outgoing')], db_index=True, max_length=10)), ('telegram_user_id', models.BigIntegerField(db_index=True)), ('telegram_username', models.CharField(blank=True, db_index=True, max_length=255, null=True)), ('telegram_first_name', models.CharField(blank=True, max_length=255, null=True)), ('telegram_last_name', models.CharField(blank=True, max_length=255, null=True)), ('chat_id', models.BigIntegerField(db_index=True)), ('message_id', models.BigIntegerField(blank=True, null=True)), ('message_text', models.TextField(blank=True)), ('raw_data', models.JSONField(blank=True, default=dict, help_text='Full message data from Telegram')), ('created_at', models.DateTimeField(auto_now_add=True, db_index=True)), ('linked_user', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='telegram_messages', to=settings.AUTH_USER_MODEL)), ], options={ 'verbose_name': 'Telegram Message', 'verbose_name_plural': 'Telegram Messages', 'ordering': ['-created_at'], 'indexes': [models.Index(fields=['-created_at', 'direction'], name='telegram_bo_created_19b81b_idx'), models.Index(fields=['telegram_user_id', '-created_at'], name='telegram_bo_telegra_f71f27_idx')], }, ), ]