Многие сейчас хотят делать discord ботов, учат для этого языки программирования, но не знают что делать дальше. В этой статье я подробно расскажу как сделать своего discord бота.
Для начала вам следует выбрать язык на котором вы будете писать, самые популярные это Python и JavaScript, в этой статье мы будем рассматривать примеры на JavaScript. После выбора языка также следует выбрать библиотеку на которой будет писаться бот. Для Python это Discord.py или Disnake, для JavaScript это Discord.js.
Для начала нам нужно создать бота на сайте
Нажимаем New application, вводим название, и наше приложение готово. После этого переходим в раздел bot и нажимаем Reset token, после чего просто копируем наш токен. Далее переходим в раздел OAuth2 > URL Generator, ставим галочки над пунктами bot и aplication.commands, выставляем нужные права, и переходим по сгенерированному адресу. Все! Наш бот добавлен на сервер, осталось только написать код
Так как для написания бота на JavaScript нужно скачать Node js, скачиваем его с официального сайта, вместе с ним нам установится менеджер пакетов npm.
Для создания проекта перейдите в терминале в нужную директорию и напишите
node init
После чего вы должны будете заполнить несколько пунктов, ну а мы же их просто пропускаем. Если мы посмотрим на файлы, то там создался новый файл package.json, это файл с основными настройками проекта. После всего вышесказанного нам надо установить сам Discord.js, для этого и нужен менеджер пакетов npm. В терминале пишем
npm install discord.js
После этого мы уже можем писать код
Создадим файл index.js, в нем будет писаться весь основной код, так же создадим файл .env, там мы будем записывать секретные переменные, но для использования таких переменных нужно сначала скачать библиотеку dotenv
npm install dotenv
А потом в файле index.js прописать
require("dotenv").config()
Теперь в файле .env просто пишем
TOKEN=скопированный токен
После всего этого давайте приступать к написанию бота. Пропишем основной код для запуска нашего бота
const { Client, Events, GatewayIntentBits } = require('discord.js');
const client = new Client({ intents: [GatewayIntentBits.Guilds] });
client.once(Events.ClientReady, readyClient => {
console.log(`Ready! Logged in as ${readyClient.user.tag}`);
});
client.login(process.env.TOKEN);
Потом в файле package.json найдем поле test и заменим его на start, а значение поля укажем node ./index.js. После чего пропишем в консоли
npn run start
Увидим соответствующий лог в консоли, а потом увидим то что бот находится в сети.
Как создавать команды я расскажу в следующем посте