I’ve made a kick command for my bot, everything works fine but everyone can use it. I want that only people who have perms to use this command. Is there any solution to fix this problem? This is my code:
JavaScript
x
57
57
1
const Discord = require('discord.js');
2
const prefix = require('../config.json');
3
4
module.exports = {
5
name: 'kick',
6
description: 'kick',
7
aliases: ['kick'],
8
execute: async (client, message, args) => {
9
10
11
if (message.content.startsWith('m!kick')) {
12
message.channel.send(embed);
13
const user = message.mentions.users.first();
14
if (user) {
15
const member = message.guild.members.resolve(user);
16
if (member) {
17
member
18
.kick({
19
reason: 'They were bad!',
20
})
21
.then(() => {
22
const embed = new Discord.MessageEmbed()
23
.setColor('GREEN')
24
.setTitle(`**Successfully kicked ${user.tag}.**`,)
25
.setFooter(`This feature is still in beta, so there can be issues.`)
26
27
message.channel.send(embed);
28
})
29
.catch(err => {
30
const embed = new Discord.MessageEmbed()
31
.setColor('RED')
32
.setTitle(`**I can't kick this member!**`,)
33
.setFooter(`This feature is still in beta, so there can be issues.`)
34
35
message.channel.send(embed);
36
console.error(err);
37
});
38
} else {
39
const embed = new Discord.MessageEmbed()
40
.setColor('RED')
41
.setTitle(`**There is no user with this username in this server!**`,)
42
.setFooter(`This feature is still in beta, so there can be issues.`)
43
44
message.channel.send(embed);
45
}
46
} else {
47
const embed = new Discord.MessageEmbed()
48
.setColor('RED')
49
.setTitle(`**Please mention someone.**`,)
50
.setFooter(`This feature is still in beta, so there can be issues.`)
51
52
message.channel.send(embed);
53
}
54
}
55
}
56
}
57
Please help me! Thank you!
Advertisement
Answer
Use:
JavaScript
1
7
1
if (!message.member.hasPermission('KICK_MEMBERS')) {
2
const embed = new MessageEmbed
3
embed.setTitle("You don't have the `kick_members` permission!")
4
embed.setColor("RED")
5
return message.channel.send(embed)
6
}
7