Bun запускает ботов на JavaScript и TypeScript без этапа сборки, и discord.js на нём работает. Чтобы запустить бота:
- Смените тип: на странице Бот, в разделе Код, нажмите Изменить, что запускается рядом с полем Среда выполнения и выберите Bun Bot.
- Загрузите свои файлы вместе с
package.jsonв Files, безnode_modules. - Проверьте Файл запуска (по умолчанию
index.ts) на странице Бот, в разделе Код. - Вставьте токен в разделе Discord и нажмите Подключить.
- Нажмите Запустить и следите за Console.
1. Смените тип на Bun Bot
На странице Бот, в разделе Код, нажмите Изменить, что запускается рядом с полем Среда выполнения и выберите Bun Bot. На компьютере то же окно открывает метка типа вверху страницы (например, Node.js Bot). Не ставьте галочку Удалить мои файлы и начать с чистого листа., чтобы файлы остались. Тот же тариф, та же цена. См. Как переключить бота на другой язык.
2. Добавьте свой код
Загрузите свои файлы .ts или .js и package.json в Files (заархивируйте папку в zip, загрузите, отметьте архив и нажмите Распаковать). Не загружайте node_modules. Или выберите источником Git-репозиторий в разделе Код: Как развернуть и обновлять Discord-бота из GitHub.
3. Задайте, как он запускается
На странице Бот, в разделе Код, карточка Как он запускается:
- Файл запуска: по умолчанию
index.ts. Подойдёт любой файл.tsили.js, напримерsrc/bot.ts. - Среда выполнения: Bun (latest) или Bun canary (unstable), если вам нужна функция, которая ещё не вышла в релиз.
- Пакеты: дополнительные пакеты, которые добавляются командой
bun addпри следующем запуске после того, как вы их измените, через пробел.

4. Вставьте токен и запустите
В разделе Discord вставьте токен и нажмите Подключить. Нажмите Запустить и откройте Console. Сервер выполняет bun install, если есть package.json, выводит [PlayNHost] Starting your bot и запускает ваш файл запуска командой bun run. Последующие запуски устанавливают пакеты снова, только если изменились Пакеты, package.json, lock-файл или версия Bun, если нет node_modules или раз в сутки; иначе консоль выводит [PlayNHost] Packages are up to date.
Минимальный бот на Bun с discord.js
package.json
{
"name": "my-bun-bot",
"private": true,
"dependencies": {
"discord.js": "^14"
}
}
index.ts
import { Client, Events, GatewayIntentBits } from 'discord.js';
const client = new Client({ intents: [GatewayIntentBits.Guilds] });
client.once(Events.ClientReady, (c) => {
console.log(`Logged in as ${c.user.tag}`);
});
client.login(process.env.DISCORD_TOKEN);
Bun читает токен через process.env.DISCORD_TOKEN или Bun.env.DISCORD_TOKEN. Строка Logged in as переключает метку на странице Обзор на Онлайн в Discord.
Строки консоли, которые вы можете увидеть
| Строка | Что делать |
|---|---|
[PlayNHost] Your bot is not set up yet: the main file index.ts was not found. | Загрузите свои файлы или впишите в Файл запуска настоящее имя и папку. |
[PlayNHost] bot.py is a Python file, but this server runs Bun (JavaScript). | Ваш код на Python. Нажмите Изменить, что запускается и выберите Python Bot, сохранив файлы. |
[PlayNHost] index.ts starts with ```, a Markdown code fence copied together with the code. | Откройте файл в Files, удалите первую и последнюю строки ```, сохраните и запустите снова. |
[PlayNHost] Bun could not install everything in package.json. Starting with the packages already installed. | Имя или версия в package.json неверны. Ошибка Bun строкой выше называет их. |
[PlayNHost] Some packages in Bot page, Code, Packages could not be installed. | Проверьте написание в поле Пакеты и то, что названия разделены пробелами. |
| Баннер Не хватает пакета, нужного вашему коду | Ваш код импортирует пакет, который не установлен. Добавьте его в package.json или в Пакеты, затем перезапустите. |
Строки о неверном языке, об ограде кода и о пакетах приходят из стартового скрипта серверов, установленных или переустановленных с 28 октября 2026 года. На более старом сервере один раз нажмите Переустановить внизу раздела Код: ваши файлы останутся.
Полезно знать
- Bun не проверяет типы TypeScript при запуске. Выполните
bunx tsc --noEmitна своём компьютере, чтобы увидеть ошибки типов. - Bun это не Node.js. Большинство пакетов npm работает, но если какой-то не работает, тип Node.js Bot тоже запускает файлы
.ts(черезtsx): Как запустить Discord-бота на TypeScript. - Ключи и пароли хранятся в разделе Окружение: Как задать переменные окружения и секреты.



