-
Автор темы
- #1
Привет, перейдем сразу к делу.
Суть бота:
Вывод информации о сервере начиная от названия заканчивая списком игроков.
Что нам потребуется?
- NodeJS
- Пару модулей
- Бот Дискорд
Если все правильно сделано и в консоли не вывело ошибок,
на вашем сервере пишете команду /server и получите маленькую информацию о сервере.
Для лучше понимания модуля, советую ознакомиться с Гитхабом модуля -
Суть бота:
Вывод информации о сервере начиная от названия заканчивая списком игроков.
Что нам потребуется?
- NodeJS
- Пару модулей
- Бот Дискорд
- Чтобы установить NodeJS, нужно перейти на сайт
- С установкой думай справишься, не глупый.
Пожалуйста, авторизуйтесь для просмотра ссылки.
и скачать текущую версию.- С установкой думай справишься, не глупый.
- Заходим на сайт -
- Авторизовываемся под своим аккаунтом и создаем бота.
- В категории BOT нам потрубется TOKEN, но это позже.
- Чтобы добавить бота на свой сервер, нужно зайти в категорию OAuth2 затем в URL Generator, и выбрать Bot, а затем Administrator, и ниже будет ссылка.
Пожалуйста, авторизуйтесь для просмотра ссылки.
- Авторизовываемся под своим аккаунтом и создаем бота.
- В категории BOT нам потрубется TOKEN, но это позже.
- Чтобы добавить бота на свой сервер, нужно зайти в категорию OAuth2 затем в URL Generator, и выбрать Bot, а затем Administrator, и ниже будет ссылка.
Для себя в любом удобно месте создавай папку, открывай по этому пути CMD, и пиши в нее следующие команды по очереди.
npm install discord.js
npm install gamedig
npm init
Когда напишешь npm init жми просто Enter везде.
Создаем файл index.js и в него вставляем следующий код
- В 29 строке пишешь игру которая тебе нужна -
- В 30 строке пишем IP сервера который вам нужен.
- В 44 строке пишем токен бота который получаем на сайте дискорд(он выше)
Чтобы запустить всю эту кашку в консоле пиши следующую команду - node index.js
npm install discord.js
npm install gamedig
npm init
Когда напишешь npm init жми просто Enter везде.
Создаем файл index.js и в него вставляем следующий код
code:
const gamedig = require("gamedig") // Подключаем модуль gamedig
const { Client, GatewayIntentBits, SlashCommandBuilder, EmbedBuilder } = require("discord.js") // Подключаем модуль Discord.JS, а с ним некоторый хлам
const client = new Client({ // Создаем новый экземпляр для взаимодействия с DISCORD API
intents: [ // Определяем набор намерений
GatewayIntentBits.Guilds, // Получаем информацию о серверах
GatewayIntentBits.GuildMessages, // Получаем текстовые сообщения в чатах
]
})
const server = new SlashCommandBuilder() // Создаем слэш-команду
.setName("server") // Задаем название команде
.setDescription("test") // Задаем описание команде
client.on("ready", () => { // Когда подключились к Discord
console.log(`Success loaded - ${client.user.tag}`) // В консоль выводим сообщение с названием вашего бота
client.application.commands.create(server.toJSON()) // Отправляет запрос на создание команды в DISCORD API
})
client.on('interactionCreate', async interaction => {
if (!interaction.isCommand()) return // Проверяем является ли взаимодействие командой в контекте интерфейса ботa
if(interaction.commandName == "server") // Если введеная команда равна значению в кавычках, будет ответ
{
gamedig.query({ // Выполняем запрос и получаем данные о сервере
type: "rust", // Вводим тип игры
host: "small.rustoria.uk", // Вводим IP сервера
}).then ( async (state) => { // Вызывается после успешного запроса
console.log(state) // Выведет в консоль все данные о сервере
const embed = new EmbedBuilder() // Создаем Embed
.setTitle("Сервер") // Задаем заголок Embed'у
.setColor("Aqua") // Задаем цвет Embed'у
.setDescription(`Name: ${state.name}\nPlayers - ${state.raw.numplayers}/${state.maxplayers}`) // Задаем цвет Embed'у
await interaction.reply({embeds: [embed]}) // При успешном запросе бот ответит на ваше сообщение
}).catch((error) => { // Вызывается если запрос не удался
console.error(error) // Выведет ошибку в консоль
console.log("Server offline") // Выведет в консоль текст
})
}
})
client.login("токен бота с сайта") // Тут токен бота
Пожалуйста, авторизуйтесь для просмотра ссылки.
- В 30 строке пишем IP сервера который вам нужен.
- В 44 строке пишем токен бота который получаем на сайте дискорд(он выше)
Чтобы запустить всю эту кашку в консоле пиши следующую команду - node index.js
Если все правильно сделано и в консоли не вывело ошибок,
на вашем сервере пишете команду /server и получите маленькую информацию о сервере.
Для лучше понимания модуля, советую ознакомиться с Гитхабом модуля -
Пожалуйста, авторизуйтесь для просмотра ссылки.