TypeError:builder_.message不是函数[但没有函数被称为

时间:2019-08-09 15:30:46

标签: node.js discord.js

大多数功能都可以正常工作,但是此代码基于其余命令,是唯一输出仍然有效的错误消息的代码。

const { MessageEmbed } = require('discord.js');
const { CordCommand } = require('cordclient');
const resolveMember = require('../../util/resolveMember');
module.exports = class extends CordCommand {
    constructor(client) {
        super(client, {
            name: "ban",
            desc: "Bans a mentioned member in the server!",
            usage: "<@member> <reason>",
            group: "moderation",
            botPerms: ["BAN_MEMBERS"],
            userPerms: ["BAN_MEMBERS"],
            guildBound: true
        });
    };

    async run(message, args, client) {
        message.delete().catch(()=>{});
        if (!(args[0] && args[1])) return this.send("Please provide a Target, 
    and a Reason.", 10000)

        const target = resolveMember(args[0], message.guild.members);
        if (!target) return this.send("You didn't provide a valid target!", 
    10000)

        if ((message.member.roles.highest.position <= 
    target.roles.highest.position) && message.guild.owner.id !== 
    message.author.id) return this.send("You can't target a member with the 
    same role as, or a role above you.");
        if (!target.bannable) return this.send("I don't have permission to 
    ban that Member.", 10000)

        const reason = args.slice(1).join(" ");

        const banEmbed = new MessageEmbed()
            .setColor("RED")
            .setDescription(`**Punished By:** ${message.author.tag} 
    (${message.author.id})\n`+
                            `**Punished User:** ${target.user.tag} 
    (${target.user.id})\n`+
                            `**Reason:** ${reason}`).setTimestamp();

        return target.ban({ days: 7, reason })
            .then(async () => {
                const case_ = await client.newCase("Ban", target, 
    message.member, reason);
                banEmbed.setAuthor(`Moderation: Ban [Case ID: 
    ${case_.caseId}]`, target.user.displayAvatarURL)
                const guild = await client.getGuild(message.guild.id);
                guild.logchannel === "0" ? false : 
    message.guild.channels.get(guild.logchannel).send(banEmbed);
                return this.send("Successfully Banned that member.", 10000)
            }).catch(e => {
                console.log(e);
                return this.send("An Error Ocurred when attempting to Ban 
    that User!", 10000)
            });

    };
};

显示的错误消息是

  

TypeError:builder_.message不是函数

但是从代码中可以看出,没有'builder._message'函数可以阻止这种情况。

0 个答案:

没有答案