Wassup人员.我正在处理一些管理命令.在这个时刻,这将是一个踢命令.但这只会带来错误.如果删除一行或更改任何内容,它将在其他地方感染代码.

这就是我正在努力解决的问题.

这是我的代码:

const { Client, Intents } = require("discord.js");
const discord = require("discord.js");
const { MessageEmbed, Collection, Permissions } = require("discord.js");

module.exports = {
    name: "kick",
    description: "Kicks a specific member",
    admin: true,
    usage: "[Target] [Reason] [Messages]",
    options: [
        {
            name: "Target",
            description: "Provide A User To Kick.",
            type: "USER",
            required: true,
        },
        {
            name: "Reason",
            description: "Provide A Reason For The Kick.",
            type: "STRING",
            required: true,
        },
    ],

    async execute(message, args, client) {
        const target = message.mentions.members.first();
        const reason = args.slice(1, args.length - 1).join(" ");

        console.log("Target: ");

        const embed = new MessageEmbed().setTitle("There seems to be a error to execute this command").setColor("RED").setDescription("Are you sure you got the right permission? And are you providing a reason?");

        if (!message.member.permissions.has(Permissions.FLAGS.KICK_MEMBERS))
            return message.reply({ embeds: [embed] }).catch((err) => {
                console.log(err);
            });

        if (target.id === message.member.id)
            return message.reply({
                embeds: [new MessageEmbed().setTitle("There seems to be a error to execute this command").setColor("RED").setDescription("Why would you kick yourself?")],
                ephemeral: true,
            });

        if (target.permissions.has(Permissions.FLAGS.KICK_MEMBERS)) {
            return message.reply({
                embeds: [new MessageEmbed().setColor("RED").setDescription("You can't kick this person.")],
            });
        }

        const DMEmbed = new MessageEmbed().setTitle(`You've Been Kicked From ${message.guild.name}`).setColor("RED").setTimestamp().addFields(
            {
                name: "Reason:",
                value: reason,
            },
            {
                name: "Kicked By:",
                value: message.member.user.toString(),
            }
        );

        await target
            .send({
                embeds: [DMEmbed],
            })
            .catch((err) => {
                console.log(err);
            });
    },
};

推荐答案

从我所看到的情况来看,很可能是reason字段为空.

您可以将其更改为此,以确保有回退!

            {
                name: "Reason:",
                value: reason.replace(/\s/g, '') == "" ? "Not Provided" : reason,
            },

Javascript相关问答推荐

如何在不分配整个数组的情况下修改包含数组的行为主体?

按下同意按钮与 puppeteer 师

在网页上添加谷歌亵渎词

google docs boldText直到按行执行应用脚本错误

函数返回与输入对象具有相同键的对象

切换时排序对象数组,切换不起作用

空的结果抓取网站与Fetch和Cheerio

rxjs插入延迟数据

Use Location位置成员在HashRouter内为空

使用带有HostBinding的Angular 信号来更新样式?

VSCode中出现随机行

Nextjs 13.4 Next-Auth 4.2登录(&Quot;凭据&,{});不工作

在JavaScript中将Base64转换为JSON

将延迟加载的模块转换为Eager 加载的模块

更新文本区域行号

无法向甜甜圈图表上的ChartJSImage添加可见标签

Rails 7:在不使用导入映射的情况下导入Java脚本

如何在Java脚本中添加一个可以在另一个面板中垂直调整大小的面板?

Select 所有输入.值

我正在为我的单选按钮在HTML中设置一个值.使用Java脚本,我如何才能获得该值?