Zawartość:
W artykule opowiemy o tym, jak tworzy się aplikację dla bota, przeprowadza pierwszą autoryzację na serwerze i pisze wspólny kod do normalizacji pracy. Mając "szkielet", możesz już dodawać komendy użytkowników i od razu sprawdzać, jak działają.
Tworzenie aplikacji i autoryzacja bota
Następnie omówimy dwie różne metody tworzenia bota — za pomocą JavaScript i Pythona. Każda z nich ma swoje cechy i niuanse, ale metoda tworzenia aplikacji i autoryzacji bota na serwerze pozostaje taka sama, ponieważ nie zależy od wybranego języka programowania.Po tym będziesz mógł przejść do wyboru biblioteki i pracy z kodem.
Przejdź do Discord Developer Portal
- Przejdź do powyższego linku, aby znaleźć się na stronie głównej portalu dla deweloperów w Discord. Użyj swoich osobistych danych logowania, aby zalogować się na konto.
- Utwórz nową aplikację, klikając przycisk "Nowa aplikacja".
- Wprowadź nazwę aplikacji i potwierdź jej utworzenie.
- Rozwiń menu strony, klikając przycisk z trzema poziomymi liniami.
- Z pojawiającej się listy wybierz sekcję ustawień "Bot".
- Przystąp do dodawania nowego bota do tej aplikacji.
- Potwierdź wyświetlone powiadomienie, klikając "Tak, zrób to".
- Po zakończeniu strona zostanie zaktualizowana i otworzy się strona bota, gdzie możesz zmienić jego nazwę, skopiować token lub dodać ikonę, która będzie wyświetlana również w Discordzie.
- Jednak obecnie bot nie jest jeszcze oznaczony jako taki i nie ma ustawionych uprawnień, dlatego w tym samym menu przejdź do sekcji "OAuth2".
- Na liście "Scopes" zaznacz pole "bot", określając typ utworzonej aplikacji.
- Znajdź następny blok — "Bot Permissions" i zaznacz wszystkie uprawnienia, które chcesz przyznać tworzonemu botowi.
- To samo zrób z pozostałymi typami uprawnień, które odpowiadają dostępnym bezpośrednio w Discordzie dla ról.
- Teraz bot jest gotowy do autoryzacji. Na tej samej stronie znajdź linię z linkiem i skopiuj ją.
- Wklej do paska adresu i przejdź do niej. W pojawiającym się formularzu wybierz serwer do autoryzacji. Jeśli jeszcze nie masz własnego serwera, utwórz go, a następnie wróć do procesu podłączania bota.
Szczegóły: Tworzenie serwera w Discord
- Zapoznaj się z listą wszystkich uprawnień i kliknij na "Autoryzować".
- Pozostaje tylko potwierdzić pojawiające się na ekranie CAPTCHA.
- Otwórz odpowiedni serwer w Discordzie i upewnij się, że bot znajduje się na liście uczestników. Na razie jest offline, a uruchomienie będzie możliwe po napisaniu "ciała" bota za pomocą Pythona lub JS, czym się zajmiemy dalej.

















Wybór środowiska programistycznego
Przed rozpoczęciem pracy z kodem w wymienionych językach programowania wyjaśnijmy, że będziesz potrzebować edytora tekstu lub specjalnego środowiska programistycznego, które obsługuje składnię Pythona lub JavaScript (w zależności od wyboru). Oczywiście można użyć po prostu "Notatnika", ale pod względem wygody ustępuje on wyspecjalizowanym programom.
Szczegóły:
Wybór środowiska programistycznego do programowania

