【问题标题】:Waiting for the dTypeError [ERR_INVALID_ARG_TYPE]: The "id" argument must be of type string. Received undefined等待 dTypeError [ERR_INVALID_ARG_TYPE]:“id”参数必须是字符串类型。收到未定义
【发布时间】:2020-08-10 21:38:15
【问题描述】:

我正在使用discord.js v12.2.0 库编写一个不和谐的机器人,我收到了这个错误:

等待 dTypeError [ERR_INVALID_ARG_TYPE]:“id”参数必须是字符串类型。收到未定义

这是我的代码:

const { MessageEmbed } = require("discord.js");
const { VultrexDB } = require("vultrex.db");
const messageData = new VultrexDB({
    name: "messages"
})

module.exports.run = (client, message, args) => {
    const member = message.mentions.members.first() || message.guild.members.cache.get(args[0]) || message.member;
    const messages = messageData.get(`${message.guild.id}-${member.id}`, 0);

    message.chanel.send(new MessageEmbed()
        .setColor("E67E22")
        .setAuthor(`Data | ${member.user.username}`, member.user.displayAvatarURL())
        .addField("Messages Sent:", messages, true)
    );
}

module.exports.help = {
    name: "messages",
    description: "view the amount of messages sent by a member"
}

module.exports.requirements = {
    clientPerms: ["EMBED_LINKS"],
    userPerms: [],
    ownerOnly: false
}

【问题讨论】:

    标签: javascript bots discord discord.js


    【解决方案1】:

    你应该学习调试,尤其是因为这个错误实际上告诉你答案。有没有告诉你是哪条线?如果是这样,那是您的答案,但如果没有:

    1. 告诉你参数无效,这意味着你调用了一个函数(包括一个新类),而你传入的参数无效
    2. 参数未定义

    new VultrexDB, message.mentions.members.first, message.mentions.members.cache.get, messageData.get, new MessageEmbed, setColorsetAuthoraddField

    你可以排除MessageEmbed andmessage.mentions.members.firstsince they don't require any arguments,setColor,setAuthor, andaddField`都在给出论据

    留下new VultrexDBmessage.mentions.members.cache.getmessageData.get

    对于message.mentions.members.cache.get,它只需要一个参数,id,然后你通过args[0] 传递它,所以要检查这是否是问题,只需检查你是否有参数

    对于 new VultrexDBmessageData.get,它们是基于 VultrexDB 的并且是 idk,所以只要查看指南或文档(如果有的话)。

    【讨论】:

      猜你喜欢
      • 2022-01-12
      • 2021-09-08
      • 2020-12-30
      • 2020-09-21
      • 2019-12-14
      • 1970-01-01
      • 2020-09-16
      • 2021-12-12
      相关资源
      最近更新 更多