Przegląd systemu komend
ArcBot używa slash commands (komend poprzedzonych /), które są natywnie zintegrowane z interfejsem Discorda. Komendy pojawiają się w menu po wpisaniu / w polu wiadomości.
Synchronizacja per-guild
ArcBot nie rejestruje komend globalnie. Zamiast tego synchronizuje komendy osobno dla każdego serwera na podstawie włączonych cogów:
- Gdy cog zostanie włączony w dashboardzie → config polling (co 5 sekund) wykrywa zmianę
- Bot automatycznie wywołuje
_sync_guild_commandsdla danego serwera - Komendy z włączonego coga natychmiast pojawiają się w menu slash commands
- Komendy z wyłączonego coga natychmiast znikają
informacja
Oznacza to, że każdy serwer widzi tylko te komendy, których cogi zostały aktywowane. Nie ma zbędnych komend zaśmiecających menu.
Struktura uprawnień
Komendy ArcBota korzystają z kilku poziomów uprawnień:
| Poziom | Opis |
|---|---|
| Everyone | Każdy użytkownik serwera |
| Moderation Roles | Role skonfigurowane w cog_settings.moderation.moderation_roles |
| Custom Roles | Specyficzne role konfigurowane per-cog (np. create_roles dla ankiet) |
| Administrator | Wymagana permisja Discorda ADMINISTRATOR |
| Alliance R4/R5 | Ranga w systemie aliansów |
Grupy komend
Niektóre komendy są zgrupowane pod jednym prefiksem:
/role add,/role remove— zarządzanie rolami (moderation)/alliance create,/alliance invite, itd. — system aliansów/embed send,/embed list— message builder/event schedule,/event list,/event cancel— zaplanowane wydarzenia/duel send,/duel preview— przypomnienia o pojedynkach
Menu kontekstowe
Oprócz slash commands, cog Translation dodaje dwa menu kontekstowe (PPM na wiadomości):
- Translate Message — tłumaczy tekst wiadomości
- Transcribe & Translate — transkrybuje audio i tłumaczy
Zachowanie przy błędach
Wszystkie komendy odpowiadają ephemeral (widoczne tylko dla użytkownika):
- Brak uprawnień → komunikat o braku dostępu
- Błąd hierarchii ról → informacja o zbyt niskiej pozycji
- Brak konfiguracji → instrukcja skonfigurowania w dashboardzie
- Błąd bazy danych / API → ogólny komunikat z prośbą o ponowienie
Limity
| Parametr | Limit |
|---|---|
| Reason (powód) | max 512 znaków |
| Mute duration | 1–40320 minut (28 dni) |
| Clear messages | 1–100 wiadomości |
| Poll options | 2–10 opcji |
| Poll question | max 256 znaków |
| Suggestion content | max 2000 znaków |
| Alliance name | 2–32 znaki (alfanumeryczne, spacje, myślniki) |
| Alliance tag | 1–5 znaków (alfanumeryczne) |
| Nickname | 1–32 znaki |
Lista cogów z komendami
| Cog | Liczba komend | Kategoria |
|---|---|---|
| Moderation | 10 | admin |
| Alliances | 10 | dark war survival |
| Polls | 2 | community |
| Suggestions | 1 | community |
| Message Builder | 2 | utilities |
| Translation | 2 + 2 context menus | utilities |
| Schedule Events | 3 | community |
| Duel Reminder | 2 | community |