Opcja 1: Python i biblioteka discord
Jeśli wcześniej nie miałeś do czynienia z językami programowania lub znasz je tylko powierzchownie, stworzenie bota dla Discorda w Pythonie to najlepszy wybór. Ten język programowania jest prostszy do nauki, kompaktowy i ma logicznie zrozumiałą składnię, dlatego idealnie nadaje się dla nowicjuszy. Ponadto w sieci jest ogromna ilość źródeł z różnymi komendami lub już gotowymi botami, które można skopiować i wykorzystać dla swoich celów.W następnych krokach dowiesz się, jak stworzyć "szkielet" bota w Pythonie i uruchomić go, aby sprawdzić jego działanie.
Krok 1: Instalacja Pythona i biblioteki discord
Domyślnie w systemie Windows nie ma wbudowanych funkcji i narzędzi do pracy z Pythonem, dlatego trzeba je zainstalować osobno, nie zapominając o bibliotece discord, która umożliwi interakcję z przydatnymi funkcjami i komendami związanymi wyłącznie z Discordem.
Przejdź na oficjalną stronę Pythona
- Skorzystaj z powyższego linku, aby przejść na oficjalną stronę Pythona i kliknij przycisk, aby pobrać jego najnowszą wersję.
- Na nowej stronie znajdź instalator dla systemu Windows i rozpocznij jego pobieranie.
- Poczekaj na zakończenie pobierania i uruchom instalator.
- Możesz uruchomić instalację bez zmian, ale koniecznie zaznacz opcję "Add Python X.X to PATH", aby wszystkie zmienne środowiskowe zostały dodane automatycznie i nie wystąpiły problemy przy dalszym wprowadzaniu komend.
- Czekaj na zakończenie instalacji i dla pewności zrestartuj komputer, aby wszystkie zmiany weszły w życie.
- Otwórz "Wiersz polecenia" w dogodny dla siebie sposób, na przykład, znajdując aplikację w menu "Start".
- Wpisz polecenie
pip install discord
i potwierdź je naciskając klawisz Enter. - Rozpocznie się pobieranie plików, a w konsoli "będą się pojawiały" linie. Nie zamykaj tego okna do zakończenia pobierania.
- Gdy pojawi się informacja "Successfully installed", zamknij "Wiersz polecenia" i przejdź dalej.









Jeśli Python jest zainstalowany, ale polecenie do dodania biblioteki nie działa, zaktualizuj komponent PIP, o czym mowa w innym artykule na naszej stronie.Tam znajdziesz instrukcję dotyczącą zmiany zmiennych środowiskowych, jeśli nie zostało to zrobione podczas instalacji.
Szczegóły: Aktualizacja PIP dla Pythona
Krok 2: Tworzenie słownika bota
W tej wersji będziemy używać słownika dla bota, czyli pliku konfiguracyjnego, który przechowuje wartości tokena, prefiksu i nazwy bota pod różnymi nazwami. To znacznie upraszcza cały proces pisania kodu i nie zmusza do ciągłego przypominania sobie danych aplikacji, aby wprowadzić je w jednej linii.
- Rozpocznij od uruchomienia IDLE, znajdując dodaną aplikację w menu "Start". Jeśli pobrałeś inne środowisko programistyczne, otwórz je i stwórz nowy projekt oparty na Pythonie.
- Po otwarciu nowego okna wywołaj menu "Plik" i wybierz opcję "Nowy plik". Możesz to zrobić również za pomocą kombinacji klawiszy Ctrl + N.
- W nowym oknie, które jest przeznaczone do pisania kodu, wklej blok
settings = {
'token': 'Twój token',
'bot': 'Nazwa bota',
'id': Client ID bota, bez cudzysłowów,
'prefix': 'Prefiks bota'
} - Teraz będziesz musiał znaleźć informacje do zastąpienia w słowniku. Najpierw znajdź Client ID aplikacji na stronie deweloperów. Skopiuj go i zastąp w odpowiedniej linii.
- Wywołaj menu i przejdź do sekcji "Bot".
- Skopiuj jego unikalny token, klikając przycisk przeznaczony do tego celu.
- Wklej token zamiast napisu, zrób to samo z nazwą bota i używanym prefiksem (prefiks jest potrzebny do wywoływania komend i zawsze występuje przed nimi, na przykład
!play
, a możesz zastąpić wykrzyknik dowolnymi innymi znakami). - Gdy wszystkie informacje zostały zastąpione, ponownie wywołaj menu "Plik" i wybierz opcję "Zapisz jako".
- Utwórz osobny folder dla plików bota, nazwij go
config
i potwierdź zapis.









