feat: Phase 4 community features - member counter, polls, reminders

- feature/counter: voice channel showing live member count, refreshed every 10min
- feature/poll: /poll slash command, embed + numbered reactions (2-10 options)
- feature/remind: /remind slash command, SQLite-backed personal reminders delivered by background task
- db: V3 migration for reminders table
- ROADMAP: sync checklist with actual implemented features (verify/moderation/ticket/voice/welcome/blog were already done but unchecked); GitHub webhook -> #changelog closed via native Discord integration (no code)
This commit is contained in:
loki5512344 2026-09-11 12:40:37 +02:00
parent 1d49d81fad
commit 8108f5cd27
Signed by: boba
GPG key ID: 253067914055423B
14 changed files with 290 additions and 11 deletions

View file

@ -43,15 +43,15 @@ cargo run --bin ds-setup -- bootstrap --guild-id 123 --dry-run
## Phase 3 - Блог-фичи (главное отличие от старого бота)
- [ ] RSS/Telegram → #blog-feed (webhook, `reqwest` + `feed-rs`)
- [ ] `!post` - анонс поста (embed с cover, линк)
- [ ] Showcase: треды в #showcase, реакции ⭐
- [ ] GitHub webhook → #changelog
- [ ] Ticket (кнопки в #open-ticket → приватный канал/тред в SUPPORT, overwrites за 1 операцию, claim, transcript → #ticket-logs) - см. ARCHITECTURE.md
- [x] GitHub webhook → #changelog (нативная интеграция Discord, без кода: GitHub webhook URL = `<discord-webhook-url>/github`)
- [x] Ticket (кнопки в #open-ticket → приватный канал/тред в SUPPORT, overwrites за 1 операцию, claim, blacklist, transcript → hastebin) - `feature/ticket`
## Phase 4 - Комьюнити
- [ ] Welcome embed, counters (member count в канале)
- [ ] Polls в #ideas
- [ ] Scheduler (напоминания)
- [ ] Temp voice (`#create-voice` → временный канал)
- [x] Welcome embed (`feature/welcome`)
- [x] Counters (member count в voice-канале, `feature/counter`, refresh 10 мин)
- [x] Polls (`/poll вопрос; вариант1; вариант2`, embed + реакции цифрами, `feature/poll`)
- [x] Scheduler / напоминания (`/remind 10m текст`, личные, SQLite + фоновый воркер 30с, `feature/remind`)
- [x] Temp voice (`#create-voice` → временный канал, `feature/voice`)
## Phase 5 - Опционально (AI)
- [ ] AI FAQ (DeepSeek/GPT) в #faq - только по базе знаний блога