Skip to content

GR2-0/bot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

22 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

GR2-0 Community Bot

ОписаниС

ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚

ΠœΡ‹ Ρ€Π°Π·Π²ΠΈΠ²Π°Π΅ΠΌ GR2-0 - локальноС ΠΊΠΎΠΌΠΌΡŒΡŽΠ½ΠΈΡ‚ΠΈ людСй, ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΡŽΡ‰ΠΈΡ…ΡΡ IT, тСхнологиями ΠΈ всСм, Ρ‡Ρ‚ΠΎ с Π½ΠΈΠΌΠΈ связано. Π‘ ростом GR2-0 появилась ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎΡΡ‚ΡŒ Π² Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ процСссов Π΅Π³ΠΎ управлСния ΠΈ развития, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ:

  1. ΠžΡ†Π΅Π½ΠΊΠ° Π²ΠΊΠ»Π°Π΄Π° ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ участника для
    1. ранТирования Ρ„ΠΈΠ΄Π±Π΅ΠΊΠ°,
    2. поощрСния активности ΠΏΠΎ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΡŽ GR2-0,
    3. принятия Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ ΠΏΠΎ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΡŽ Π² соотвСтствии с потрСбностями Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… участников, Π° Π½Π΅ просто людСй, Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ числящихся Π² GR2-0.
  2. ΠŸΡ€ΠΈΡ‘ΠΌΡƒ Ρ„ΠΈΠ΄Π±Π΅ΠΊΠ° ΠΎΡ‚ участников для Π°Π΄Π°ΠΏΡ‚Π°Ρ†ΠΈΠΈ ΠΊΠΎΠΌΠΌΡŒΡŽΠ½ΠΈΡ‚ΠΈ.
  3. ΠŸΡ€ΠΈΡ‘ΠΌΡƒ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΎΡ‚ участников для ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ рассмотрСния Π°Π΄ΠΌΠΈΠ½Π°ΠΌΠΈ.

АрхитСктура ΠΈ структура ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΏΠ°ΠΏΠΎΠΊ

gr2_bot/
β”œβ”€β”€ data/
β”‚   β”œβ”€β”€ private/          # ΠŸΡ€ΠΈΠ²Π°Ρ‚Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ (Π² .gitignore)
β”‚   β”‚   β”œβ”€β”€ config/       # ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹
β”‚   β”‚   β”œβ”€β”€ users/        # Π‘Π°Π·Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ
β”‚   β”‚   β”œβ”€β”€ meetups/      # Π‘Π°Π·Π° ΠΌΠΈΡ‚Π°ΠΏΠΎΠ²
β”‚   β”‚   └── bot/          # Π’ΠΎΠΊΠ΅Π½Ρ‹ ΠΈ настройки Π±ΠΎΡ‚Π°
β”‚   └── public/           # ΠŸΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ (Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ)
β”‚       └── messages/     # ВСкстовыС сообщСния Π±ΠΎΡ‚Π°
β”œβ”€β”€ src/                  # Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄
β”œβ”€β”€ tests/                # ВСсты
β”œβ”€β”€ requirements.txt       # Зависимости
└── README.md

ВСхничСский стСк

  • Python - основной язык. АрхитСктура асинхронная.
  • python-telegram-bot - Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для взаимодСйствия с Telegram API
  • JSON - Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ хранСния Π΄Π°Π½Π½Ρ‹Ρ…
  • File-based storage - Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ„Π°ΠΉΠ»Π°Ρ… (Π½Π΅ Π‘Π”)

ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ

ВсС ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ хранятся Π² data/private/config/:

  • bot_config.json - Ρ‚ΠΎΠΊΠ΅Π½Ρ‹ Π±ΠΎΡ‚Π°, ID Π³Ρ€ΡƒΠΏΠΏ
  • points_config.json - настройки систСмы ΠΏΠΎΠΈΠ½Ρ‚ΠΎΠ²
  • community_config.json - настройки ΠΊΠΎΠΌΠΌΡŒΡŽΠ½ΠΈΡ‚ΠΈ