Krok 3: Tworzenie ciała bota
Aby zapewnić podstawowe funkcjonowanie bota, musisz stworzyć "ciało" — główny kod do uruchomienia i działania na serwerze.Będzie potrzebny osobny plik, który można nazwać dowolnie, ale należy go zapisać w tym samym miejscu, gdzie znajduje się wcześniej utworzony słownik.
- W środowisku programistycznym otwórz menu "Plik" i stwórz nowy plik.
- Wklej tam trzy polecenia, które są przeznaczone do importowania zainstalowanych bibliotek i wcześniej utworzonego pliku:
import discord
from discord.ext import commands
from config import settings - Dodaj linię
bot = commands.Bot(command_prefix = settings['prefix']) # Ponieważ określiliśmy prefiks w settings, odwołujemy się do słownika z kluczem prefix
. - Główny kod wygląda następująco:
@bot.command() # Nie przekazujemy argumentu pass_context, ponieważ był on potrzebny w starszych wersjach.
async def hello(ctx): # Tworzymy funkcję i przekazujemy argument ctx.
author = ctx.message.author # Deklarujemy zmienną author i zapisujemy tam informacje o autorze.await ctx.send(f'Hello, {author.mention}!') # Wyświetlamy wiadomość z wzmianką o autorze, odwołując się do zmiennej author.
- Zwracaj uwagę na komentarze, które idą po znaku "#" — pozwolą one zrozumieć przeznaczenie każdej linii.
- Polecenie do uruchomienia wygląda tak:
bot.run(settings['token']) # Odwołujemy się do słownika settings z kluczem token, aby uzyskać token
. - Po zakończeniu ponownie otwórz znane menu i przejdź do zapisywania pliku.
- Nadaj mu dowolną nazwę i umieść w folderze z konfiguracją.







Poniżej widzisz pełny kod, o którym mowa powyżej, więc w razie potrzeby możesz go po prostu skopiować.

import discord
from discord.ext import commands
from config import settings
bot = commands.Bot(command_prefix = settings['prefix'])
@bot.command() # Nie przekazujemy argumentu pass_context, ponieważ był on potrzebny w starszych wersjach.
async def hello(ctx): # Tworzymy funkcję i przekazujemy argument ctx.
author = ctx.message.author # Deklarujemy zmienną author i zapisujemy tam informacje o autorze.
await ctx.send(f'Hello, {author.mention}!') # Wyświetlamy wiadomość z wzmianką o autorze, odwołując się do zmiennej author.
bot.run(settings['token']) # Odwołujemy się do słownika settings z kluczem token, aby uzyskać token
Dodatkowo wyjaśnijmy, że możesz użyć alternatywnej schemy, pozbywając się pliku ze słownikiem i uzyskując nieco inne "ciało" dla bota.Zdecyduj, czy ten kod bardziej Ci odpowiada. Wskazane linie z tokenem należy edytować według własnych potrzeb.
import discord
from discord.ext import commands
TOKEN = 'Twój token'
bot = commands.Bot(command_prefix='!')
@bot.command(pass_context=True) # zezwalamy na przekazywanie argumentów
async def test(ctx, arg): # tworzymy asynchroniczną funkcję bota
await ctx.send(arg) # odsyłamy z powrotem argument
bot.run(TOKEN)
Krok 4: Uruchomienie bota
Teraz można uruchomić bota do testów, do czego potrzebny będzie główny plik stworzony w Kroku 3. Skompiluj go bezpośrednio przez środowisko programistyczne lub wywołaj "Wiersz poleceń" i wpisz tam python bot.py
, gdzie bot.py to nazwa utworzonego pliku. Jeśli nie udało się znaleźć pliku, podaj jego pełną ścieżkę, na przykład python C:UsersUSER_NAMEbot.py
.

Przejdź do Discorda i sprawdź aktualny stan bota. Powinien być widoczny na liście uczestników w sekcji "Online" z zieloną kropką.

Skorzystaj z otwartych źródeł lub własnej wiedzy, aby napisać komendy dla bota lub zrealizować inne zadania, które ma wykonać. W tym celu edytuj jego główny plik lub twórz inne, łącząc wszystko w jeden projekt.
Opcja 2: JavaScript i discord.js
Kolejna opcja tworzenia bota dla Discorda to użycie JS i biblioteki discord.js, która dodaje wszystkie niezbędne komponenty do pracy z botami. Zasada działania różni się od poprzedniej opcji jedynie narzędziami i różnicą w składni języków programowania, ale pozostaje w zasadzie taka sama.
Krok 1: Instalacja Node.js i discord.js
Rozszerzenie funkcjonalności JS i przekształcenie go w język programowania ogólnego przeznaczenia umożliwi platforma Node.js, której instalacją zalecamy zająć się w pierwszej kolejności.Aby to zrobić, wykonaj najprostszy algorytm działań:
Przejdź na oficjalną stronę Node.js
- Otwórz stronę Node.js w internecie i wybierz najnowszą zalecaną wersję do pobrania.
- Poczekaj na pobranie pliku wykonywalnego i uruchom go.
- Postępuj zgodnie z instrukcjami wyświetlanymi na ekranie, zakończ instalację i zrestartuj komputer.
- Otwórz "Start" i za pomocą wyszukiwarki znajdź klasyczną aplikację "Wiersz polecenia".
- Wpisz w niej polecenie
npm init
i aktywuj je, naciskając Enter. - Utwórz standardowy pakiet z informacjami użytkownika, naciskając Enter po wprowadzeniu każdego parametru, lub pozostaw wszystko domyślnie.
- Gdy wszystkie parametry pakietu zostaną wprowadzone, otrzymasz ostrzeżenie, które musisz potwierdzić, ponownie naciskając Enter.
- Wpisz polecenie
npm install
w celu zainstalowania brakujących standardowych komponentów. - Poczekaj na zakończenie ich pobierania i pojawienie się wiersza poleceń.
- Wpisz
npm install discord.js
. - Gdy to polecenie zostanie wykonane, otwórz folder swojego użytkownika i upewnij się, że utworzone pliki pakietu w formacie JSON są obecne.











Krok 2: Praca z plikami bota
Wszystkie działania związane z plikami bota i kodem programu omówimy w ramach jednego etapu, ponieważ dzielenie ich na kilka nie ma sensu.Będziesz potrzebować trzech podstawowych plików, do których wpisane będą wszystkie niezbędne funkcje: jeden odpowiada za konfigurację bota, drugi — za "ciało", a trzeci przechowuje listę dodanych komend.
- Na początek stwórz pliki "bot.js" i "config.json" w tym samym katalogu.
- Otwórz w edytorze tekstu lub środowisku programistycznym plik "config.json" i dodaj tam takie linie:
{
"token" : "Twój_token",
"prefix" : "Twój_prefiks"
}Odpowiednio, wyrażenia w podwójnych cudzysłowach zamień na unikalny token bota i preferowany prefiks.
- Otwórz do edycji plik "bot.js" (przy okazji, jego nazwa może być dowolna). Wklej tam ten blok kodu.
const Discord = require('discord.js'); // Podłączamy bibliotekę discord.js
const robot = new Discord.Client(); // Ogłaszamy, że robot to bot
const comms = require("./comms.js"); // Podłączamy plik z komendami dla bota
const fs = require('fs'); // Podłączamy wbudowany moduł systemu plików node.js
let config = require('./config.json'); // Podłączamy plik z parametrami i informacjami
let token = config.token; // "Wyciągamy" z niego token
let prefix = config.prefix; // "Wyciągamy" z niego prefiksrobot.on("ready", function() {
/* Po pomyślnym uruchomieniu, w konsoli pojawi się komunikat "[Nazwa bota] uruchomił się!" */
console.log(robot.user.username + " uruchomił się!");
});robot.on('message', (msg) => { // Reagowanie na wiadomości
if (msg.author.username != robot.user.username && msg.author.discriminator != robot.user.discriminator) {
var comm = msg.content.trim() + " ";
var comm_name = comm.slice(0, comm.indexOf(" "));
var messArr = comm.split(" ");
for (comm_count in comms.comms) {
var comm2 = prefix + comms.comms[comm_count].name;
if (comm2 == comm_name) {
comms.comms[comm_count].out(robot, msg, messArr);
}
}
}
});robot.login(token); // Autoryzacja bota
Czytaj komentarze do linii, które idą po ukośnikach ("//"), aby samodzielnie zrozumieć przeznaczenie każdej.
- Utwórz trzeci plik — "comms.js", w którym w przyszłości będą przechowywane wszystkie niezbędne komendy.
- Wstaw do niego główny blok, który w przyszłości będzie rozszerzany:
const config = require('./config.json'); // Podłączamy plik z parametrami i informacjami
const Discord = require('discord.js'); // Podłączamy bibliotekę discord.js
const prefix = config.prefix; // "Wyciągamy" prefiks// Komendy //
function test(robot, mess, args) {
mess.channel.send('Test!')
}// Lista komend //
var comms_list = [{
name: "test",
out: test,
about: "Komenda testowa"
}];// Name - nazwa komendy, na którą będzie reagował bot
// Out - nazwa funkcji z komendą
// About - opis komendymodule.exports.comms = comms_list;





