Как поставить бота дискорд на хостинг
Боты в Дискорде играют незаменимую роль. Они помогают администрировать серверы, развлекать пользователей, расширяют функционал мессенджера и интегрируют каналы с другими приложениями. Чтобы боты всегда были на связи, их устанавливают на специальный компьютер, который постоянно имеет доступ к интернету и никогда не выключается. Такие компьютеры называются хостингами. Расскажем, как выбрать хостинг для работы и залить туда бота для Дискорда.
Хостинги для ботов
На рынке хостингов нет никакой монополии, ведь каждый может включить компьютер, вставить в него побольше дисков, подключить к интернету и зарегистрировать на специальных сайтах. Конечно, дополнительно необходимо настраивать сервер, но это уже другая тема. Но, несмотря на такую простоту, предоставлять поистине качественные услуги могут только единицы, о которых и пойдет речь.
CLOUD4BOX
По сути, для работы бота не подойдет обычный хостинг, который используется для сайтов. Вместо этого сайт предлагает покупку выделенного сервера (DS) или виртуального сервера (VPS). Разница между ними в том, что виртуальным сервером могут одновременно пользоваться несколько участников.
То есть при выборе этого типа вы сможете использовать только отдельную часть, что ограничивает в настройке. А выделенный сервер предоставляется только одному владельцу. В таком случае его легко настроить под собственные нужды, а также администрировать.
Выделенные серверы дороже. Например, VPS с конфигурациями, указанными ниже, будет стоить 2406 рублей. Выделенный сервак дороже, он стоит 4800 рублей в месяц.
Конфигурация | Значение |
CPU | 9x3.0 GHz |
RAM | 16 GB |
Disk | 240 GB (SSD) |
IP | IPv6 |
Канал | 1 Гбит/с |
Ядро ОС | Linux |
В целом, для ботов подойдут и обычные VPS, так как им не нужна гибкая настройка. Предупредим сразу: компания не предлагает услуги из категории «hosting free», да и в таких услугах нет смысла. Бесплатный сыр, как известно, только в мышеловке.
Более подробно о сайте и услугах читатель может узнать на офф сайте.
SPRINTHOST
А на очереди у нас очередной российский поставщик услуг, предлагающий выгодные и практические решения. В отличие от конкурента выше этот провайдер не мучает пользователей гибкой настройкой, а предлагает сразу готовые решения. Особенно полезно, если клиент плохо разбирается в устройстве компьютера. Да, и такое бывает, особенно если бота заливает не разработчик, а тот, кто перекупил его. Здесь также доступны обычные хостинги для сайтов. VDS и выделенные серверы. Самое дорогое предложение (VDS) стоит 340 рублей, а это мало, учитывая сборку компа.
SIMPLE CLOUD
«Зарегистрируйся и получи 100 рублей» – гласит надпись на главной странице сайта. Уже заманчиво, а вы еще не видели предоставляемые услуги. Компания предлагает услуги поддержки облачного хостинга, но также не позволяет вручную собрать аппаратную конфигурацию. Вместо этого пользователю предлагается 16 разных решений (по сути их 8, но пользователь может увеличить вдвое ОЗУ в каждом). Стоимость самого дорогого тарифа – 22 400 рублей, но при этом клиент получит 128 GB ОЗУ и 400 GB SSD. Для бюджетников доступен тариф за 150 рублей, но там только 512 MB ОЗУ и 5 ГБ памяти.
Botghost
У этого варианта существует ряд преимуществ:
- Разработан именно для ботов. Говоря точнее, поддерживается интерфейс создания бота без программирования. Причем это бесплатно.
- Англоязычный сайт. Для тех, кто не верит в российские сайты.
- Прямая интеграция с Дискордом. Не придется поднимать npm, сервер, закидывать файлы.
Но, с точки зрения поддержки хостинга, здесь все проблематично. Сервис больше рассчитан на создание, нежели поддержку.
Как поставить Дискорд бота на хостинг
Мы предполагаем, что вы уже создали собственное приложение и протестировали на локальном компьютере. Потому этап настройки npm и сборки мы опустим. Для загрузки приложения необходимо:
Были времена, когда люди все делали сами. Конечно, поручить тяжелый физический труд они могли автоматизированным машинам. Однако умственные операции, где нужно производить логический анализ, поручить было некому. С недавнего времени эта проблема решилась программами с готовыми логическими инструкциями, которые называются ботами. Расскажем, как создать собственного бота в сервисе Дискорд, который считается одним из лучших мессенджеров в 2022 году.
С чего начать
Может, где-то на просторах интернета и «гуляют» готовые конструкторы (их иногда называют Creator) ботов, они довольно ограничены по функционалу. Так как невозможно предсказать все желания пользователя. Потому мы будем рассматривать разработку Discord bot на основе языка программирования JavaScript(JS), а точнее платформы Node.js. Первым делом необходимо создать приложение в базе Discord.
Для этого выполните следующие действия:
- Перейдите по этой ссылке. Рекомендуем сделать это не на телефоне, а через компьютер.
- Введите название для приложения. В будущем оно будет отображаться как имя бота.
- Найдите поле «Token». Кликните по ссылке под ним. Должен появиться длинный текст из разных символов. Это и есть токен, с помощью которого происходит обращение к боту.
- Скопируйте его и сохраните куда-то. Без него обращение невозможно. Также не рекомендуем показывать этот токен кому-либо, так как этот кто-то сможет управлять вашим приложением.
Готово. Местечко для приложения мы уже подготовили. Осталось установить сам код на выделенном хостинге.
Подготовка сервера
В нашем случае будет использовать VDS (виртуальный выделенный сервер) с ОС Ubuntu 18.04. Если вы новичок, то рекомендуем остановиться именно на этом дистрибутиве. Сам сервер необходимо арендовать. Для обучения можно найти и бесплатный хостинг. Для подготовки сервера выполняем следующие действия:
- Запустите сервер и откройте терминал. В Ubuntu достаточно нажать ПКМ по рабочему столу и выбрать «Терминал».
- Введите следующие команды:
sudo apt update
sudo apt install docker npm.
Таким образом мы установили npm, который нужен для установки пакетов node.js. Уже непонятно? Тогда рекомендуем для начала ознакомиться с базовым курсом по JS и Node.js. Впрочем, если полностью следовать инструкциям, дополнительный материал для изучения не понадобится.
Создание основных файлов бота
Теперь переходим к разработке самого программного кода. Любой исполняемый код должен помещаться в текстовом файле в отдельной директории. Подробный алгоритм подготовки окружения:
- Откройте терминал.
- Перейдите в домашний каталог с помощью команды «cd /home».
- Создайте директорию с произвольным названием. В нашем случае это будет mkdir newbot.
Готово, окружение подготовлено. Переходим к файлам.
Добавление команд
Первый делом создайте в этой директории файл package.json с помощью команды «touch package.json». С помощью текстового редактора заполните файл следующими строками:
"name": "*здесь укажите имя бота*",
"version": "*его версию (на свое усмотрение) *",
"description": "*описание, которое будут видеть пользователи*",
"author": "электронный адрес автора",
Обратите внимание на строку «"main": "main.js"». Внутри кавычек указывается исполняемый файл. В нашем случае это main.js. Создайте в этой же директории файл с таким названием, а после введите следующий готовый код:
const Discord = require('discord.js');
const bot = new Discord.Client();
const token = process.env.token;
const prefix = process.env.prefix;
if (message.content === `$hello`)
if (message.content === `$server`)
Это простейший скрипт, который будет приветствовать пользователя и по команде «Server» выводить количество участников. Теперь создадите файл .env, в котором необходимо написать следующие строки:
token=*токен, который был скопирован при создании бота*
prefix="*символ, с которого будут начинаться команды*"
В звездочках указаны места, куда нужно ввести свои данные. При подготовке кода эти звездочки писать не нужно.
Тестирование
По сути, скрипт выше не взаимодействует со стандартным интерфейсом JS, а «общается» сразу посредством discord API. Следственно, проверить его работоспособность сразу не получится. Единственное, что может сделать пользователь на этом этапе, так это проверить, запустится ли код вообще. Для этого необходимо из терминала ввести команду «npm start», находясь в директории с проектом. Если никаких ошибок не возникло, то переходите к следующему этапу.
Docker-контейнер
Docker – это специальное окружение для проекта, которое позволяет запустить код, вне зависимости от параметров основной системы. Он также поможет собрать сам проект и запустить его локально на сервере. Для этого создайте файл Dockerfile со следующим содержимым:
RUN npm install
Теперь создайте файл .dockerignore, где будут храниться не используемые при сборке компоненты. Добавьте в него эти строки:
Для запуска и сборки используем следующие команды:
docker build -t author/test
docker run -p 42150:8080 -d author/test
Как добавить своего бота не сервер
Можете спокойно выдохнуть, на этом все сложности заканчиваются. Добавления займет не более 1 минуты. Для инсталляции (от слова «install») снова вернитесь в окно создания приложения. Но теперь перейдите в раздел «OAuth2». В разделе «Scopes» выберите пункт «Bot». Сервис выдаст ссылку, которую нужно вставить в адресную строку.
Дальше у вас спросят, в какой сервер добавить бота. Когда эти процедуры завершатся, можете смело проверять ваше творение. Пока бот может выполнять только одну команду: «!server». Вместо «!» будет указан префикс, который вы использовали в скрипте. В идеале должна вернуться строка следующего вида:
Сообщество: *название сообщества*
Участников: *количество участников*
А на этом все. Не забывайте, что по истечении срока аренды хостинга отключится и приложение.
Что это за бот
Разработчики практически ежедневно создают новых ботов, наделенных различными функциями. Некоторые из них исчезают без следа, а кое-какие становятся популярными. Данный бот для Дискорд-мессенджера, кроме базовых функций, в совершенстве владеет мастерством диджея.
FredBoat – это музыкальный помощник, виртуоз треков, волшебник хостингов и маэстро аудиофайлов. В искусстве обращения с контентом боту нет равных. В своем классе Фред – наилучший. Поэтому, если вам нужен не просто Discord-бот, а полноценный аудиобот, стоит присмотреться к FredBoat.
Основные возможности
FredBoat является бесплатным музыкально ориентированным приложением с множеством функций. Главная фишка бота – легкость настройки. Фреду можно перепоручить подключение к хостингам с аудиконтентом. Помощник блестяще справится, найдет и загрузит нужный.
Шустрый виртуальный диджей пробежится по ресурсам, начиная с привычного Ютуба и заканчивая Твичем. Бот не пропустит Soundcloud, Bandcamp, Vimeo, Mixer, любые ссылки на аудиотреки. Работает не только с сохраненными файлами, но и со стримами, транслируя музыку напрямую.
Искать нужные песни легко: нужно просто вбить в строку поиска название. Дальше FredBoat сам подключится к облачным хранилищам. Вовсе не обязательно загружать треки, вводить прямые ссылки. Бот разберется с файлами без помощи человека, отсортирует и подаст в готовом виде пользователям. Допускается проигрывание в случайном порядке, микс, повтор заданного трека (всего списка воспроизведения).
Стоит она немного, 2 доллара ежемесячно. За эти деньги пользователь станет участником сообщества почитателей, спонсоров бота FredBoat Hangout. Заодно ему представится возможность формировать собственные плейлисты на Spotify.
Команды FredBoat для Discord
Наш музыкальный помощник подчиняется заданному разработчиком набору команд. Ознакомиться с ними можно на сайте. Или пробежаться по основным, представленным ниже. Начинается ввод с указания префикса «;;». Как здесь:
- «;;play url». Базовое действие, предназначенное для прямого проигрывания трека по заданной ссылке.
- «;;play words». Поиск трека на облаке (YouTube, Soundcloud).
- «;;queue». Показывает очередь воспроизведения бота.
- «;;nowplaying». Позволяет увидеть текущую проигрываемую композицию.
- «;;skip». Пропуск трека.
- «;;voteskip». Пропуск воспроизводимого файла по голосованию (должно быть не менее 50 %).
- «;;stop». Остановка плеера.
- «;;pause». Режим паузы.
- «;;resume». Возобновление воспроизведения.
- «;;join». Подключение бота к голосовому каналу.
- «;;leave». FredBoat будет отключен от голосового канала.
- «;;repeat». Повтор воспроизведения.
- «;;shuffle». Смешивание композиций, случайный порядок.
- «;;reshuffle». Отключение смешивания.
- «;;fwd time». Перемотка вперед на заданное время.
- «;;rew time». Отматывает назад на установленный промежуток времени.
- «;;seek time». Устанавливает заданное время воспроизведения.
- «;;restart». Перезапуск трека.
- «;;volume». Управление громкостью.
- «;;help command». Доступные команды.
Кроме музыкальных, у бота есть прочие возможности. Иначе бы он не был таким универсальным. Они так и называются – Non-music Commands. Раздел «Конфигурация» («Configuration») содержит действия по настройке базовых функций. Это, собственно, обращение к демонстрации текущего состояния («;;config»), показ подключенных модулей («;;modules»), выбор языка меню («;;language»). Еще есть «;;prefix», «;;admin», «;;dj». Догадаться об их назначении не так уж сложно.
Блок «Модерация» не поражает обилием опций. Но ведь по профилю это музыкальный бот, а не админский. В категории находятся команды для назначения бана конкретным пользователям («;;hardban», «;;softban»), удаления с сервера («;;kick»). Этого вполне достаточно для модерации.
Раздел утилит содержит дополнительные команды («;;avatar@username», «;;brainfuck code», «;;serverinfo», «;;math»). Можно даже узнать погоду для данного региона, введя «;;weather location». Группа действий, предназначенных для развлечения («Fun») собрана в соответствующей строке. Завершает перечень категория «Информация», где собраны подсказки, краткие инструкции к боту.
Установка на свой сервер
Либо опуститься чуть ниже, где под блоком с иконкой ФредБота и небольшим блоком с информацией также есть 2 интерактивных панели – «Add to Discord» и «Read the docs». Нажимаем первую, оказываемся на страничке входа в Дискорд-аккаунт. До запуска бота остается пара шагов.
После успешной авторизации следует указать сервер для подключения. При открытии мессенджера FredBoat автоматически отправит приглашение. Подтверждаем, переходим в меню бота. После настройки он готов к использованию.
Как использовать
ФредБот – это, по сути, музыкальный автомат. Поэтому базовый набор команд предназначен для воспроизведения, перемешивания, перемотки треков и подобных действий. Разобраться с управлением легко даже без знания английского. Разработчик позаботился о том, чтобы снабдить FredBoat дружественным интерфейсом.
Запуск воспроизведения – «Play», остановка – «Stop». При этом можно задать название композиции. Дальше бот сам найдет ее на хостингах.
Проблемы и решения
Обычно интегрированный на сервер бот сразу же готов к использованию. При вводе команд не забываем префикс, иначе помощник их «не поймет». При проблемах с запуском бота следует перепроверить установленные роли. Возможно, ошибка скрывается там.
Статья будет состоять из предыстории, подготовительного этапа, написания логики и переноса бота на удаленный сервер.
Надеюсь, данная статья поможет многим начинающим.
Предыстория
Все началось в одну бессонную осеннюю ночь, которую я проводил на Discord – сервере. Так как я относительно недавно к нему присоединился, я стал его изучать вдоль и поперёк. Обнаружив текстовый канал «Вакансии», я заинтересовался, открыл его, и отыскал среди не интересующих меня предложений, это:
«Программист (разработчик бота)
Требования:
- знание языков программирования;
- способность к самообучению.
- умение разбираться в чужом коде;
- знание функционала DISCORD.
- разработка бота;
- поддержка и сопровождение работы бота.
Ваша выгода:
- Возможность поддержать и повлиять на приглянувшийся проект;
- Приобретение опыта работы в команде;
- Возможность продемонстрировать и улучшить имеющиеся навыки.»
Это мгновенно меня заинтересовало. Да, за данную работу не платили, но от тебя никаких обязательств не требовали, да и в портфолио лишним не будет. Поэтому я написал админу сервера, и он попросил написать бота, который будет показывать статистику игрока в World of Tanks.
Подготовительный этап
Discrod
Прежде, чем приступить к написанию нашего бота, его необходимо создать для Discord. Вам необходимо:
- Войти в Discord аккаунт по ссылке
- Во вкладе “Applications” нажать на кнопку “New Application” и назвать бота
- Получить токен бота, войдя в вашего бота и найдя в списке “Settings” вкладку “Bot”
- Сохранить где-нибудь токен
Также, необходимо создать приложение в Wargaming, чтобы получить доступ к API Wargaming. Тут тоже все просто:
- Заходим в аккаунт Wargaming по данной ссылке
- Заходим в «Мои приложения» и нажимаем на кнопку «Добавить новое приложение», дав имя приложения и выбрав его тип
- Сохраняем ID приложения
Для тех, кто не знает, или забыл, как устанавливать приложения из NuGet.Инструкция для Visual Studio
- Переходим во вкладку Проект – Управление пакетами NuGet;
- Нажимаем на обзор и в поле поиска вводим “DSharpPlus”;
- Выбираем и устанавливаем framework;
- PROFIT!
Подготовительный этап окончен, можно переходить к написанию бота.
Написание логики
Работа с Discord бот происходит через функцию static async Task MainTask(string[] args);
Чтобы вызвать данную функцию, в Main необходимо прописать
Далее, вам необходимо инициализировать своего бота:
Где token – токен вашего бота.
Потом, через лямбду, прописываем необходимые команды, которые должен выполнять бот:
В конце данной функции, необходимо прописать await discord.ConnectAsync(); и await Task.Delay(-1);
Это позволит выполнять команды на фоне, не занимая основной поток.
Теперь необходимо разобраться с Wargaming API. Тут все просто – пишете CURL-запросы, получаете ответ в виде JSON – строки, вытягиваете оттуда необходимые данные и делаете над ними манипуляции.
Пример работы с WargamingAPI
Внимание! Все токены и ID приложений хранить в открытом виде строго не рекомендуется! Как минимум – Discord банит такие токены, когда они попадают во всемирную сеть, как максимум – бот начинает пользоваться злоумышленниками.
Деплой на VPS – сервер
После того, как вы закончили с ботом, его необходимо разместить на сервере, который постоянно работает 24/7. Это связанно с тем, что когда работает ваше приложение, то работает и бот. Как только вы выключаете приложение, засыпает и ваш бот.
Много VPS серверов существует на этом свете, как на Windows, так и на Linux, однако в большинстве случаев, на Linux в разы дешевле размещать.
На Discord – сервере мне посоветовали vscale.io, и я тут же создал на нем виртуальный сервер на Ubuntu и залил бота. Я не буду описывать, как работает данный сайт, а сразу перейду к настройки бота.
Далее, вам необходимо залить бота на Git – сервис, вроде GitHub и ему подобные и склонировать на VPS — сервер, или, другими путями скачать вашего бота. Учтите, что у вас будет только консоль, GUI не будет. Совсем.
После того, как вы скачали вашего бота, вам необходимо его запустить. Для этого, вам необходимо:
- Восстановить все зависимости: dotnet restore
- Построить приложение: dotnet build name_project.sln -c Release
- Перейти к построенной DLL;
- dotnet name_of_file.dll
Поздравляю! Ваш бот запущен. Однако, бот, к несчастью, занимает консоль, и выйти из VPS – сервера так просто не выйдет. Также, в случае перезагрузки сервера, придется по новому запускать бота. Тут есть пару выходов из ситуации. Все они связаны с запуском при старте сервера:
- Добавить запуск скрипта в /etc/init.d
- Создать сервис, который будет запускаться при старте.
Подробно останавливаться на них не вижу смысла, достаточно подробно все описано в интернете.
Выводы
Ранее мы сделали руководство по размещению сервера Minecraft в Digital Ocean. В этом посте вы получите пошаговое руководство по настройке собственного бота Discord на VPS (виртуальном частном сервере). В этом посте мы выбрали платформу облачного хостинга Digital Ocean. Однако ту же процедуру можно воспроизвести на Amazon (AWS) или Microsoft Azure. Мы будем использовать Ubuntu Server, который доступен на всех облачных платформах.
Загрузите Simple Discord Music Bot
В этом посте мы не будем углубляться в разработку ботов Discord. Вместо этого мы будем использовать свободно доступного бота Discord на GitHub — Простой музыкальный бот Discord. Как следует из названия, это очень простой музыкальный бот Discord с обработчиком команд discordjs.guide для легкого обучения и адаптации. Другие функции включают:
- Система очередей
- Контроль громкости
- Пауза / Возобновить
Настройка VPS-сервера в Digital Ocean
В этом посте Digital Ocean предлагает бесплатный кредит в размере 100 долларов США на 60 дней при первой регистрации. Все, что вам нужно сделать, это подтвердить счет на 5 долларов с помощью PayPal или кредитной карты. Это хорошее предложение для начала — два полных месяца бесплатного хостинга. Зарегистрируйте учетную запись и войдите в Панель управления.
Создать каплю
Вы увидите возможность выбрать дистрибутив, который хотите использовать. Выберите Ubuntu. На момент написания этой статьи доступной стабильной версией Ubuntu является Ubuntu 2.04 LTS. Однако, если вы хорошо разбираетесь в системах Linux, не ограничивайтесь. Не стесняйтесь исследовать другие дистрибутивы, такие как Debian, Fedora, CentOS и другие.
Выберите распространение
После выбора вашего дистрибутива вам нужно будет выбрать план. Это в основном аппаратная архитектура вашего VPS. Для этого конкретного урока я выберу базовый план за 10 долларов в месяц. Он поставляется с 2 ГБ оперативной памяти, 50 ГБ SSD и 2 ТБ для передачи данных.
Выберите план
Ниже вы увидите дополнительные параметры, такие как блочное хранилище, сеть VPC и регион центра обработки данных. Вы можете оставить их как есть, но выберите регион, где вы ожидаете большой трафик для варианта центра обработки данных.
Далее вам нужно будет выбрать метод аутентификации. У вас есть два варианта: SSH и пароль. Если вы раньше использовали SSH для настройки VPS, используйте SSH. Если вы плохо разбираетесь в этих технических условиях, используйте вместо этого пароль.
Примечание. В каплях, использующих ключи SSH, аутентификация по паролю по умолчанию отключена. Это делает их более защищенными от атак Bruteforce.
Если вы решите использовать аутентификацию SSH, вам нужно будет создать ключ SSH или использовать существующий ключ для тех, кто ранее создавал VPS в цифровом океане. В моем случае я буду использовать ключ SSH, который я настроил для сервера Minecraft.
Настроить метод аутентификации
Затем выберите имя хоста для вашей капли. Я назову свой Discord-Bot-One. Когда закончите, нажмите Create Droplet внизу окна. Ваши капли будут созданы. Этот процесс может занять от нескольких секунд до минуты или двух. Когда закончите, вы увидите новое окно, в котором будут перечислены все ваши капли.
Капля раздора
Подключитесь к вашему VPS
После того, как наш VPS настроен и работает, теперь мы можем подключиться к нему и настроить бота Discord. Я покажу вам три способа подключения к VPS в Digital Ocean.
Подключиться к VPS через Терминал
Если вы пользователь Linux, то вы должны быть хорошо знакомы с Терминалом. Скопируйте общедоступный IP-адрес своего VPS и введите в Терминале команду ниже.
ssh root @ Например, ssh root@14*.***.***.79
Примечание: root — это имя пользователя по умолчанию.
Если вы установите пароль в качестве предпочтительного метода аутентификации, вам будет предложено ввести пароль. Если вы установите SSH-аутентификацию, вам не будет предложено ввести пароль.
Подключиться через Терминал Подключиться к VPS через Putty
Если вы используете Windows, Putty пригодится при подключении к вашему VPS. Вы можете скачать его здесь ссылка на сайт. Есть и другие утилиты, например BitVise, но для этого конкретного урока мы будем использовать Putty.
Шпатлевка
Вы увидите окно консоли с запросом, войдите как. Введите root и нажмите Enter. Теперь, если вы выбрали аутентификацию по паролю, вам будет предложено ввести пароль. Если вы выбрали аутентификацию SSH, Putty обнаружит ключи SSH на вашем компьютере и сразу же начнет сеанс.
Создайте новый каталог для файлов Discord Bot
После успешного входа на ваш VPS-сервер нам нужно создать каталог для хранения файлов наших ботов Discord. Выполните команду ниже. В моем случае я назову каталог «Discord_Bot_Test».
sudo mkdir Discord_Bot_Test
Чтобы убедиться, что каталог был успешно создан, выполните команду ls, как показано ниже.
Создать каталог
На изображении выше вы можете видеть, что мы успешно создали каталог. Чтобы перейти в новую папку, используйте команду cd the, как показано на изображении ниже.
Новый каталог
Загрузите / загрузите файлы Discord Bot на свой VPS
Теперь мы поговорим немного о технических моментах. Если ваши файлы бота Discord загружены на GitHub или любой другой веб-сайт, мы можем загрузить файлы на наш VPS с помощью команды wget.
Если файлы находятся на вашем компьютере, мы можем использовать FTP-приложение, такое как FileZilla, или, если вы хорошо разбираетесь в командах Linux, вы можете использовать команду SCP для загрузки файлов с вашего локального компьютера на VPS.
- Загрузите файлы Discord Bot с веб-сайта на свой VPS
Если ваши файлы размещены на GitHub или любом другом веб-сайте, используйте приведенный ниже синтаксис команды wget, чтобы загрузить их на свой веб-сайт:
В моем случае я загрузил файлы бота Discord Music с GitHub. Файл находится в заархивированном формате; Я распакую его с помощью утилиты unzip, которую можно установить с помощью команды apt install unzip. Чтобы распаковать файл, используйте следующий синтаксис:
Когда я набираю команду ls, вы видите, что у меня есть папка discord-music-bot-master, содержащая файлы Discord Bot.
Файлы бота Discord
- Загрузите файлы Discord Bot со своего компьютера на VPS с помощью FileZilla
Кроме того, вы можете скачать FileZilla с этого ссылка на сайт. Если вы используете Linux, в частности, дистрибутив на основе Debian, установите FileZilla с помощью следующей команды.
sudo apt установить Filezilla
При первом запуске FileZilla вы увидите окно ниже.
Окно FileZilla
Заполните выделенные поля, как показано ниже:
- Хост: введите общедоступный IP-адрес вашего VPS.
- Имя пользователя: пользователь по умолчанию — root.
- Пароль: если вы установили аутентификацию по паролю, вам нужно будет ввести пароль. Если вы использовали аутентификацию SSH, оставьте поле пустым.
- Порт: введите порт 22 (SSH)
После этого нажмите кнопку Quickconnect, чтобы подключиться к вашему VPS. После успешного установления соединения вы увидите окно, подобное приведенному ниже. Слева мы видим локальные файлы и каталоги на нашем компьютере. Справа у нас есть файлы на VPS.
FileZilla
Чтобы загрузить файлы с локального ПК на VPS, перетащите файлы со своего ПК (слева) в нужный каталог на VPS (справа). Так просто! Когда закончите, закройте окно FileZilla и продолжите соединение SSH на Putty или Terminal.
Запустите свой Discord Bot
На данный момент у нас есть все готово для запуска нашего бота Discord.
Примечание: в этом руководстве мы используем бота, который был разработан на Javascript — Простой музыкальный бот Discord. В частности, Discord.js и Node.js. Если вы разработали своего бота на таком языке, как Python, описанные ниже действия вам не подойдут.
Чтобы подтвердить установленную версию Nodejs, выполните команду ниже.
узел -vВерсия NodeJs
Затем мы запустим команду npm install, чтобы загрузить необходимые пакеты модулей узлов, необходимые для нашего проекта. Выполните команду в каталоге, содержащем файл package.json.
NPM Установить пакеты
Чтобы добавить свой токен Discord, переименуйте .env_example в .env и заполните значения:
Поскольку это скрытый файл (начинается с точки), мы воспользуемся командой ls -a для вывода списка всех файлов. Когда закончите, перейдите в каталог src и запустите бота.
cd src node index.jsЗапустить бота
Вот и все! Наш бот Discord запущен и работает.
Однако есть одна проблема. Вы заметите, что пока бот работает, вы можете делать что угодно в Терминале, и если вы остановите процесс, это также убьет нашего бота. На следующем шаге мы рассмотрим, как обеспечить круглосуточную работу нашего бота за кулисами.
Установить PM2
PM2 — это пакет npm, который вы можете легко установить на свой VPS с помощью следующей команды:
npm установить pm2 -g
После успешной установки перейдите в папку src, содержащую файл index.js. Теперь запустите бота Discord с помощью приведенной ниже команды.
pm2 запустить index.jsЗапуск бота с PM2
Как видно из изображения выше, PM2 запустил нашего бота и присвоил ему идентификатор. Вы можете продолжать выполнять другие задачи, пока бот все еще работает. Другие полезные команды PM2 для управления вашими задачами:
- pm2 logs : показывает журналы выбранного вами процесса.
- pm2 list: перечисляет все запущенные процессы pm2.
- pm2 stop : PM2 останавливает выбранный процесс.
Чтобы просмотреть все остальные команды PM2, выполните pm2 —help.
Вывод
В этом посте мы предоставили вам пошаговое руководство по настройке бота Discord на виртуальном частном сервере. Наша предпочтительная облачная платформа — Digital Ocean. Однако процесс установки такой же, поскольку большинство облачных платформ поддерживают Linux VPS. Если у вас возникнут какие-либо проблемы при выполнении любого из вышеперечисленных шагов, пожалуйста, оставьте комментарий ниже.
Читайте также: