Komendy ukośnikowe
Komendy aplikacji rejestruje się dokładnie tak samo jak na Discordzie: te same endpointy, te same payloady, te same biblioteki. Jedna zasada jest inna: GameVox ma własne wbudowane komendy, a ich nazwy są zarezerwowane.
Rejestracja
Bez zmian względem Discorda. Działają wszystkie cztery trasy, globalne i dla konkretnej gildii, tworzenie i zbiorcze nadpisywanie:
POST /api/v10/applications/{application_id}/commands
PUT /api/v10/applications/{application_id}/commands
POST /api/v10/applications/{application_id}/guilds/{guild_id}/commands
PUT /api/v10/applications/{application_id}/guilds/{guild_id}/commands Zarezerwowane nazwy
GameVox sam odpowiada na poniższe komendy. Próba zarejestrowania jednej z tych nazw kończy się odmową z kodem 400 i kodem błędu Discorda 50035; komunikat podaje nazwę komendy, więc przyczyna jest od razu widoczna w logu wdrożenia.
Powodem jest członek serwera, nie platforma. GameVox pokazuje komendy wbudowane i komendy aplikacji w jednym selektorze bez przestrzeni nazw, więc dwie komendy o nazwie ban wyglądają jak dwa identyczne wiersze, między którymi nie da się wybrać. W przypadku komendy moderacyjnej to gorsze niż błąd: nikt nie powinien się zastanawiać, który /ban właśnie uruchomił.
| Grupa | Zarezerwowane nazwy | Co GameVox z nimi robi |
|---|---|---|
| Moderacja | ban unban kick clear slowmode | Działa bezpośrednio na serwerze, z uprawnieniami GameVox osoby wywołującej. |
| Zabawa | 8ball flip choice ascii qrcode love | Odpowiada na kanale. |
| Informacje | serverinfo userinfo avatar | Pokazuje to, co wywołujący i tak widzi w interfejsie. |
| Członek | afk remindme welcome goodbye | Notatki o nieobecności, przypomnienia oraz wiadomość o dołączeniu/wyjściu z serwera. |
| Klient | me poll shrug tableflip unflip lenny | Obsługiwane przez klienta GameVox bez kontaktu z serwerem. |
Porównywanie nie rozróżnia wielkości liter i ignoruje otaczające białe znaki: Ban koliduje z ban, bo selektor dopasowuje nazwy w ten sam sposób.
Jeśli taka komenda jest już zarejestrowana
Komenda zarejestrowana, zanim jej nazwa została zarezerwowana, zostaje w bazie danych, ale znika z selektora członków i jest odrzucana przy wywołaniu. Zmień jej nazwę i zarejestruj ponownie; nic innego w twojej aplikacji się nie zmienia.
Nazwy, które nie są zarezerwowane
Zajęte są tylko dokładne dopasowania. banish, clearall i server-info są do twojej dyspozycji. Tak samo warn: GameVox nie ma komendy ostrzeżeń, bo zgłaszanie członka odbywa się przez mechanizm zgłoszeń.
Niezależnie od rezerwacji warto dodawać do komend krótki prefiks charakterystyczny dla twojej aplikacji. To on zapobiega kolizjom między dwiema zainstalowanymi aplikacjami, których GameVox nie rozstrzyga.
Uprawnienia nadal obowiązują
Rezerwacja nazwy nie ma nic wspólnego z tym, kto może uruchamiać twoje komendy. To się nie zmienia i domyślnie jest zabronione: zarejestrowaną komendę może uruchomić właściciel serwera, dopóki operator nie przyzna jej grupie w Ustawienia serwera → Integracje. Zobacz Uprawnienia.