Suggestions
System sugestii społecznościowych z głosowaniem (reakcje 👍/👎) i zatwierdzaniem/odrzucaniem przez moderatorów.
Komendy
/suggest
Zgłasza nową sugestię do skonfigurowanego kanału sugestii.
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
| content | string | Tak | Treść sugestii (max 2000 znaków) |
Uprawnienia: Każdy (Everyone)
Przykład: /suggest content:Dodajcie kanał do dyskusji o strategiach
Sukces:
- Bot wysyła embed do kanału sugestii z:
- Tytuł: "Suggestion #N" (auto-inkrementujący numer)
- Treść sugestii
- Autor (lub "Anonymous" jeśli anonimowe)
- Status: "⏳ Pending"
- Przyciski: ✅ Approve / ❌ Reject
- Dodaje reakcje 👍 i 👎 do głosowania
- Opcjonalnie tworzy wątek dyskusyjny
- Ephemeral potwierdzenie dla autora
- Log w module "suggestions"
Błędy:
- Treść przekracza 2000 znaków
- Kanał sugestii nie skonfigurowany
- Kanał nie istnieje lub bot nie ma dostępu
Zatwierdzanie / Odrzucanie
Moderatorzy mogą kliknąć przyciski Approve lub Reject pod sugestią:
Approve (✅)
- Embed zmienia kolor na zielony (
color_approved) - Status: "✅ Approved by [moderator]"
- Przyciski znikają
- Wątek (jeśli istnieje) jest archiwizowany i blokowany
- Log w module "suggestions"
Reject (❌)
- Embed zmienia kolor na czerwony (
color_rejected) - Status: "❌ Rejected by [moderator]"
- Przyciski znikają
- Wątek (jeśli istnieje) jest archiwizowany i blokowany
- Log w module "suggestions"
Uprawnienia do approve/reject: Konfigurowane (moderation_roles / custom)
Konfiguracja
| Opcja | Opis | Domyślna wartość |
|---|---|---|
channel_id | Kanał do wysyłania sugestii | brak (wymagany) |
color_pending | Kolor embeda oczekujących sugestii | #3B82F6 (niebieski) |
color_approved | Kolor zatwierdzonych sugestii | #22C55E (zielony) |
color_rejected | Kolor odrzuconych sugestii | #EF4444 (czerwony) |
create_thread | Twórz wątek dyskusyjny per sugestia | false |
anonymous | Ukryj autora sugestii | false |
manage_permission | Kto może zatwierdzać/odrzucać | moderation_roles |
manage_roles | Role dla custom permission | brak |
counter | Auto-inkrementujący licznik sugestii | 0 |
Wymagana konfiguracja
Kanał sugestii (channel_id) musi być skonfigurowany w dashboardzie. Bez niego komenda /suggest zwróci błąd.
Persistent views
Przyciski Approve/Reject działają nawet po restarcie bota — używają stałych custom_id i są rejestrowane przy ładowaniu coga.