@Jason_Kings

Не совсем работает /kick, что делать?

Здравствуйте. Написал я команду /kick по видео гайду, команда сама работает, но вот логирование действий данной команды работает немного криво. Выглядит это примерно как-то так:
5ebbb8fb0e23f768412155.png

Прилагаю сам код кика:
spoiler

}
                if (message.content.startsWith(`/kick`)) {
                    const args = message.content.slice(`/kick`).split(/ +/);
                    let kUser = message.guild.member(message.mentions.users.first() || message.guild.members.get(args[1]));
                    if (!args[1]) {
                    message.channel.send(`\`[ОШИБКА!!!] :\` <@${message.author.id}> \`использовать: /kick [NICKNAME] [ПРИЧИНА]\``).then(msg => msg.delete(10000));
                    return message.delete();
                }
                if (!args[2]) {
                    message.channel.send(`**${message.author}, использовать: /kick [NICKNAME] [ПРИЧИНА]**`).then(msg => msg.delete(10000));
                    return message.delete();
                }
                let kReason = args.join(" ").slice(2);
                if(!message.member.hasPermission("MANAGE_MESSAGES")) return message.channel.send("[ОШИБКА] Недостаточно прав для использования данной команды!")
                if(kUser.hasPermission("MANAGE_MESSAGES")) return message.channel.send("[ОШИБКА] Данного пользователя нельзя кикнуть!");

                let kickEmbed = new Discord.RichEmbed()
                .setDescription("~kick~")
                .setColor("#fc7f03")
                .addField("Kicked user", `${kUser} with ID ${kUser.id}`)
                .addField("Kicked by", `<@${message.author.id}> with ID ${message.author.id}`)
                .addField("Kicked in", message.channel)
                .addField("Time", message.createdAt)
                .addField("Reason", kReason);

                let kickChannel = message.guild.channels.find(`name`, "moderation-log");
                if(!kickChannel) return message.channel.send("Канал для отправки сообщения не обнаружен.");

                
                message.guild.member(kUser).kick(kReason);
                kickChannel.send(kickEmbed);


                return;
                }
});

  • Вопрос задан
  • 297 просмотров
Решения вопроса 1
@weRifiCatoR
Начинающий программист
Попробуй эту команду

@client.command()

async def kick(ctx, member: discord.Member, *, reason = None, amount=1 ):
    await ctx.channel.purge( limit=int(amount ) )

    await member.kick( reason = reason )
    await ctx.send( f'kick user { member.mention }' )
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@deMAksii
ну вот тебе код новый const Discord = module.require("discord.js");
const fs = require("fs");
let profile = require("../profile.json");
module.exports.run = async (bot,message,args) => {
try{

if(!message.member.hasPermission("KICK_MEMBERS")) return message.channel.send("У вас нет прав");
let rUser = bot.rUser;
if(!args[0]) return bot.send("Вы не указали пользователя");
if(!rUser) return bot.send("Пользователь не найден");
let embed = new Discord.RichEmbed()
.setDescription("Кик")
.setColor('#e22216')
.addField("Администратор",message.author.username)
.addField("Кикнул",`${rUser.user.username}`);

message.guild.member(rUser).kick("123");
message.channel.send(embed);
}catch(err){
console.log(`1.${err.name}\n2.${err.message}\n3.${err.stack}`);
}

};
module.exports.help = {
name: "kick"
};
и у тебя нифига не криво
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы