mirror of
https://github.com/house-of-vanity/OutFleet.git
synced 2025-08-21 14:37:16 +00:00
Added TG bot
This commit is contained in:
70
telegram_bot/migrations/0001_initial.py
Normal file
70
telegram_bot/migrations/0001_initial.py
Normal file
@@ -0,0 +1,70 @@
|
||||
# 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')],
|
||||
},
|
||||
),
|
||||
]
|
Reference in New Issue
Block a user