Устанавливать пакеты вручную не нужно. Перечислите их в файле пакетов (package.json или requirements.txt) либо впишите их названия в поле Пакеты на странице Бот, в разделе Код, и перезапустите бота: сервер устанавливает их при следующем запуске. Дальше он устанавливает пакеты снова, только если изменились список, файл пакетов или версия среды выполнения, либо раз в сутки.
Что устанавливает каждый тип при запуске
| Тип | Из ваших файлов | Поле «Пакеты» |
|---|---|---|
| Node.js Bot | npm install, если есть package.json | Да, устанавливается через npm |
| Python Bot | pip install -U -r requirements.txt (файл, указанный в поле Файл requirements) | Да, устанавливается через pip |
| Bun Bot | bun install, если есть package.json | Да, добавляется через bun add |
| Deno Bot | Ваши импорты npm: и jsr:, которые скачиваются, когда бот загружает их в первый раз | Нет |
| .NET Bot | Пакеты NuGet из вашего .csproj, которые восстанавливаются при сборке проекта | Нет |
| Java Bot, Go Bot, Rust Bot | Ничего: библиотеки встроены в ваш jar или программу | Нет |
Не загружайте node_modules, venv или .venv: сервер собирает их для той системы Linux, на которой работает, а она не всегда совпадает с вашим компьютером.
Используйте файл пакетов (рекомендуется)
Node.js и Bun
На своём компьютере выполните npm install discord.js mysql2 (или bun add ...). Эта команда запишет их в package.json. Загрузите новый package.json и перезапустите бота.
Python
Пишите в requirements.txt по одному пакету в строке. Если нужна определённая версия, закрепите её через ==:
discord.py
aiohttp
python-dotenv==1.0.1
У вашего файла другое имя или он лежит в папке? Укажите это в поле Файл requirements в карточке Настройки в разделе Код. Пакеты попадают в папку .local среди ваших файлов: оставьте её там.
Используйте поле «Пакеты»
- Откройте сервер вашего бота в панели, затем страницу Бот, раздел Код.
- В карточке Как он запускается впишите названия в поле Пакеты через пробел, например
yt-dlp aiohttp. Не через запятую и не целую строкуpip install. - Нажмите Сохранить, затем перезапустите бота.

В поле помещается до 200 символов. Если нужно больше, используйте файл пакетов. Пакеты устанавливаются заново при первом запуске после того, как вы изменили поле или файл, поэтому этот запуск занимает больше времени. Если ничего не менялось, консоль выводит [PlayNHost] Packages are up to date. They install again when you change them, or after a day. Более старый сервер, который всё ещё устанавливает пакеты при каждом запуске, получает это после нажатия Переустановить внизу раздела Код: ваши файлы останутся.
Если что-то пошло не так
| Что вы видите | Что это значит |
|---|---|
Баннер Не удалось установить пакет со строкой [PlayNHost] Some packages in Bot page, Code, Packages could not be installed. | Название в поле Пакеты написано с ошибкой или такого пакета нет. Бот всё равно запускается с тем, что установлено. Исправьте название через Открыть «Пакеты». |
[PlayNHost] npm could not install everything in package.json. или [PlayNHost] pip could not install everything in requirements.txt. (Bun: [PlayNHost] Bun could not install everything in package.json.) | Строка в вашем файле пакетов неверна. npm, pip или Bun называет её строкой выше (E404, No matching distribution found for ...). |
Баннер Не хватает пакета, нужного вашему коду с сообщением Cannot find module 'x' или ModuleNotFoundError: No module named 'x' | Ваш код импортирует пакет, который никто не установил. Добавьте его в файл пакетов или в поле Пакеты. |
В Python имя, которое вы устанавливаете, не всегда совпадает с именем, которое вы импортируете:
| Вы импортируете | Вы устанавливаете |
|---|---|
import discord | discord.py |
from dotenv import load_dotenv | python-dotenv |
import yaml | PyYAML |
from PIL import Image | Pillow |
Ещё: Почему ваш Discord-бот постоянно останавливается, Node.js, Python, Bun.



