Хочу создать своего бота на свой сервер (только лишь на свой сервер) и совместить в нем много функций.. Так вот, решил заняться администрированием и написал такой код для команды warn
const Discord = module.require("discord.js");
const fs = require("fs");
let profile = require("../profile.json")
module.exports.run = async (client,message,args) => {
try{
function send(msg){
message.channel.send(msg);
}
if(!message.member.hasPermissions("KICK_MEMBERS")) return message.channel.send("Не хвататет прав.");
let rUser = message.guild.member(message.mentions.users.first() || message.guild.members.get(args[0]));
if(!args[0]) return send("Вы не указали пользователя.")
if(!rUser) return send("Пользователь не найден.");
profile[rUser.id].warns++;
fs.writeFile('./profile.json',JSON.stringify(profile),(err=>{
if(err) console.log(err);
}));
if(profile[rUser.id],warns >=3){
message.guild.member(rUser).kick("3/3 Предупреждений.");
}
let embed = new Discord.MessageEmbed()
.setDescription("Предупреждение.")
.addField("Администратор",message.author.username)
.addField("Выдал предупреждение",`${rUser.user.username}`)
.addField("Количество предупреждений",`${profile[rUser.id].warns}/3`);
message.channel.send(embed);
}catch(err) {
console.log(`1.${err.name}\n2.${err.message}\n3.${err.stack}`);
}
};
module.exports.help = {
name: "warn"
}
Пытался еще вот так, хоть и не сильно по-другому. И так, кстати, работала команда, но только без указания пользователя.
client.on("message", async (message) => {
if (message.content.startsWith(">warn")) {
let victim = message.mentions.users.first();
if (!victim) return message.reply("укажите пользователя!");
let embed = new Discord.MessageEmbed()
.setTitle("Предупреждение")
.setDescription(`${victim} предупредил ${message.author}!`)
.setColor("GREEN")
.setFooter(`Администратор : ${message.author.username}`)
.setTimestamp();
message.channel.send(embed);
}
});