НОВОЕ 📢 Ограниченное стартовое предложение: скидка до 70% на первый месяц для любой игры!Посмотреть тарифы

Как запустить Bastion, многофункционального Discord-бота

Хостинг Discord-ботовUpdated Oct 29, 20266 min read

Bastion объединяет в одном Discord-боте модерацию и автомодерацию, уровни, приветствия, starboard, розыгрыши, опросы, музыку, игры и многое другое. Его база данных MongoDB работает на вашем сервере рядом с ботом, поэтому нужен тариф с памятью не меньше 2 ГБ. От вас нужны только токен бота и три включённых интента.

  1. В Discord Developer Portal создайте бота, скопируйте его токен и на странице Bot включите Presence Intent, Server Members Intent и Message Content Intent.
  2. В панели сделайте так, чтобы сервер запускал Bastion (Изменить, что запускается).
  3. Вставьте токен в карточку Настройка бота на странице Обзор и пригласите бота.
  4. Нажмите Запустить бота. Bastion опубликует свои слэш-команды и появится в сети.

Каждый шаг разобран ниже.

Перед началом

  • Создайте бота и скопируйте его токен: Как создать Discord-бота и получить его токен.
  • На странице Bot вашего приложения включите все три привилегированных интента и нажмите Save Changes: при входе Bastion запрашивает у Discord Server Members, Presence и Message Content.
  • Вашему тарифу нужно 2 ГБ памяти или больше. На меньшем тарифе Bastion не предлагается: перейдите на более крупный тариф в разделе Мой тариф, Сменить тариф.

1. Настройте сервер на запуск Bastion

  1. Откройте сервер в панели. На странице Обзор, в карточке Настройка бота, нажмите шаг Что запускается. Если тип уже правильный, там написано «Этот бот запускает Bastion.»
  2. Если нет, нажмите Изменить, что запускается, выберите Bastion, нажмите Дальше, поставьте галочку подтверждения и нажмите Сменить тип сервера. Установка собирает Bastion, поэтому она занимает несколько минут.

2. Подключите его к Discord

  1. Шаг Подключение к Discord: вставьте токен в поле Вставьте токен бота, нажмите Подключить, затем Да, продолжить, если имя и картинка принадлежат вашему боту.
  2. Шаг Разрешения: в таблице Привилегированные интенты пункты Server Members, Message Content и Presence отмечены как Нужно для Bastion. Для каждого должно быть Вкл. После изменений в Portal нажмите Проверить снова.
  3. В разделе Ссылка-приглашение нажмите Добавить на сервер Discord. Ссылка уже запрашивает обычные текстовые разрешения, Подключаться, Говорить и Использовать режим активации по голосу для музыки, а также Выгонять участников, Банить участников, Отправлять участников в тайм-аут и Управление ролями для модерации. Приглашали бота раньше с меньшим набором разрешений? Нажмите кнопку ещё раз и выберите тот же сервер: Discord обновит разрешения бота.

Карточка настройки на странице «Обзор» на шаге «Разрешения» для Bastion: Server Members, Message Content и Presence отмечены как «Нужно для Bastion».

3. Запустите бота

  1. Нажмите Запустить бота в карточке настройки или Запустить в Console. После строк о запуске MongoDB в консоли появится:
[PlayNHost] Publishing Bastion's slash commands to Discord
[PlayNHost] Slash commands published
[PlayNHost] Starting your bot
  1. На своём сервере Discord введите /, чтобы увидеть команды Bastion, например /poll и /giveaway.

Для запуска ничего заполнять в разделе Код, Настройки не нужно: Bot Client ID (optional) читается из токена.

Настройки

На вкладке Бот, в разделе Код, на карточке Настройки есть следующие параметры. После изменения нажмите Сохранить, затем перезапустите бота.

НастройкаПо умолчаниюЧто она делает
Bot Client ID (optional)пустоClient ID вашего приложения. Если пусто, он читается из токена.
Your Discord user ID (optional)пустоДелает вас владельцем бота.
MongoDB addressmongodb://127.0.0.1:27017/bastionОставьте как есть, чтобы использовать базу данных на вашем сервере.
Публиковать команды при запускеtrueПри каждом запуске регистрирует слэш-команды Bastion в Discord.
Музыкальная активностьtrueПоказывает играющую песню как активность бота.
Пересылать личные сообщенияfalseПересылает владельцу бота личные сообщения, которые получает бот.
Unsafe modefalseРазрешает команды exec и eval, которые выполняют код на вашем сервере. Оставьте выключенным, если бот принадлежит не только вам.

Вкладка «Бот», раздел «Код», карточка «Настройки» Bastion с семью параметрами и их значениями по умолчанию.

Всё остальное, например API-ключи для команд поиска и ИИ в Bastion, находится в settings.yaml в разделе Files. Редактируйте его при остановленном боте, затем запустите бота.

Строки консоли, которые вы можете увидеть

[PlayNHost] Bastion is not set up yet: it needs your Discord bot token.

Вставьте токен на вкладке Бот, в разделе Discord, затем нажмите Запустить.

[PlayNHost] The commands could not be published (...). Bastion starts anyway; the full log is .pnh/publish-commands.log.

Discord отклонил список команд, чаще всего из-за неверного токена. Полную причину смотрите в .pnh/publish-commands.log в разделе Files. Если проблема в токене, нажмите Reset Token в Portal и вставьте новый через Заменить токен.

[PlayNHost] Bastion is not installed. Reinstall it on the Bot page, Code, then press Start.

Файлы бота отсутствуют. Нажмите Переустановить на карточке Переустановить в разделе Код, подтвердите, а когда установка закончится, нажмите Запустить.

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

  • Память: MongoDB и Bastion делят память вашего тарифа, поэтому память JavaScript у Bastion ограничена половиной тарифа, чтобы осталось место для базы данных. Следите за карточкой Использование на странице Обзор: Сколько RAM нужно Discord-боту
  • База данных хранится в папке mongodb в разделе Files, поэтому бэкап сервера включает её: Как создавать, скачивать и восстанавливать бэкапы.
  • Версия зафиксирована: Bastion v10.16.0, самый новый выпуск, который работает на Node.js 20 этого сервера. Переустановить в разделе Код собирает его заново и сохраняет settings.yaml и базу данных.
  • Что сможет играть музыка Bastion, зависит от того, что разрешает каждый сайт: Discord-бот для музыки не играет: решения.

Все параметры каждого готового бота: Как изменить настройки готового бота.

Ваш бот уже у другого хостинга? Перенесите его к нам

ПОСЛЕДНИЕ БЛОГИ