Бущности ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…

1. Π‘ΠΎΡ‚

Π’Π΅Π»Π΅Π³Ρ€Π°ΠΌ-Π±ΠΎΡ‚ с админскими ΠΏΡ€Π°Π²Π°ΠΌΠΈ Π² Π³Ρ€ΡƒΠΏΠΏΠ΅ ΠΊΠΎΠΌΠΌΡŒΡŽΠ½ΠΈΡ‚ΠΈ, Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ Ρ€ΡƒΡ‚ΠΈΠ½Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΡŽ ΠΊΠΎΠΌΠΌΡŒΡŽΠ½ΠΈΡ‚ΠΈ.

2. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ

{
    "id": "telegram_user_id",
    "username": "имя_для_обращСния",
    "registration_date": "YYYY-MM-DD",
    "role": "user|admin|dead",
    "points": 0,
    "info": "ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Π°Ρ_информация"
}

3. Админ

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹ΠΌΠΈ ΠΏΡ€Π°Π²Π°ΠΌΠΈ ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ ΠΏΠΎ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡŽ Π±ΠΎΡ‚ΠΎΠΌ. ΠœΠΎΠΆΠ΅Ρ‚:

  • Π‘ΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ/Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ/ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ ΠΌΠΈΡ‚Π°ΠΏΡ‹
  • Π£ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ списком Π°Π΄ΠΌΠΈΠ½ΠΎΠ²
  • ΠŸΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ статистику
  • ΠŸΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ увСдомлСния ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°Ρ…

4. ΠœΠΈΡ‚Π°ΠΏ

{
    "id": "unique_meetup_id",
    "name": "Π½Π°Π·Π²Π°Π½ΠΈΠ΅_ΠΌΠΈΡ‚Π°ΠΏΠ°",
    "date": "YYYY-MM-DD",
    "start_time": "HH:MM",
    "end_time": "HH:MM",
    "location": "мСсто_провСдСния",
    "capacity": "Π²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ",
    "status": "planned|active|completed|archived",
    "attendees": [
        {
            "user_id": "telegram_id",
            "registration_time": "HH:MM:SS"
        }
    ],
    "presentations": [
        {
            "title": "Π½Π°Π·Π²Π°Π½ΠΈΠ΅_Π΄ΠΎΠΊΠ»Π°Π΄Π°",
            "speaker": "username_Π΄ΠΎΠΊΠ»Π°Π΄Ρ‡ΠΈΠΊΠ°"
        }
    ]
}

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ юз-кСйсы ΠΈ бизнСс-Π»ΠΎΠ³ΠΈΠΊΠ°

1. РСгистрация ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ

Π’Ρ€ΠΈΠ³Π³Π΅Ρ€: ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΏΠΈΡˆΠ΅Ρ‚ Π±ΠΎΡ‚Ρƒ сообщСниС Алгоритм:

  1. Π‘ΠΎΡ‚ провСряСт, состоит Π»ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π² Π³Ρ€ΡƒΠΏΠΏΠ΅ ΠΊΠΎΠΌΠΌΡŒΡŽΠ½ΠΈΡ‚ΠΈ
  2. Если Π΄Π° - запускаСтся скрипт рСгистрации
  3. Если Π½Π΅Ρ‚ - Π±ΠΎΡ‚ ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ°Π΅Ρ‚ Π²ΡΡ‚ΡƒΠΏΠΈΡ‚ΡŒ Π² Π³Ρ€ΡƒΠΏΠΏΡƒ
  4. ПослС вступлСния ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ повторяСт ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΡƒ
  5. Π‘ΠΎΡ‚ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ имя для обращСния ΠΈ ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ
  6. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ добавляСтся Π² Π±Π°Π·Ρƒ с Ρ€ΠΎΠ»ΡŒΡŽ "user"
  7. НачислСниС ΠΏΠΎΠΈΠ½Ρ‚ΠΎΠ²: +1 Π·Π° Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π°Ρ†ΠΈΡŽ

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ошибок:

  • ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π΅ Π² Π³Ρ€ΡƒΠΏΠΏΠ΅ β†’ ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ΅Π½ΠΈΠ΅ Π²ΡΡ‚ΡƒΠΏΠΈΡ‚ΡŒ
  • Π”ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ рСгистрации β†’ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

