/
Shtirlitc
/
TickBot
Обзор
Документация
Войти
/
Shtirlitc
/
TickBot
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
database/models.py
88 строк
2 KB
Shtirlyts
Initial commit: TickBot attendance bot with stale-status fixes
31 июл 2026, 23:40
31 июл 2026, 23:40
30e955c
Код
Авторство
О чём код?
from dataclasses import dataclass, field from typing import Optional, List from datetime import datetime # ============================================================ # USER MODEL # ============================================================ @dataclass class User: """Модель пользователя бота""" id: Optional[int] telegram_id: int username: Optional[str] created_at: Optional[datetime] # ============================================================ # STUDENT MODEL # ============================================================ @dataclass class Student: """Модель студента""" id: Optional[int] telegram_id: int fio: str student_number: str subgroup: int group_name: str created_at: Optional[datetime] # ============================================================ # ATTENDANCE MODEL # ============================================================ @dataclass class Attendance: """Модель отметки посещаемости""" id: Optional[int] student_id: int group_name: str subgroup: int week_string: str day: str subject: str row_num: Optional[int] status: str # ✅, ❌, ⚙️ synced_to_gs: bool = False created_at: Optional[datetime] = None # ============================================================ # BLACKLIST MODEL # ============================================================ @dataclass class Blacklist: """Модель записи в чёрном списке""" id: Optional[int] telegram_id: int reason: Optional[str] added_by: Optional[int] added_at: Optional[datetime] # ============================================================ # NOTIFICATION MODEL # ============================================================ @dataclass class Notification: """Модель настроек уведомлений""" id: Optional[int] telegram_id: int enabled: bool days: List[str] # ["Понедельник", "Вторник", ...] time: str # "09:00" # ============================================================ # WARDEN MODEL # ============================================================ @dataclass class Warden: """Модель старосты""" id: Optional[int] telegram_id: int group_name: str added_by: Optional[int] created_at: Optional[datetime]