@Vivitka

Как создать команду warn?

Хочу создать своего бота на свой сервер (только лишь на свой сервер) и совместить в нем много функций.. Так вот, решил заняться администрированием и написал такой код для команды 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);
  }
});
  • Вопрос задан
  • 666 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы