-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.js
101 lines (88 loc) · 3.22 KB
/
index.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
const Discord = require('discord.js');
const umutmta = require('gamedig');
const umutconfig = require('./config.json');
const umutbot = new Discord.Client({
intents: [Discord.Intents.FLAGS.GUILDS]
});
const {
SlashCommandBuilder
} = require('@discordjs/builders');
const {
REST
} = require('@discordjs/rest');
const {
Routes
} = require('discord-api-types/v9');
const {
config
} = require('process');
const {
channel
} = require('diagnostics_channel');
const commands = [
new SlashCommandBuilder().setName('sunucu').setDescription('Sunucu istatistiğini gönderir'),
]
.map(command => command.toJSON());
const rest = new REST({
version: '9'
}).setToken(umutconfig.token);
umutbot.once('ready', () => {
console.log(`Girdi: ${umutbot.user.tag}`);
setInterval(() => {
umutmta.query({
type: 'mtasa',
host: umutconfig.server_ip,
port: umutconfig.server_port
}).then((state) => {
umutbot.channels.cache.get(umutconfig.playerChannel).setName(`Oyuncular: ${state.raw.numplayers}/${state.maxplayers}`) // Kanal ile oyuncuları gösterme.
umutbot.user.setActivity(`Oyuncular: ${state.raw.numplayers}/${state.maxplayers}`);
console.log("Oynuyor ve oyuncular kanalı güncellendi."); // Başına // ekleyerek durdurabilirsiniz, ya da direk silebilirsiniz.
}).catch(err => {
console.log(err);
});
}, 25000);
(async () => {
try {
await rest.put(
Routes.applicationGuildCommands(umutbot.user.id, umutconfig.guildId), {
body: commands
},
);
console.log('Uygulama komutları başarıyla kuruldu.');
} catch (error) {
console.error(error);
}
})();
});
umutbot.on('interactionCreate', async umutmsg => {
if (!umutmsg.isCommand()) return;
const {
commandName
} = umutmsg;
if (commandName === 'sunucu') {
umutmta.query({
type: 'mtasa',
host: umutconfig.server_ip,
port: umutconfig.server_port
}).then(async (state) => {
console.log(state)
var umutembed = new Discord.MessageEmbed()
.setTitle(state.name)
.setColor(`BLUE`)
.addField(`Harita:`, `${state.map ? state.map : "Bulunamadı"}`, true)
.addField(`Oyun tipi:`, `${state.raw.gametype ? state.raw.gametype : "Bulunamadı"}`, true)
.addField(`Geliştirici:`, `${state.raw.Developer || "Bulunamadı"}`, true)
.addField(`Oyuncular:`, `${state.raw.numplayers || "0"}/${state.maxplayers}`, true)
.addField(`Ping:`, `${state.ping}ms`, true)
.addField(`IP:`, `${state.connect}`, true)
.setTimestamp()
.setFooter(`${umutmsg.member.user.tag} tarafından istendi`, umutmsg.member.user.avatarURL());
await umutmsg.reply({
embeds: [umutembed]
});
}).catch(err => {
console.log(err);
});
}
});
umutbot.login(umutconfig.token);