Код бота попадает на сервер тремя способами: загрузите его в Files (заархивируйте папку в zip, затем нажмите там Распаковать), скопируйте по SFTP или пусть сервер скачает его с GitHub. Каким бы способом вы ни воспользовались, файлы лежат в главной папке, а Файл запуска на странице Бот, в разделе Код, должен совпадать с файлом, который запускает вашего бота.
Что загружать, а что нет
| Загружайте | Не загружайте |
|---|---|
Ваш код, package.json или requirements.txt, ваш .csproj, файлы настроек и данных | node_modules, venv, .venv, __pycache__, bin, obj, .git и любой .env с вашим токеном |
Сервер сам устанавливает пакеты при их изменении, а проект .NET собирает при каждом запуске. Токен вводится в разделе Discord, а остальные ключи хранятся в разделе Окружение: Как задать переменные окружения и секреты.
Способ 1: Files в панели
- На своём компьютере заархивируйте папку бота в zip (в Windows: щёлкните правой кнопкой мыши, Отправить, Сжатая ZIP-папка). Папки нельзя загрузить как есть, а zip можно.
- Откройте сервер в панели, затем Files.
- Нажмите Загрузить и выберите zip или перетащите его на страницу.
- Отметьте галочкой zip. На появившейся панели нажмите Распаковать.
- Откройте новые файлы. Если они оказались внутри лишней папки (например,
my-bot/index.js), либо поднимите их выше кнопкой Переместить, либо задайте Файл запуска какmy-bot/index.js. При втором варианте ваш файл пакетов тоже должен лежать в главной папке, поэтому проще обычно поднять файлы выше. - Удалите zip.

Отдельные файлы, например один bot.py или bot.jar, загружаются напрямую кнопкой Загрузить.
Вставьте код в новый файл
Новый файл открывает редактор: вставьте код, нажмите Создать файл и в поле Имя файла введите имя, которое ожидает ваш Файл запуска (например, bot.py). Чтобы изменить существующий файл, откройте его, отредактируйте и нажмите Сохранить содержимое. Если вы скопировали код из чата, сначала удалите строки ``` вверху и внизу. Если их оставить, бот остановится с сообщением [PlayNHost] bot.py starts with ```, a Markdown code fence copied together with the code.
Способ 2: SFTP для больших папок
- В Files нажмите Данные SFTP. Там показаны Хост, Порт и Имя пользователя. Пароль тот же, с которым вы входите в панель.
- Подключитесь программой SFTP, например FileZilla или WinSCP, по протоколу SFTP (не по обычному FTP).
- Перетащите содержимое папки вашего бота в открывшуюся папку. Это главная папка сервера, та же, которую показывает Files.

Подробнее: Как подключиться к файлам сервера по SFTP.
Способ 3: скачать с GitHub
На странице Бот, в разделе Код, выберите Git-репозиторий в поле Источник и заполните Репозиторий. Сервер скачает ваш код при следующем запуске, если главная папка пуста. Подходит для ботов на Node.js, Python, .NET, Bun и Deno. См. Как развернуть и обновлять Discord-бота из GitHub.
Боты на Go и Rust могут вместо этого скачивать готовую программу по ссылке: Go, Rust.
Затем укажите файл запуска
Откройте страницу Бот, раздел Код. Карточка Код говорит Загрузите файлы в Files. Бот запускается из index.js. (или из вашего текущего файла запуска). Если это не ваш файл, измените Файл запуска в карточке Как он запускается и нажмите Сохранить. В карточке настройки на странице Обзор файл нужного языка с другим именем предлагается за вас: Использовать bot.js как файл запуска.
Не трогайте папку .pnh
В главной папке лежит папка .pnh со скриптом, который запускает вашего бота. Не удаляйте и не редактируйте её. Когда вы очищаете папку, чтобы скачать код из Git, оставьте её.



