繁体   English   中英

TypeError: Class extends value 命令不是构造函数或 null - node.js

[英]TypeError: Class extends value Command is not a constructor or null - node.js

我试图发出一个!warn命令,这样我就可以警告我服务器中的人,如果你有 2 个警告,你会得到一个静音等。

当我完成时,只剩下 1 个错误。 我尝试了很多东西,但我就是想不通,每一个帮助都会很棒。

完整错误:

 TypeError: Class extends value Command is not a constructor or null
   at Object.<anonymous> (/app/server.js:297:12)
   at Module._compile (internal/modules/cjs/loader.js:759:30)
   at Object.Module._extensions..js (internal/modules/cjs/loader.js:770:10)
   at Module.load (internal/modules/cjs/loader.js:628:32)
   at Function.Module._load (internal/modules/cjs/loader.js:555:12)
   at Function.Module.runMain (internal/modules/cjs/loader.js:826:10)
   at internal/main/run_main_module.js:17:11

代码:

const ms = require("ms");

class Warn extends ("Command") {
constructor(client) {
    super(client, {
        name: "warn",
        description: "Command om een gebruiker te waarschuwen",
        usage: "warn",
        category: "System",
        permLevel: "Moderator"
    });
}

async run(message, args) {
try {
    const warnedUser = message.guild.member(
        message.mentions.users.first() || message.guild.members.get(args[0])
    );
    if (!warnedUser) return message.channel.send("Deze gebruiker bestaat niet");

    const warnToAdd = 1;
    const warnToDel = 4;
    const reason = args.join(" ").slice(22);

    this.client.warns.ensure(`${warnedUser.id}`, {
        warnings: 0
    });

    let userWarnings = this.client.warns.get(`${warnedUser.id}`, "warnings");
    userWarnings += warnToAdd;

    this.client.warns.set(`${warnedUser.id}`, userWarnings, "warnings");

    message.delete();

    if (this.client.warns.get(`${warnedUser.id}`, "warnings") == 1) {
        message.channel.send(`${warnedUser}, eerste waarschuwing (reden: ${reason})`);
    } else if (this.client.warns.get(`${warnedUser.id}`, "warnings") == 2) {
        const muteRole = message.guild.roles.find(x => x.name === "muted");
        if (!muteRole) message.guild.createRole("name", "muted");
        message.channel.send(
            `${warnedUser}, tweede waarschuwing (reden: ${reason})`
        );
        const muteTime = "1h";
        await warnedUser.addRole(muteRole.id);
        message.channel.send(
            `${warnedUser} is gemuted voor ${muteTime} (reden: ${reason})`
        );

        setTimeout(function() {
            warnedUser.removeRole(muteRole.id);
            message.channel.send(`De gebruiker ${warnedUser} is niet meer gemuted!`);
        }, ms(muteTime));

        } else if (this.client.warns.get(`${warnedUser.id}`, "warnings") == 3) {
            message.channel.send(`${warnedUser}, derde waarschuwing (reden: ${reason})`);
            message.channel.send(`:warning: Pas op ${warnedUser}, bij 4 waarschuwingen krijg je een kick`);
        } else if (this.client.warns.get(`${warnedUser.id}`, "warnings") == 4) {
            message.channel.send(`${warnedUser}, vierde waarschuwing, veel plezier met je kick (reden: ${reason})`);
            warnedUser.kick(reason);
            userWarnings -= warnToDel;
        }
    } catch (e) {
        console.log(e);
    }
}
}

module.exports = Warn;

如果有人可以帮助我,那就太棒了。 还有一点让我很吃惊的是,当我把这段代码放到Visual Studio Code中时,并没有出现错误,但是当我把它放到glitch.com中时,却出现了这个错误。

它应该是class Warn extends Command ,而不是class Warn extends ("Command") 我认为,您尝试从 Discord.js Commando 扩展Command class。

您只能扩展类,不能扩展字符串。

此外,请确保在文件中导入 class:

const { Command } = require('discord.js-commando');
const ms = require("ms");

class Warn extends Command {
  constructor(client) {
    super(client, {
      name: "warn",
      ...

类型错误:Class 扩展值 #<object> 不是反应js中的构造函数或null<div id="text_translate"><p> 我试图超越一些主要反应按钮组件的 function,但是在扩展主要反应按钮组件 class 时出现此错误。 这是我的代码:</p><pre> import { Button } from "primereact/button"; class BtnBox extends Button { constructor(props) { super(props); this.renderLabel = this.renderLabel.bind(this); } renderLabel() { return &lt;span&gt;icon&lt;/span&gt;; } } class IconButton extends React.Component { render() { return ( &lt;div className="icon-button"&gt; &lt;BtnBox {...this.props} /&gt; &lt;/div&gt; ); } } export default IconButton;</pre></div></object>

[英]TypeError: Class extends value #<Object> is not a constructor or null in react js

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 TypeError: Class extends value undefined is not a constructor 或 null - Node.js JS:TypeError:Class 扩展值<classname>不是构造函数或 null</classname> 类型错误:Class 扩展值 #<object> 不是反应js中的构造函数或null<div id="text_translate"><p> 我试图超越一些主要反应按钮组件的 function,但是在扩展主要反应按钮组件 class 时出现此错误。 这是我的代码:</p><pre> import { Button } from "primereact/button"; class BtnBox extends Button { constructor(props) { super(props); this.renderLabel = this.renderLabel.bind(this); } renderLabel() { return &lt;span&gt;icon&lt;/span&gt;; } } class IconButton extends React.Component { render() { return ( &lt;div className="icon-button"&gt; &lt;BtnBox {...this.props} /&gt; &lt;/div&gt; ); } } export default IconButton;</pre></div></object> 类型错误:Class extends value undefined is not a constructor or null in react js 类型错误:Class 扩展值 #<basepage> 不是构造函数或 null</basepage> 类型错误:Class 扩展值 #<datarepository> 不是构造函数或 null</datarepository> TypeError: Class extends value undefined is not a constructor 或 null 类型错误:在 MVC 作业中运行节点种子时,Class 扩展值未定义不是构造函数或 null React Class 中的“TypeError: Class extends value undefined is not a constructor or null”问题 Nodemailer:未捕获类型错误:Class 扩展值未定义不是构造函数或 null
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM