【问题标题】:(node:7528) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'ensure' of undefined(节点:7528)UnhandledPromiseRejectionWarning:TypeError:无法读取未定义的属性“确保”
【发布时间】:2019-12-15 09:06:22
【问题描述】:

我正在尝试设置一个警告命令,该命令将基于每个服务器的警告信息推送到我的数据库。但是……它不喜欢这个主意


module.exports.run = async(client, message, args) => {


  const Discord = require('discord.js')
  if(!message.member.roles.find(r => r.name === 'moderator')) return message.channel.send(`You do not have the power to control meh! ||(need a role named "moderator") for testing purposes||`)
  let user = message.mentions.users.first()
  if(!user) return message.channel.send('Who do you want to warn?')
  let reason = args.slice(1).join(' ')
  if(!reason) return message.channel.send('Why is this person being warned?')
  const key = user.id

  user.warns.ensure(key, [])
  user.warns.push(key, { reason: reason, moderator: message.author.id, caseNum: user.warns.size + 1 ,date: new Date() })
  let warnedEmbed = new Discord.RichEmbed()
    .setTitle('L\'user' + user.tag + 'has been warned!')
    .addField('Reason being', reason)
  const cm = await message.channel.send(warnedEmbed)
  cm.delete(5000)
}

【问题讨论】:

    标签: javascript discord.js


    【解决方案1】:

    错误似乎是由这个字符串 user.warns.ensure(key, []) 触发的,其中用户的 warns 字段未定义。尝试在 user.warns.ensure(key, []) 之前添加此字符串

    console.log(user.warns)
    

    查看用户对象中是否存在警告对象。

    如果它不存在,您需要定义警告。 既然有函数.ensure(key, []),它的结构可能更复杂

    【讨论】:

    • 抱歉回复晚了,还是和以前一样的错误。
    • 哦,我没看错xD对不起。泰为此!有效! ^^'
    猜你喜欢
    • 2021-10-10
    • 2020-08-18
    • 2020-12-11
    • 1970-01-01
    • 2021-08-31
    • 2021-09-01
    • 2021-07-05
    • 1970-01-01
    • 2020-12-27
    相关资源
    最近更新 更多