Как запустить бота на Node.js

Discord-бот на discord.js, Telegram-бот на grammY или Telegraf, небольшой API на Express — всё это запускается на Coding-сервере одинаково.

1. Выберите версию Node.js

Во вкладке «Запуск» → «Docker Image» доступны Node.js 12–21. Берите 20 — это LTS-версия, её поддерживают все популярные библиотеки. discord.js v14 требует Node.js 16.11 или новее.

2. Загрузите проект

Загрузите файлы через файловый менеджер или SFTP. Папку node_modules загружать не нужно: зависимости из package.json ставятся сами при каждом запуске сервера.

/home/container
├── index.js
├── package.json
└── .env

3. Настройте запуск

ПеременнаяЧто указать
Main fileГлавный файл, например index.js или src/bot.js
Additional Node packagesПакеты, которых нет в package.json (через пробел)
Uninstall Node packagesПакеты, которые нужно удалить при запуске
Additional ArgumentsФлаги для запуска, например --max-old-space-size=512

4. Токен — в .env

// npm install dotenv
import "dotenv/config";

const token = process.env.DISCORD_TOKEN;

Файл .env не добавляйте в GitHub — внесите его в .gitignore.

5. Запуск

Нажмите «Start». В консоли сначала пройдёт npm install, затем запустится бот. Если бот упал, в консоли будет причина — начните с последних красных строк.

Частые ошибки

ОшибкаЧто делать
Cannot find module '…'Добавьте пакет в dependencies в package.json и перезапустите
Cannot use import statement outside a moduleДобавьте "type": "module" в package.json или используйте require
Used disallowed intentsВключите нужные Intents у бота на discord.com/developers
JavaScript heap out of memoryБоту не хватает памяти тарифа — оптимизируйте код или возьмите тариф больше