Przejdź do głównej zawartości

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.

ParametrTypWymaganyOpis
contentstringTakTreść sugestii (max 2000 znaków)

Uprawnienia: Każdy (Everyone)

Przykład: /suggest content:Dodajcie kanał do dyskusji o strategiach

Sukces:

  1. 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
  2. Dodaje reakcje 👍 i 👎 do głosowania
  3. Opcjonalnie tworzy wątek dyskusyjny
  4. Ephemeral potwierdzenie dla autora
  5. 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

OpcjaOpisDomyślna wartość
channel_idKanał do wysyłania sugestiibrak (wymagany)
color_pendingKolor embeda oczekujących sugestii#3B82F6 (niebieski)
color_approvedKolor zatwierdzonych sugestii#22C55E (zielony)
color_rejectedKolor odrzuconych sugestii#EF4444 (czerwony)
create_threadTwórz wątek dyskusyjny per sugestiafalse
anonymousUkryj autora sugestiifalse
manage_permissionKto może zatwierdzać/odrzucaćmoderation_roles
manage_rolesRole dla custom permissionbrak
counterAuto-inkrementujący licznik sugestii0
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.