2. Π‘Π±ΠΎΡ€ статистики посСщСния ΠΌΠΈΡ‚Π°ΠΏΠΎΠ²

Π’Ρ€ΠΈΠ³Π³Π΅Ρ€: Админ Π΄Π°Ρ‘Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ старта ΠΌΠΈΡ‚Π°ΠΏΠ° Алгоритм:

  1. Админ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ /meetup_add для создания ΠΌΠΈΡ‚Π°ΠΏΠ°
  2. Вводятся: Π½Π°Π·Π²Π°Π½ΠΈΠ΅, Π΄Π°Ρ‚Π°, врСмя Π½Π°Ρ‡Π°Π»Π°/ΠΊΠΎΠ½Ρ†Π°, мСсто, Π²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ
  3. Π”ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ΡΡ Π΄ΠΎΠΊΠ»Π°Π΄Ρ‹ (Π½Π°Π·Π²Π°Π½ΠΈΠ΅ + Π΄ΠΎΠΊΠ»Π°Π΄Ρ‡ΠΈΠΊ ΠΈΠ· Ρ‡Π»Π΅Π½ΠΎΠ² Π³Ρ€ΡƒΠΏΠΏΡ‹)
  4. Π‘ΠΎΡ‚ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ QR-ΠΊΠΎΠ΄Ρ‹ с Π΄ΠΈΠΏΠ»ΠΈΠ½ΠΊΠ°ΠΌΠΈ ΠΊΠ°ΠΆΠ΄Ρ‹Π΅ 30 сСкунд
  5. Π‘Ρ‚Π°Ρ€Ρ‹Π΅ ΠΊΠΎΠ΄Ρ‹ ΠΈ Ρ„Π°ΠΉΠ»Ρ‹ ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ автоматичСски
  6. Админ транслируСт Ρ‡Π°Ρ‚ с Π±ΠΎΡ‚ΠΎΠΌ Ρ‡Π΅Ρ€Π΅Π· ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΡ€
  7. ΠŸΠΎΡΠ΅Ρ‚ΠΈΡ‚Π΅Π»ΠΈ ΡΠΊΠ°Π½ΠΈΡ€ΡƒΡŽΡ‚ QR-ΠΊΠΎΠ΄Ρ‹ ΠΈΠ»ΠΈ пСрСходят ΠΏΠΎ ссылкам для рСгистрации
  8. Валидация: ΠΎΠ΄ΠΈΠ½ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ = ΠΎΠ΄Π½Π° рСгистрация Π½Π° ΠΌΠΈΡ‚Π°ΠΏ
  9. НачислСниС ΠΏΠΎΠΈΠ½Ρ‚ΠΎΠ²: +7 Π·Π° посСщСниС

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ошибок:

  • ΠŸΠΎΠ²Ρ‚ΠΎΡ€Π½Π°Ρ рСгистрация β†’ "Π’Ρ‹ ΡƒΠΆΠ΅ отмСтился. Π Π°Π΄Ρ‹, Ρ‡Ρ‚ΠΎ Ρ‚Ρ‹ с Π½Π°ΠΌΠΈ!"
  • ΠŸΡ€ΠΎΡΡ€ΠΎΡ‡Π΅Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ β†’ "Извини, ΠΊΠΎΠ΄ просрочСн."

3. Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΌΠΈΡ‚Π°ΠΏΠ°ΠΌΠΈ

ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ Π°Π΄ΠΌΠΈΠ½Π°:

  • /meetup β†’ Π²Ρ‹Π±ΠΎΡ€ дСйствия: add/edit/delete
  • /meetup_add β†’ созданиС Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΌΠΈΡ‚Π°ΠΏΠ°
  • /meetup_edit β†’ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅Π·Π°Π²Π΅Ρ€ΡˆΡ‘Π½Π½Ρ‹Ρ… ΠΌΠΈΡ‚Π°ΠΏΠΎΠ²
  • /meetup_delete β†’ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π½Π΅Π·Π°Π²Π΅Ρ€ΡˆΡ‘Π½Π½Ρ‹Ρ… ΠΌΠΈΡ‚Π°ΠΏΠΎΠ²

ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΡ:

  • Π—Π°Π²Π΅Ρ€ΡˆΡ‘Π½Π½Ρ‹Π΅ ΠΌΠΈΡ‚Π°ΠΏΡ‹ нСльзя Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ/ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· Π±ΠΎΡ‚Π°
  • АрхивированиС происходит автоматичСски ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ статуса

4. Π‘Π±ΠΎΡ€ Ρ„ΠΈΠ΄Π±Π΅ΠΊΠ°

Π’Ρ€ΠΈΠ³Π³Π΅Ρ€: Π—Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ ΠΌΠΈΡ‚Π°ΠΏΠ° Алгоритм:

  1. Π‘ΠΎΡ‚ отправляСт Π»ΠΈΡ‡Π½Ρ‹Π΅ сообщСния всСм участникам
  2. Π—Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ΡΡ ΠΎΡ†Π΅Π½ΠΊΠ° ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π΄ΠΎΠΊΠ»Π°Π΄Π° (1-5)
  3. Π—Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ΡΡ ΠΎΠ±Ρ‰ΠΈΠΉ Ρ„ΠΈΠ΄Π±Π΅ΠΊ ΠΎ ΠΌΠΈΡ‚Π°ΠΏΠ΅
  4. НачислСниС ΠΏΠΎΠΈΠ½Ρ‚ΠΎΠ²: +1 Π·Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·Π²Ρ‘Ρ€Π½ΡƒΡ‚Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚ (>128 символов)
  5. ΠšΠΎΡ€ΠΎΡ‚ΠΊΠΈΠ΅ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ β†’ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ для получСния ΠΏΠΎΠΈΠ½Ρ‚Π°
  6. ВрСмя сбора: 24 часа послС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΌΠΈΡ‚Π°ΠΏΠ°

5. БистСма ΠΏΠΎΠΈΠ½Ρ‚ΠΎΠ²

НачислСниС:

  • РСгистрация Π² Π±ΠΎΡ‚Π΅: +1
  • ΠŸΠΎΡΠ΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΌΠΈΡ‚Π°ΠΏΠ°: +7
  • Π€ΠΈΠ΄Π±Π΅ΠΊ (Ρ€Π°Π·Π²Ρ‘Ρ€Π½ΡƒΡ‚Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚): +1 Π·Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚

ИспользованиС:

  • ΠŸΠΎΠΊΡƒΠΏΠΊΠ° ΠΌΠ΅Ρ€Ρ‡Π° ΠΊΠΎΠΌΠΌΡŒΡŽΠ½ΠΈΡ‚ΠΈ
  • ΠŸΠΎΠΈΠ½Ρ‚Ρ‹ Π½Π΅ ΡΠ³ΠΎΡ€Π°ΡŽΡ‚ со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ
  • ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ заявку Π°Π΄ΠΌΠΈΠ½Π°ΠΌ Π½Π° использованиС

6. АдминистрированиС

Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π°Π΄ΠΌΠΈΠ½Π°ΠΌΠΈ:

  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅: ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π°Π΄ΠΌΠΈΠ½Ρ‹ Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ
  • Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅: Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ рСдактирования
  • Π ΠΎΠ»ΠΈ: ΠΏΠΎΠΊΠ° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ "admin"

ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³:

  • ЕТСднСвная ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° активности ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ (21:00)
  • УвСдомлСния Π² Π°Π΄ΠΌΠΈΠ½ΡΠΊΡƒΡŽ Π³Ρ€ΡƒΠΏΠΏΡƒ ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°Ρ…
  • АвтоматичСскоС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ€ΠΎΠ»ΠΈ Π½Π° "dead" для Π½Π΅Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ…

