/
version.js
114 lines (98 loc) · 6.47 KB
/
version.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
const Discord = require('discord.js'),
util = require('axios'),
warn = require('chalk').keyword('yellow').bold,
fs = require('fs'),
{ commands } = require(fs.existsSync(__dirname + '/../dev-config.js') ? '../dev-config' : '../config');
module.exports.config = {
name: "version", //Name of command - RENAME THE FILE TOO!!!
description: "Sends the Minecraft version of server", //Description of command - you can change it :)
aliases: commands.version.aliases //Command's aliases - set them in config.js
};
module.exports.run = async (bot, message, args) => {
let { server, config } = bot,
text = commands.version.text,
icon = server.icon ? server.icon : message.guild.iconURL(),
warns = config.settings.warns,
settings = config.settings,
{ removeVersion } = require('../functions');
if (!server.work) return;
if (server.type === 'java') {
try {
const response = await util.get(`https://api.mcstatus.io/v2/status/java/${server.ip}:${server.port}`);
if (!response.data.online) throw new Error(`Server ${server.ip}:${server.port} was not found!`);
var versionOriginal = response.data.version.name_clean;
} catch (e) {
if (warns) console.log(`${bot.emotes.warn} ` + warn(`Couldn't get version from server! Getting it from config..`));
var versionOriginal = config.server.version;
};
let versionAdvanced = false;
if (settings.removeServerType) versionAdvanced = removeVersion(versionOriginal);
const version = versionAdvanced ? versionAdvanced.charAt(0).toUpperCase() + versionAdvanced.slice(1) : versionOriginal;
if (text.title === "" || text.description === "") {
const versionEmbed = new Discord.EmbedBuilder()
.setAuthor({ name: config.server.name ? config.server.name : message.guild.name, iconURL: icon })
.setTitle("Minecraft version:")
.setDescription(`**${version}**`)
.setColor(config.embeds.color);
message.channel.send({ embeds: [versionEmbed] });
} else {
text.title = text.title.replaceAll('{serverIp}', server.ip);
text.title = text.title.replaceAll('{serverPort}', server.port);
text.title = text.title.replaceAll('{serverName}', config.server.name ? config.server.name : message.guild.name);
text.title = text.title.replaceAll('{voteLink}', config.server.vote);
text.title = text.title.replaceAll('{serverVersion}', version);
text.title = text.title.replaceAll('{serverType}', config.server.type.charAt(0).toUpperCase() + config.server.type.slice(1));
text.description = text.description.replaceAll('{serverIp}', server.ip);
text.description = text.description.replaceAll('{serverPort}', server.port);
text.description = text.description.replaceAll('{serverName}', config.server.name ? config.server.name : message.guild.name);
text.description = text.description.replaceAll('{voteLink}', config.server.vote);
text.description = text.description.replaceAll('{serverVersion}', version);
text.description = text.description.replaceAll('{serverType}', config.server.type.charAt(0).toUpperCase() + config.server.type.slice(1));
const versionEmbed = new Discord.EmbedBuilder()
.setAuthor({ name: config.server.name ? config.server.name : message.guild.name, iconURL: icon })
.setTitle(text.title)
.setDescription(text.description)
.setColor(config.embeds.color);
message.channel.send({ embeds: [versionEmbed] });
}
} else {
try {
const response = await util.get(`https://api.mcstatus.io/v2/status/bedrock/${server.ip}:${server.port}`);
if (!response.data.online) throw new Error(`Server ${server.ip}:${server.port} was not found!`);
var versionOriginal = response.data.version.name_clean;
} catch (e) {
if (warns) console.log(`${bot.emotes.warn} ` + warn(`Couldn't get version from server! Getting it from config..`));
var versionOriginal = config.server.version;
}
let versionAdvanced = false;
if (settings.removeServerType) versionAdvanced = removeVersion(versionOriginal);
const version = versionAdvanced ? versionAdvanced.charAt(0).toUpperCase() + versionAdvanced.slice(1) : versionOriginal;
if (text.title === "" || text.description === "") {
const versionEmbed = new Discord.EmbedBuilder()
.setAuthor({ name: config.server.name ? config.server.name : message.guild.name, iconURL: icon })
.setTitle("Minecraft version:")
.setDescription(`**${version}**`)
.setColor(config.embeds.color);
message.channel.send({ embeds: [versionEmbed] });
} else {
text.title = text.title.replaceAll('{serverIp}', server.ip);
text.title = text.title.replaceAll('{serverPort}', server.port);
text.title = text.title.replaceAll('{serverName}', config.server.name ? config.server.name : message.guild.name);
text.title = text.title.replaceAll('{voteLink}', config.server.vote);
text.title = text.title.replaceAll('{serverVersion}', version);
text.title = text.title.replaceAll('{serverType}', config.server.type.charAt(0).toUpperCase() + config.server.type.slice(1));
text.description = text.description.replaceAll('{serverIp}', server.ip);
text.description = text.description.replaceAll('{serverPort}', server.port);
text.description = text.description.replaceAll('{serverName}', config.server.name ? config.server.name : message.guild.name);
text.description = text.description.replaceAll('{voteLink}', config.server.vote);
text.description = text.description.replaceAll('{serverVersion}', version);
text.description = text.description.replaceAll('{serverType}', config.server.type.charAt(0).toUpperCase() + config.server.type.slice(1));
const versionEmbed = new Discord.EmbedBuilder()
.setAuthor({ name: config.server.name ? config.server.name : message.guild.name, iconURL: icon })
.setTitle(text.title)
.setDescription(text.description)
.setColor(config.embeds.color);
message.channel.send({ embeds: [versionEmbed] });
}
}
};