# Как запустить бота для Discord?

https://www.seturack.com/ru/baza-znaniy/statya/how-to-run-my-discord-bot

1. В панели откройте **Мои серверы** и нажмите на свой сервер.
2. На вкладке **Обзор** дождитесь, пока в строке **Приложение** появится «Бот Discord готов». Страница обновляется сама.
3. Запомните IP-адрес из строки **Адрес подключения**.
4. Создайте приложение на портале [Discord Developer Portal](https://discord.com/developers/applications). На странице **Bot** нажмите **Reset Token**, чтобы получить токен.
5. [Подключитесь по SSH](https://www.seturack.com/ru/baza-znaniy/statya/how-to-connect-with-ssh) и откройте файл: `nano /opt/seturack/discord/bot/.env`
6. Вставьте токен после `DISCORD_TOKEN=` и сохраните файл. Пример бота подключится сам в течение нескольких секунд.
7. Чтобы посмотреть, чем он занят: `su - app -c "pm2 logs bot --lines 20"`
8. На портале откройте **OAuth2 > URL Generator**, отметьте `bot` и `applications.commands`, затем по полученной ссылке добавьте бота на свой сервер Discord. Введите `/ping`, и бот ответит `pong`.

## Запуск своего кода

Выполните `su - app`, затем `cd /opt/seturack/discord/bot`. Положите сюда свой код, при необходимости заменив `index.js`:

`npm install`

`pm2 restart bot`

`pm2 save`

## Полезно знать

- Без токена процесс остаётся запущенным и пишет в журнал «token bekleniyor / waiting for token». Это нормально.
- Храните токен в тайне. Файл `.env` может прочитать только пользователь бота.
- PM2 запускает бота при загрузке сервера. Бот не принимает входящих подключений, поэтому открыт только порт **22** для SSH.

**Сервера ещё нет?** [Закажите сервер с установленным Discord botu](https://www.seturack.com/ru/discord-vps): вы выбираете размер и платите только за выбранное.
