Przejdź do głównej zawartości

Message Builder

Moduł Message Builder umożliwia tworzenie, zarządzanie i wysyłanie niestandardowych embedów Discord z zapisanych szablonów. Szablony są konfigurowane przez dashboard za pomocą wizualnego edytora inline.

Włączanie modułu

  1. Dashboard → Twój serwer → toggle Message Builder
  2. Kliknij Edit aby tworzyć i zarządzać szablonami
  3. Skonfiguruj uprawnienia wysyłania
  4. Zapisz zmiany

Konfiguracja

OpcjaTypDomyślnieOpis
send_permissionstring"moderation_roles"Kto może wysyłać embedy
send_roleslista[]Role do wysyłania (gdy permission = "custom")
allowed_channelslista[]Kanały, na które można wysyłać (puste = wszystkie)
templatesarray[]Lista zapisanych szablonów

Wartości send_permission

  • "moderation_roles" — role z konfiguracji moderacji
  • "custom" — role z send_roles

Administratorzy Discord zawsze mają uprawnienie do wysyłania.

Dashboard — konfiguracja

Panel Message Builder ma układ dwukolumnowy:

  • Lewa kolumna (1/4): Sidebar z listą szablonów (CRUD: create, edit, delete)
  • Prawa kolumna (3/4): Wizualny edytor embeda (inline — edytor IS the preview)

Edytor embeda

Edytor jest jednocześnie podglądem — to, co widzisz, to dokładnie to, co zostanie wysłane:

  • Content — pole tekstowe nad embedem (zwykły tekst wiadomości)
  • Tytuł — klikalny do edycji
  • Opis — klikalny do edycji
  • Kolor — presets (kółka) + custom rainbow picker
  • Thumbnail — klikalny placeholder (dashed border) → URL input
  • Image — klikalny placeholder → URL input
  • Author — nazwa + ikona
  • Footer — tekst stopki
  • Fields — lista pól (name + value + inline toggle) + przycisk "Add Field"

Zarządzanie szablonami

  • Utwórz — przycisk "New Template", podaj nazwę
  • Edytuj — kliknij szablon w sidebarze, załaduje się do edytora
  • Usuń — przycisk delete na karcie szablonu
  • Wyślij — przycisk "Send to Channel" z wyborem kanału

Komendy

/embed send

Wysyła zapisany szablon na kanał.

ParametrWymaganyOpis
template_nameNazwa szablonu (z autocomplete)
channelKanał docelowy (domyślnie: bieżący)

Flow:

  1. Sprawdza uprawnienie (send_permission)
  2. Szuka szablonu po nazwie (case-insensitive)
  3. Sprawdza, czy kanał jest dozwolony (allowed_channels)
  4. Buduje embed z konfiguracji szablonu
  5. Wysyła embed (+ opcjonalny content text)
  6. Aktualizuje last_sent_channel_id i last_sent_message_id w szablonie
  7. Loguje akcję
Autocomplete

Parametr template_name obsługuje autocomplete — po wpisaniu fragmentu nazwy, Discord podpowie pasujące szablony.

/embed list

Wyświetla listę wszystkich zapisanych szablonów (efemeralnie).

Pokazuje:

  • Nazwę szablonu
  • Podgląd tytułu (skrócony do 50 znaków)
  • Łączną liczbę szablonów

Ograniczenie kanałów

Jeśli allowed_channels nie jest puste, embedy można wysyłać tylko na kanały z tej listy. Próba wysłania na inny kanał zwróci błąd.

Gdy lista jest pusta — wysyłanie dozwolone na każdy kanał.

Śledzenie wysłanych wiadomości

Każdy szablon przechowuje:

  • last_sent_channel_id — ID kanału ostatniego wysłania
  • last_sent_message_id — ID wiadomości

Umożliwia to przyszłe funkcje (edycja wysłanych embedów, podgląd w dashboardzie).

Nasłuchiwane zdarzenia

Moduł Message Builder nie nasłuchuje żadnych zdarzeń — działa wyłącznie na komendach slash i dashboard API.

Logowanie

Akcje logowane przez Logs pod kategorią message_builder:

  • 📨 Embed Sent — nazwa szablonu, kto wysłał, na jaki kanał

Wskazówki

Best practices
  • Twórz szablony dla powtarzających się ogłoszeń (np. tygodniowe newsy, eventy)
  • Używaj allowed_channels aby ograniczyć, gdzie embedy mogą być wysyłane
  • Pole Content (nad embedem) jest przydatne do pingowania ról/everyone
  • Testuj embedy za pomocą /embed send na kanale testowym przed właściwym
Struktura szablonów

Organizuj szablony z jasnymi nazwami:

  • weekly-update — tygodniowa aktualizacja
  • event-announcement — szablon ogłoszenia eventu
  • rules — regulamin serwera
ostrzeżenie

Usunięcie szablonu jest nieodwracalne. Upewnij się, że nie jest już potrzebny.