Powitania · poradnik
Jak zrobić welcome bota Discord — powitania z embedami (2026)
Powitalny bot Discord z avatarem, wzmianką, statystykami serwera. FlowCord: trigger member_join + akcja send embed. Zmienne szablonów, intents GUILD_MEMBERS, pułapki.
9 min czytania · ostatnia aktualizacja: 2026-06-18
Krótka odpowiedź: jak zrobić welcome bota
Welcome bot Discord wysyła spersonalizowaną wiadomość powitalną z avatarem, wzmianką (@nickname) i statystykami serwera gdy ktoś dołącza. W FlowCord zbudujesz go dwoma bloczkami: trigger member_join → akcja send embed z polami {{user.avatar}}, {{user.mention}}, {{server.memberCount}}. Wymóg: włącz intent GUILD_MEMBERS w Discord Developer Portal — bez tego bot w ogóle nie zobaczy zdarzenia dołączenia.
Po co własne powitania — wbudowany welcome screen wystarczy?
Discord od 2020 roku ma welcome screen (Server Settings → Welcome Screen) — selector kanałów które są polecane nowemu członkowi po pierwszym dołączeniu. To dobre — ustawia się w minutę i nie wymaga bota. Nie zastąpi jednak:
- Wzmianki nowego członka na publicznym kanale
#powitania— społeczny dowód słuszności. - Nadania roli „Niezweryfikowany" natychmiast, do weryfikacji.
- Dynamicznego embedu z avatarem, licznikiem członków, customowym kolorem.
- Śledzenia invite link — skąd przyszedł nowy użytkownik (YouTube? Reddit? TikTok?).
Anatomia dobrego powitania
Skuteczna wiadomość powitalna ma pięć elementów:
| Element | Co daje | Zmienna FlowCord |
|---|---|---|
| Avatar nowego członka | Wzrok rzuca się na twarz — dwukrotnie wyższy CTR w ankietach | {{user.avatar}} |
Wzmianka @nickname | Nowy członek dostaje ping — zobaczy notyfikację | {{user.mention}} |
| Licznik członków | Społeczny dowód — „jesteś 1234. członkiem" | {{server.memberCount}} |
| Link do regulaminu / skrótowa instrukcja | Zmniejsza churn — user wie gdzie zacząć | Krótki tekst + link do #regulamin |
| Przycisk „Zweryfikuj" | Jeden klik = rola + dostęp do reszty | Akcja z przyciskiem (customId verify) |
Trzy sposoby na welcome bota
| Kryterium | MEE6 / Dyno | Discord.js | FlowCord |
|---|---|---|---|
| Czas startu | 5 minut | 2–4 godziny | 3 minuty |
| Customizacja embedu | Ograniczona (kolor, tekst) | Pełna | Pełna |
| Generowanie obrazka z avatarem | Płatne ($5/mies MEE6) | canvas + jimp | Bloczek (roadmapa) |
| Tracking invite | MEE6 Premium | Sam piszesz | Bloczek „pobierz invite" |
| Brandowanie | „Powered by MEE6" | Pełne | Pełne |
| Polski interfejs | Nie | Twój kod | Tak |
Walkthrough FlowCord krok po kroku
- Nowy workflow, trigger member_join. Wybierz serwer dla którego powitania będą działać.
- Akcja „Wyślij embed". Kanał
#powitania. Pola:- Tytuł: „Witaj na serwerze {{server.name}}!"
- Opis: „Cześć {{user.mention}}, jesteś {{server.memberCount}}. członkiem. Przeczytaj regulamin i kliknij weryfikację poniżej."
- Thumbnail:
{{user.avatar}} - Footer: „Dołączył: {{user.createdAt}}" (data utworzenia konta — pomaga wykryć młode konta botów)
- Kolor: gradient indigo→fuchsia albo brand serwera
- Przycisk „Zweryfikuj" do embedu, customId
verify. Łączy z drugim workflowem który nadaje rolę. - Publikuj. Bot zaczyna działać natychmiast — sprawdź na kanale testowym przez dołączenie kontem alt.
Pełny tutorial ze screenshotami tutaj: powitania z embedami — poradnik. Combo z auto-role na dołączeniu opisane w artykule o auto-role.
Zmienne szablonów — pełna tabela
W FlowCord wybierasz zmienne z menu („Wybierz zmienną" obok pola). Składnia wpisywana ręcznie to podwójne wąsy:
| Zmienna | Co zwraca | Przykład |
|---|---|---|
{{user}} | Mention użytkownika | <@123456789> |
{{user.mention}} | To samo co {{user}} | <@123...> |
{{user.username}} | Nazwa użytkownika (globalna) | jan_kowalski |
{{user.displayName}} | Nazwa wyświetlana na serwerze | Jan K. |
{{user.avatar}} | URL do awataru (CDN) | https://cdn... |
{{user.id}} | Discord ID (numer) | 123456789... |
{{user.createdAt}} | Data utworzenia konta | 2023-04-15 |
{{user.joinedAt}} | Data dołączenia do serwera | 2026-06-18 |
{{server.name}} | Nazwa serwera | Mój serwer |
{{server.memberCount}} | Liczba członków | 1234 |
{{server.id}} | ID serwera | 987654... |
{{channel.name}} | Nazwa kanału zdarzenia | ogólny |
Zaawansowane
Personalizacja per invite link
Jeśli masz kanały promocyjne „YouTube", „TikTok", „Reddit" — każdy z osobnym invite. W FlowCord akcja „pobierz invite" przed powitaniem zwraca kod invite i statystyki użyć. Następnie warunek: jeśli invite code == „youtube1" → dodaj rolę „Z YouTube" i embed z zachętą do suba.
Opóźnione powitanie
Dodaj akcję „Opóźnienie" (np. 30 sekund) przed wysłaniem embedu. Daje to naturalny efekt — użytkownik zdąży zobaczyć listę kanałów i nie jest bombardowany wiadomością w pierwszej sekundzie.
DM vs kanał powitalny
Kanał powitalny — społeczny dowód słuszności, wszyscy widzą nowych członków, buduje atmosferę. DM — prywatne, dobre do wysłania długich instrukcji (regulamin, FAQ) ale ~30% użytkowników ma zablokowane DM z serwera. Najlepsza praktyka: oba.
Najczęstsze pułapki
- Brakujący intent GUILD_MEMBERS. 90% błędów „nie działa". Discord Developer Portal → aplikacja → Bot → Privileged Gateway Intents → włącz
SERVER MEMBERS INTENT. - Embed bez koloru. Default breeze-grey, wygląda jak błąd. Ustaw kolor hex (Discord przyjmuje jako integer — w FlowCord wpisujesz hex, konwersja jest automatyczna).
- Zbyt długie embedy. Discord tnie embedy powyżej 6000 znaków łącznie. Trzymaj opis do ~300 znaków, dodatkowe info w fieldach.
- Spam mentionami przy raidzie. Jeśli raid przyniesie 50 nowych kont w minutę, każdy mention powitalny pinguje
@hereniezależnie. W FlowCord dodaj warunek: jeśli count members joined in last 60s > 10, wyślij jedno podsumowanie zamiast 10 embedów.
Więcej o połączeniu powitania z nadawaniem ról w poradniku auto-role. A jeśli chcesz powitania połączyć z systemem zgłoszeń — mamy też artykuł o ticketach. Zobacz też feature page welcome bota i porównanie FlowCord vs MEE6.
Najczęstsze pytania
Dlaczego mój bot nie wysyła powitania mimo że wszystko skonfigurowałem?
W 90% przypadków brakuje intentu GUILD_MEMBERS. Wejdź na discord.com/developers/applications → Twoja aplikacja → Bot → Privileged Gateway Intents → włącz SERVER MEMBERS INTENT. Bez tego bot nie widzi zdarzenia member_join.Mogę wysłać powitanie w DM zamiast na kanał?
Tak. W FlowCord akcja „Wyślij DM" zamiast „Wyślij embed na kanał". Ale uwaga: jeśli użytkownik ma w ustawieniach Discord „Allow direct messages from server members" wyłączone, bot dostanie błąd i nic nie wyśle. Kanał powitalny jest niezawodny.Jak śledzić z jakiego invite link przyszła osoba?
W FlowCord akcja „pobierz invite" przed powitaniem — zwraca kod invite i używającą go osobę. Discord przechowuje invite na kanale, na którym link został stworzony. Większe serwory używają per-kanał invite z dedykowaną nazwą (YouTube, Reddit...).Ile wiadomości powitalnych mogę wysłać na godzinę?
Discord pozwala 50 wiadomości na 10 sekund per kanał (burst), czyli ~5/sustained. Dla powitań to więcej niż wystarczająco — jedyny rate limit to per-guild message create limit (narzucony zwykle przez sam Discord na poziomie 120 wiadomości/min per bot).Czy embed powitalny może mieć obrazek z avatarem nowego członka?
Tak, ale Discord nie renderuje avatara automatycznie w embed.thumbnail. Wstawiasz URL: avatar użytkownika to {{user.avatar}} (zwraca URL do CDN). FlowCord ma wbudowane zmienne — osobna akcja „generate welcome image" w stylu MEE6 jest na roadmapie.Czy mogę opóźnić powitanie o 30 sekund?
Tak. W FlowCord dodaj akcję „Opóźnienie" między triggerem member_join a akcją „Wyślij embed". Discord ma 15-minutowy limit na akcję po zdarzeniu — więc delays do 15 min działają clean.