-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathcmds.js
More file actions
168 lines (165 loc) · 6.77 KB
/
cmds.js
File metadata and controls
168 lines (165 loc) · 6.77 KB
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
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
const conf = require('./config.json')
const { EmbedBuilder, PermissionsBitField } = require('discord.js')
const prefix = conf.prefix
var t = 0
//=====WhiteList====
function sendCmd(cmd,type,msg){
const time = new Date()
const Rcon = require('rcon')
const o = {tcp:true,challenge:false}
const conn = new Rcon(conf.RCon.IP, conf.RCon.Port, conf.RCon.Password, o)
conn.on('auth', function(){
console.log('\x1b[1m\x1b[33m'+time+' \x1b[37m| \x1b[32mINFO \x1b[37m| \x1b[36mАвторизовался в RCon.\x1b[0m')
console.log('\x1b[1m\x1b[33m'+time+' \x1b[37m| \x1b[32mINFO \x1b[37m| \x1b[36mВыполняется команда > \x1b[33m'+cmd+'\x1b[0m')
conn.send(cmd)
}).on('response', function(str){
if(type == '0'){
console.log('\x1b[1m\x1b[33m'+time+' \x1b[37m| \x1b[32mINFO \x1b[37m| \x1b[36mЧерез Discord выполнена команда | ответ > \x1b[33m'+str+'\x1b[0m')
msg.channel.send({
content: '**Response:**\n```'+str+'```',
})
}
else{
console.log('\x1b[1m\x1b[33m'+time+' \x1b[37m| \x1b[32mINFO \x1b[37m| \x1b[36mОтвет > \x1b[33m'+str+'\x1b[0m')
}
conn.disconnect()
}).on('error', function(err){
console.log('\x1b[1m\x1b[33m'+time+' \x1b[37m| \x1b[31mERROR \x1b[37m| \x1b[36mПроизошла Ошибка > \x1b[31m'+err+'\x1b[0m')
}).on('end', function(){
console.log('\x1b[1m\x1b[33m'+time+' \x1b[37m| \x1b[32mINFO \x1b[37m| \x1b[36mСоединение закрыто.\x1b[0m')
})
conn.connect()
}
function wladd(client, msg){
const arggs = msg.content.split(' ').slice(1)
const nickname = arggs.join(' ')
if (msg.member.permissions.has(PermissionsBitField.Flags.Administrator) || msg.member.roles.cache.has(client.db.get(conf.guildId))){
var cmd = conf.WhiteList.addCommand.replaceAll('$user',nickname)
sendCmd(cmd,'1',msg)
msg.channel.send({
content: '**Игрок с ником "'+nickname+'" успешно добавлен в вайтлист!**',
})
console.log('\x1b[1m\x1b[33m'+time+' \x1b[37m| \x1b[32mINFO \x1b[37m| \x1b[36mИгрок \x1b[33m'+nickname+' \x1b[36mбыл добавлен в вайтлист!\x1b[0m')
}
else{
msg.channel.send({content: '**У вас нет прав на выполнение команды!**',})
}
}
function wlrem(client, msg){
const arggs = msg.content.split(' ').slice(1)
const nickname = arggs.join(' ')
if (msg.member.permissions.has(PermissionsBitField.Flags.Administrator) || msg.member.roles.cache.has(client.db.get(conf.guildId))){
var cmd = conf.WhiteList.remCommand.replaceAll('$user',nickname)
sendCmd(cmd,'1',msg)
console.log('\x1b[1m\x1b[33m'+time+' \x1b[37m| \x1b[32mINFO \x1b[37m| \x1b[36mИгрок \x1b[33m'+nickname+' \x1b[36mбыл удалён из вайтлиста!\x1b[0m')
msg.channel.send({
content: '**Игрок с ником "'+nickname+'" успешно удалён из вайтлиста!**',
})
}
else{
msg.channel.send({content: '**У вас нет прав на выполнение команды!**',})
}
}
//=====BANS====
function wlban(client, msg){
const arggs = msg.content.split(' ').slice(1)
const nickname = arggs.join(' ')
if (!nickname || !msg.member.permissions.has(PermissionsBitField.Flags.Administrator)) return msg.channel.send({content: '**У вас нет прав на выполнение команды, либо вы допустили ошибку!**',})
else{
var cmd = conf.WhiteList.banCommand.replaceAll('$user',nickname)
sendCmd(cmd,'1',msg)
msg.channel.send({
content: '**Игрок с ником "'+nickname+'" успешно забанен!**',
})
console.log('\x1b[1m\x1b[33m'+time+' \x1b[37m| \x1b[32mINFO \x1b[37m| \x1b[36mИгрок \x1b[33m'+nickname+' \x1b[36mбыл забанен!\x1b[0m')
}
}
function wlunban(client, msg){
const arggs = msg.content.split(' ').slice(1)
const nickname = arggs.join(' ')
if (!nickname || !msg.member.permissions.has(PermissionsBitField.Flags.Administrator)) return msg.channel.send({content: '**У вас нет прав на выполнение команды, либо вы допустили ошибку!**',})
else{
var cmd = conf.WhiteList.unbanCommand.replaceAll('$user',nickname)
sendCmd(cmd,'1',msg)
msg.channel.send({
content: '**Игрок с ником "'+nickname+'" успешно разбанен!**',
})
console.log('\x1b[1m\x1b[33m'+time+' \x1b[37m| \x1b[32mINFO \x1b[37m| \x1b[36mИгрок \x1b[33m'+nickname+' \x1b[36mбыл разбанен!\x1b[0m')
}
}
function wlcmd(client, msg){
const arggs = msg.content.split(' ').slice(1)
const cmd = arggs.join(' ')
if (!cmd || !msg.member.permissions.has(PermissionsBitField.Flags.Administrator)) return msg.channel.send({content: '**У вас нет прав на выполнение команды, либо вы допустили ошибку!**',})
else{
sendCmd(cmd,'0',msg)
msg.channel.send({
content: '**Команда "'+cmd+'" выполнена на сервере!**',
})
}
}
function wlhelp(client, msg){
if (msg.member.permissions.has(PermissionsBitField.Flags.Administrator) || msg.member.roles.cache.has(client.db.get(conf.guildId))){
const embed = new EmbedBuilder()
.setColor('#00ffe1')
.setAuthor(
{
name: 'MineServ WhiteList'
})
.setDescription('**Помощь по командам бота**')
.setThumbnail(conf.thumbImage)
.addFields(
{ name: '**Префикс бота:**', value: '`'+prefix+'`'},
{ name: '**wlhelp:**', value: '`Информация о командах бота.`'},
{ name: '**wlcmd:**', value: '`Выполнить на сервере команду.`'},
{ name: '**wladd:**', value: '`Добавить игрока в ВЛ.`'},
{ name: '**wlrem:**', value: '`Удалить игрока из ВЛ.`'},
{ name: '**wlban:**', value: '`Забанить игрока на игровом сервере.`'},
{ name: '**wlunban:**', value: '`Разбанить игрока на игровом сервере.`'},
)
.setFooter(
{
text: conf.footerText
})
msg.channel.send(
{
embeds: [embed]
}
)
}
else{
msg.channel.send({content: '**У вас нет прав на выполнение команды!**',})
}
}
var comms_list = [
{
name: "wladd",
out: wladd,
about: "добавить в вайтлист"
},
{
name: "wlrem",
out: wlrem,
about: "удалить из вайтлиста"
},
{
name: "wlban",
out: wlban,
about: "забанить игрока"
},
{
name: "wlunban",
out: wlunban,
about: "разбанить игрока"
},
{
name: "wlhelp",
out: wlhelp,
about: "Хелп"
},
{
name: "wlcmd",
out: wlcmd,
about: "выполнить команду"
}];
module.exports.comms = comms_list