Do dalszej pracy z komendami wystarczy ogłosić ich funkcje i uzupełnić listę odpowiednimi blokami kodu.Na przykład gotowy plik "comms.js" wygląda tak:
const config = require('./config.json');
const Discord = require('discord.js');
const prefix = config.prefix;
const versions = config.versions;
// Komendy //
function test(robot, mess, args) {
mess.channel.send("Test!")
}
function hello(robot, mess, args) {
mess.reply("Cześć!")
}
// Lista komend //
var comms_list = [{
name: "test",
out: test,
about: "Komenda testowa"
},
{
name: "hello",
out: hello,
about: "Komenda powitalna!"
}
}
module.exports.comms = comms_list;
Krok 3: Uruchomienie bota
Pierwsze działania z botem w JavaScript zostały zakończone, więc można go uruchomić i sprawdzić działanie. W tym celu należy wykonać następujące kroki:
- Otwórz menu "Start" i za pomocą wyszukiwania znajdź "Wiersz polecenia" i uruchom go.
- Wpisz
node bot.js
, gdzie bot.js to nazwa głównego pliku z kodem bota. Jeśli nie znajduje się on w twoim katalogu domowym, podaj pełną ścieżkę do pliku lub najpierw przejdź do lokalizacji, używając poleceniacd
.


Przykłady przydatnych komend
Na zakończenie tego wariantu krótko opiszemy dwie przydatne komendy, które mogą się przydać podczas konfiguracji bota. Można je wykorzystać jako testowe, gdy prace nad projektem są jeszcze w fazie rozwoju. Pierwsza komenda — !clear
— usuwa określoną liczbę wiadomości w czacie.Jej kod wygląda następująco:
const arggs = mess.content.split(' ').slice(1); // Wszystkie argumenty po nazwie komendy z prefiksem
const amount = arggs.join(' '); // Liczba wiadomości, które mają zostać usunięte
if (!amount) return mess.channel.send('Nie podałeś, ile wiadomości należy usunąć!'); // Sprawdzenie, czy parametr liczby jest podany
if (isNaN(amount)) return mess.channel.send('To nie jest liczba!'); // Sprawdzenie, czy wprowadzenie użytkownika jest liczbą
if (amount > 100) return mess.channel.send('Nie możesz usunąć 100 wiadomości na raz'); // Sprawdzenie, czy wprowadzenie użytkownika jest liczbą większą niż 100
if (amount {
mess.channel.bulkDelete(messages)
mess.channel.send(`Usunięto ${amount} wiadomości!`)
})
};
delete_messages(); // Wywołanie funkcji asynchronicznej
Druga komenda służy do rzucania monetą i uruchamiana jest poprzez wpisanie !heads_or_tails
na czacie. Kod nie jest zbyt skomplikowany, ponieważ działań jest mało, a bot powinien odpowiedzieć tylko na jedno zapytanie bez ogromnej liczby zmiennych.
mess.channel.send('Moneta jest rzucana...')
var random = Math.floor(Math.random() * 4) + 1; // Deklaracja zmiennej random - oblicza losową liczbę od 1 do 3
if (random === 1) { // Jeśli obliczona liczba to 1, wypada orzeł.
mess.channel.send(':full_moon: Orzeł!')
} else if (random === 2) { // Jeśli obliczona liczba to 2, wypada reszka.
mess.channel.send(':new_moon: Reszka!')
} else if (random === 3) { // Jeśli obliczona liczba to 3, moneta pada na krawędzi.
mess.channel.send(':last_quarter_moon: Moneta upadła na krawędzi!')
}
W internecie można znaleźć inne przydatne komendy, które chcesz dodać do swojego bota, jednak do pracy z nimi nadal będą potrzebne zaawansowane umiejętności w JavaScript lub Pythonie, aby samodzielnie poprawiać błędy lub edytować kod pod siebie.