Uprzywilejowane intencje Discorda: obecność, członkowie i treść wiadomości
Uprzywilejowane intencje to trzy intencje gateway, które ujawniają wrażliwe dane: aktualizacje obecności, listę członków serwera i treść wiadomości. Bot musi włączyć każdą z nich w Developer Portal, a gdy przekroczy 100 serwerów, musi też zostać zweryfikowany i zatwierdzony przez Discorda, aby z nich dalej korzystać.
Trzy intencje
- Obecność: czy członkowie są online, bezczynni czy offline, oraz ich status aktywności.
- Członkowie serwera: zdarzenia dołączenia i opuszczenia oraz pełna lista członków. Potrzebne do wiadomości powitalnych, weryfikacji i automatycznych ról.
- Treść wiadomości: właściwy tekst, osadzenia i załączniki wiadomości. Potrzebne do odczytu komend z prefiksem i wszystkiego, co skanuje tekst.
Bez treści wiadomości bot nadal dostaje wiadomości, które go wspominają, wiadomości prywatne i swoje własne, a także interakcje, takie jak komendy ukośnikowe. Dlatego nowoczesne boty opierają się na komendach ukośnikowych.
Jak wygląda zatwierdzanie
Dla bota na mniej niż 100 serwerach wystarczy zaznaczyć przełącznik na stronie bota w Developer Portal. Gdy bot osiągnie 100 serwerów, Discord wymaga jego weryfikacji, a uprzywilejowane intencje wymagają wtedy zatwierdzenia z podaniem powodu. Bez tego bot je traci. Discord decyduje indywidualnie, więc pomaga jasne wyjaśnienie funkcji, która potrzebuje danych.
Jeśli bot połączy się, prosząc o uprzywilejowaną intencję, której nie włączył, Discord zamyka połączenie z błędem 4014. To częsta przyczyna sytuacji, w której bot przechodzi offline zaraz po konfiguracji. Zobacz wyjaśnienie błędu 4014.
Dlaczego zależy to właścicielom serwerów
Te intencje to ta część bota, która dotyka danych twoich członków. Treść wiadomości to ta, nad którą warto się zastanowić: bot, który czyta wiadomości, może filtrować spam i linki, ale widzi też wszystko, co jest powiedziane tam, gdzie ma dostęp. Możesz to ograniczyć, odbierając botowi View Channel w prywatnych obszarach.
Wpływa to też na niezawodność. Bot, który traci zatwierdzoną intencję, może po cichu przestać witać członków albo egzekwować zasady.
Noxyr i uprzywilejowane intencje
W przypadku własnego bota Noxyr używającego twojej aplikacji konfiguracja wymaga włączenia Server Members Intent i Message Content Intent w Developer Portal. Funkcje Noxyr, które na nich polegają, to między innymi wiadomości powitalne, weryfikacja i ochrona przed spamem. Przeczytaj pełny przewodnik po uprzywilejowanych intencjach gateway, a szerszą ideę znajdziesz w intencjach gateway.
Sprawdź przed instalacją bota
Zapytaj, których uprzywilejowanych intencji bot używa i po co. Bot muzyczny rzadko potrzebuje danych o obecności, a bot ankiet rzadko musi czytać wszystkie wiadomości. Jeśli odpowiedź jest niejasna, wybierz inny bot.
Częste pytania
Które intencje są uprzywilejowane?
Obecność, członkowie serwera i treść wiadomości.
Dlaczego mój bot rozłącza się z błędem 4014?
Poprosił o uprzywilejowaną intencję, która nie jest włączona w Developer Portal. Włącz ją i uruchom bota ponownie.
Jakich intencji potrzebuje własny bot Noxyr?
Server Members Intent i Message Content Intent muszą być włączone dla twojej aplikacji.