ВСхничСскиС Π΄Π΅Ρ‚Π°Π»ΠΈ

Π₯Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…

  • Ѐайловая систСма: JSON Ρ„Π°ΠΉΠ»Ρ‹ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ сущности
  • Бинхронизация: ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΡ€ΠΈ стартС ΠΈ записываСт измСнСния
  • Π Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅: Π ΡƒΡ‡Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΏΠΊΠΈ data/private

ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ

  • ОТидаСмая Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ°: Π΄ΠΎ 1000 ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ
  • QR-ΠΊΠΎΠ΄Ρ‹: гСнСрация ΠΊΠ°ΠΆΠ΄Ρ‹Π΅ 30 сСкунд
  • ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ: Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½Ρ‹Π΅ Π² 21:00

Π‘Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ

  • ΠŸΡ€ΠΈΠ²Π°Ρ‚Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π² .gitignore
  • ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΏΡ€Π°Π² доступа ΠΏΠΎ Telegram ID
  • Валидация всСх входящих Π΄Π°Π½Π½Ρ‹Ρ…

ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ Π±ΠΎΡ‚Π°

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹

  • /start - рСгистрация/привСтствиС
  • /help - справка ΠΏΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ
  • /profile - ΠΏΡ€ΠΎΡ„ΠΈΠ»ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ
  • /points - баланс ΠΏΠΎΠΈΠ½Ρ‚ΠΎΠ²

АдминскиС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹

  • /meetup - ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΌΠΈΡ‚Π°ΠΏΠ°ΠΌΠΈ
  • /admin - ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π°Π΄ΠΌΠΈΠ½Π°ΠΌΠΈ
  • /stats - статистика ΠΊΠΎΠΌΠΌΡŒΡŽΠ½ΠΈΡ‚ΠΈ
  • /users - ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ
  • /qr_start - запуск QR-рСгистрации Π½Π° ΠΌΠΈΡ‚Π°ΠΏ
  • /qr_stop - остановка QR-рСгистрации
  • /qr_status - статус QR-рСгистраций

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ошибок

Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ сцСнарии

  1. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π΅ Π² Π³Ρ€ΡƒΠΏΠΏΠ΅ β†’ ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ΅Π½ΠΈΠ΅ Π²ΡΡ‚ΡƒΠΏΠΈΡ‚ΡŒ
  2. ΠŸΡ€ΠΎΡΡ€ΠΎΡ‡Π΅Π½Π½Ρ‹ΠΉ QR-ΠΊΠΎΠ΄ β†’ сообщСниС ΠΎΠ± ошибкС
  3. Π”ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ рСгистрации β†’ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅
  4. ΠΠ΅Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ β†’ ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ Π°Π΄ΠΌΠΈΠ½ΠΎΠ²
  5. Ошибки API Telegram β†’ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ Π°Π΄ΠΌΠΈΠ½ΠΎΠ²

Π›ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

  • ВсС дСйствия ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ
  • Ошибки ΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ
  • АдминскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ
  • БистСмныС события

ΠŸΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ

Π­Ρ‚Π°ΠΏ 1: Базовая Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ

  • Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ конфигурация
  • БистСма рСгистрации ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ
  • Базовая админская панСль
  • Π₯Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ„Π°ΠΉΠ»Π°Ρ…

Π­Ρ‚Π°ΠΏ 2: Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΌΠΈΡ‚Π°ΠΏΠ°ΠΌΠΈ

  • Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅/Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅/ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΌΠΈΡ‚Π°ΠΏΠΎΠ²
  • БистСма QR-ΠΊΠΎΠ΄ΠΎΠ² для рСгистрации
  • ΠžΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ посСщСний
  • Бтатистика ΠΌΠΈΡ‚Π°ΠΏΠΎΠ²

