NOWOŚĆ 📢 Ograniczona oferta na start: do 70% zniżki na pierwszy miesiąc, na każdą grę!Zobacz plany

Jak zainstalować pakiety dla bota Discord

Hosting botów DiscordUpdated Oct 29, 20264 min read

Nie instalujesz pakietów ręcznie. Wypisz je w swoim pliku pakietów (package.json lub requirements.txt) albo wpisz ich nazwy w Pakiety na stronie Bot, w sekcji Kod, i zrestartuj: serwer instaluje je przy następnym starcie. Potem instaluje pakiety ponownie tylko wtedy, gdy zmieni się lista, plik pakietów lub wersja środowiska, albo raz na dobę.

Co instaluje każdy typ przy starcie

TypZ twoich plikówPole Pakiety
Node.js Botnpm install, gdy istnieje package.jsonTak, instalowane przez npm
Python Botpip install -U -r requirements.txt (plik wskazany w Plik wymagań)Tak, instalowane przez pip
Bun Botbun install, gdy istnieje package.jsonTak, dodawane przez bun add
Deno BotTwoje importy npm: i jsr:, pobierane, gdy bot wczyta je po raz pierwszyNie
.NET BotPakiety NuGet z twojego .csproj, przywracane podczas budowania projektuNie
Java Bot, Go Bot, Rust BotNic: biblioteki są wbudowane w twój jar lub programNie

Nie przesyłaj node_modules, venv ani .venv: serwer buduje je dla systemu Linux, na którym działa, a on nie zawsze jest taki sam jak twój komputer.

Użyj swojego pliku pakietów (zalecane)

Node.js i Bun

Na swoim komputerze uruchom npm install discord.js mysql2 (albo bun add ...). To zapisuje je w package.json. Prześlij nowy package.json i zrestartuj.

Python

Wpisz jeden pakiet w linii w requirements.txt. Przypnij wersję przez ==, jeśli jej potrzebujesz:

discord.py
aiohttp
python-dotenv==1.0.1

Twój plik ma inną nazwę albo leży w folderze? Ustaw to w Plik wymagań, na karcie Ustawienia w sekcji Kod. Pakiety trafiają do folderu .local w twoich plikach; zostaw go tam.

Użyj pola Pakiety

  1. Otwórz swój serwer bota w panelu, potem stronę Bot, sekcję Kod.
  2. Pod Jak działa wpisz nazwy w Pakiety, oddzielone spacjami, na przykład yt-dlp aiohttp. Nie przecinkami i nie całą linią pip install.
  3. Kliknij Zapisz, a potem zrestartuj bota.

Karta Jak działa z polem Pakiety wypełnionym dwiema nazwami pakietów i przyciskiem Zapisz.

Pole mieści do 200 znaków. Przy większej liczbie użyj swojego pliku pakietów. Pakiety instalują się ponownie przy pierwszym starcie po zmianie pola lub pliku, więc ten start trwa dłużej. Gdy nic się nie zmieniło, konsola pokazuje [PlayNHost] Packages are up to date. They install again when you change them, or after a day. Starszy serwer, który nadal instaluje przy każdym starcie, dostaje to po kliknięciu Zainstaluj ponownie na dole sekcji Kod: twoje pliki zostają.

Gdy coś pójdzie nie tak

WidziszCo to znaczy
Baner Nie udało się zainstalować pakietu z [PlayNHost] Some packages in Bot page, Code, Packages could not be installed.Nazwa w Pakiety jest źle napisana albo nie istnieje. Bot nadal startuje z tym, co jest zainstalowane. Popraw nazwę przez Otwórz Pakiety.
[PlayNHost] npm could not install everything in package.json. albo [PlayNHost] pip could not install everything in requirements.txt. (Bun: [PlayNHost] Bun could not install everything in package.json.)Linia w twoim pliku pakietów jest błędna. Nazywa ją tuż powyżej npm, pip lub Bun (E404, No matching distribution found for ...).
Baner Brakuje pakietu, którego potrzebuje twój kod z Cannot find module 'x' albo ModuleNotFoundError: No module named 'x'Twój kod importuje pakiet, którego nikt nie zainstalował. Dodaj go do pliku pakietów albo do Pakiety.

W Pythonie nazwa, którą instalujesz, nie zawsze jest nazwą, którą importujesz:

ImportujeszInstalujesz
import discorddiscord.py
from dotenv import load_dotenvpython-dotenv
import yamlPyYAML
from PIL import ImagePillow

Więcej: Dlaczego twój bot Discord ciągle się zatrzymuje, Node.js, Python, Bun.

Twój bot działa już gdzie indziej? Przenieś go do nas

NASZE OSTATNIE WPISY