Przejdź do głównej zawartości

Polls

System ankiet z przyciskami, timerami i podliczaniem głosów w czasie rzeczywistym.

Komendy

/poll

Tworzy nową ankietę w bieżącym kanale z przyciskami do głosowania.

ParametrTypWymaganyOpis
questionstringTakPytanie ankiety (max 256 znaków)
option1stringTakPierwsza opcja
option2stringTakDruga opcja
option3stringNieTrzecia opcja
option4stringNieCzwarta opcja
option5stringNiePiąta opcja
option6stringNieSzósta opcja
option7stringNieSiódma opcja
option8stringNieÓsma opcja
option9stringNieDziewiąta opcja
option10stringNieDziesiąta opcja
durationstringNieCzas trwania (np. 30m, 1h, 24h, 7d, 2w). Domyślna z konfiguracji.
anonymousbooleanNieUkryj autora ankiety (nadpisuje domyślne ustawienie)
multiplebooleanNiePozwól na wielokrotne głosy (nadpisuje domyślne ustawienie)

Uprawnienia: Konfigurowane (everyone / moderation_roles / custom)

Przykład: /poll question:Jaki język preferujesz? option1:Polski option2:Angielski option3:Oba duration:24h

Sukces:

  • Wysyła embed z pytaniem, opcjami i przyciskami do kanału (widoczny dla wszystkich)
  • Ephemeral potwierdzenie dla twórcy
  • Log w module "polls"

Błędy:

  • Brak uprawnień do tworzenia ankiet
  • Nieprawidłowy format czasu trwania
Formaty czasu

Obsługiwane formaty: 30m (minuty), 1h (godziny), 7d (dni), 2w (tygodnie).


/polls

Wyświetla listę aktywnych (otwartych) ankiet na serwerze.

ParametrTypWymaganyOpis
(brak)

Uprawnienia: Każdy (Everyone)

Przykład: /polls

Sukces: Ephemeral embed z listą do 10 aktywnych ankiet (pytanie, kanał, liczba opcji, termin wygaśnięcia)
Błędy:

  • Brak aktywnych ankiet (informacja)

Głosowanie

Głosowanie odbywa się przez kliknięcie przycisków pod ankietą:

Tryb single-vote (domyślny)

  • Kliknięcie opcji → oddanie głosu
  • Kliknięcie tej samej opcji ponownie → cofnięcie głosu
  • Kliknięcie innej opcji → zmiana głosu (stary głos usuwany)

Tryb multiple-vote

  • Kliknięcie opcji → dodanie/cofnięcie głosu (toggle)
  • Można głosować na wiele opcji jednocześnie

Po każdym głosie embed jest automatycznie aktualizowany z nową liczbą głosów i procentami.


Auto-zamykanie

Ankiety z ustawionym czasem trwania są automatycznie zamykane po wygaśnięciu:

  1. Co 60 sekund bot sprawdza expires_at wszystkich otwartych ankiet
  2. Po wygaśnięciu:
    • Embed dostaje prefiks "📊 POLL CLOSED" i zmienia kolor na szary
    • Dodawany jest wizualny wykres słupkowy z wynikami
    • Przyciski są wyłączane (disabled)
    • Log w module "polls"

Konfiguracja

OpcjaOpisDomyślna wartość
colorKolor embeda ankiety (hex)#5865F2
default_durationDomyślny czas trwaniabrak (bez limitu)
default_anonymousDomyślnie anonimowefalse
default_multipleDomyślnie wielokrotny głosfalse
create_permissionKto może tworzyć ankietyeveryone
create_rolesRole dla custom permissionbrak
Ankiety anonimowe

Gdy ankieta jest anonimowa, embed nie pokazuje autora (brak sekcji "Author"). W stopce pojawia się "Anonymous". Głosy są nadal przypisane do użytkowników w bazie (do celów deduplikacji), ale nie są publicznie widoczne.