Π­Ρ‚Π°ΠΏ 3: БистСма ΠΏΠΎΠΈΠ½Ρ‚ΠΎΠ² ΠΈ Ρ„ΠΈΠ΄Π±Π΅ΠΊΠ°

  • НачислСниС ΠΏΠΎΠΈΠ½Ρ‚ΠΎΠ² Π·Π° дСйствия
  • Π‘Π±ΠΎΡ€ Ρ„ΠΈΠ΄Π±Π΅ΠΊΠ° послС ΠΌΠΈΡ‚Π°ΠΏΠΎΠ²
  • Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠΈΠ½Ρ‚Π°ΠΌΠΈ
  • АдминскиС увСдомлСния

Π­Ρ‚Π°ΠΏ 4: ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΈ оптимизация

  • Π•ΠΆΠ΅Π΄Π½Π΅Π²Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ активности
  • БистСма ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ
  • Π›ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠ°
  • ВСстированиС ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ°

To-Do

  • Π§Π΅ΠΊΠΈΠ½ ΠΏΠΎ Π΄ΠΈΠΏΠ»ΠΈΠ½ΠΊΡƒ ΠΈΠ· QR ΠΊΠΎΠ΄Π°, Π»ΠΎΠ³Π³ΠΈΡ€ΡƒΠ΅Ρ‚ посСщСниС ΡŽΠ·Π΅Ρ€ΠΎΠΌ ΠΌΠΈΡ‚Π°ΠΏΠ°
  • ПослС ΠΌΠΈΡ‚Π°ΠΏΠ° всСм участникам рассылаСтся запрос Ρ„ΠΈΠ΄Π±Π΅ΠΊΠ°
    • ΠžΡ†Π΅Π½ΠΊΠ° мСроприятия ΠΎΡ‚ 1 Π΄ΠΎ 5
    • Π€ΠΈΠ΄Π±Π΅ΠΊ Π² свободной тСкстовой Ρ„ΠΎΡ€ΠΌΠ΅
  • АдминскоС мСню
    • Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΌΠΈΡ‚Π°ΠΏ(Π΄Π°Ρ‚Π° провСдСния)
    • Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π΄ΠΎΠΊΠ»Π°Π΄Ρ‹ ΠΌΠΈΡ‚Π°ΠΏΠ°(с Ρ…Π΅Π½Π΄Π»Π°ΠΌΠΈ Π΄ΠΎΠΊΠ»Π°Π΄Ρ‡ΠΈΠΊΠΎΠ²)
    • Π‘Π³Π΅Π½Π΅Ρ€ΠΈΡ‚ΡŒ QR ΠΊΠΎΠ΄ для Ρ‡Π΅ΠΊΠΈΠ½Π°
  • ГолосованиС Π·Π° Π»ΡƒΡ‡ΡˆΠΈΠΉ Π΄ΠΎΠΊΠ»Π°Π΄ ΠΊΠ²Π°Ρ€Ρ‚Π°Π»Π°
  • ΠŸΠΎΠΈΠ½Ρ‚Ρ‹ Π·Π° посСщСниС
  • ΠŸΠΎΠΈΠ½Ρ‚Ρ‹ Π·Π° Π΄ΠΎΠΊΠ»Π°Π΄
  • ΠŸΠΎΠΈΠ½Ρ‚Ρ‹ Π·Π° голосованиС
  • ΠŸΠΎΠΈΠ½Ρ‚Ρ‹ Π·Π° Ρ„ΠΈΠ΄Π±Π΅ΠΊ
  • Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ запуска Π² тСстовом ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΈ (-test) - ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ тСстовый Π±ΠΎΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² тСстовых Π³Ρ€ΡƒΠΏΠΏΠ°Ρ…
  • ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΎΡ‚ тСкстовых ΠΊΠΎΠΌΠ°Π½Π΄ ΠΊ ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌ

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  

Languages