discord.js UnhandledPromiseRejectionWarning:TypeError:无法读取未定义的属性“可踢”
Posted
技术标签:
【中文标题】discord.js UnhandledPromiseRejectionWarning:TypeError:无法读取未定义的属性“可踢”【英文标题】:discord.js UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'kickable' of undefined 【发布时间】:2020-07-22 07:16:49 【问题描述】:昨天我可以运行这个脚本。 今天我收到错误
(node:29568) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'kickable' of undefined
我正在运行版本“discord.js”:12.1.1 - 我希望有人能发现我在这里做错了什么......因为它让我发疯。
您可以在下面找到我的 kickuser.js - 脚本 + 我的 index.js 脚本 -> https://pastebin.com/7tLkuU5p
const Discord = require("discord.js");
module.exports.run = async (bot, message, args) =>
if (message.member.hasPermission("KICK_MEMBERS"))
if (!message.mentions.users) return message.reply('You must tag 1 user.');
else
const channel = message.guild.channels.cache.get(696692048543088691);
const member = message.mentions.members.first();
let reason = message.content.split(" ").slice(2).join(' ');
if (member.kickable == false) return message.channel.send("That user cannot be kicked!")
else
if (!reason) reason = (`No reason provided.`);
await member.send(`You have been kicked from **$message.guild.name** with the reason: **$reason**`)
.catch(err => message.channel.send(`⚠ Unable to contact **$member**.`));
await member.kick(reason);
const kickEmbed = new MessageEmbed()
.setAuthor(member.user.tag, member.user())
.setThumbnail(member.user.avatarURL())
.setColor("#ee0000")
.setTimestamp()
.addField("Kicked By", message.author.tag)
.addField("Reason", reason);
await channel.send(kickEmbed);
console.log(`$message.author.tag kicked $member.user.tag from '$message.guild.name' with the reason: '$reason'.`);
else
message.channel.send("You do not have permission to use kick.");
return;
module.exports.help =
name: "kickuser"
我希望有人可以帮助我。 提前致谢。
【问题讨论】:
【参考方案1】:message.mentions.users
总是评估为 true,因为它是一个对象,并且要检查消息是否有任何提及,您可以这样做:
if(!message.mentions.members.first()) return message.reply('You must tag 1 user.');
代替:
if(!message.mentions.users) ...
【讨论】:
踢用户原因(有效)踢用户没有理由(有效)但是当我不突出显示用户时,它会失败......然后我得到这个:(node:7948) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'send' of undefined
我猜问题可能出在你的第一个 if 语句中,我猜 message.mentions.users
总是评估为 true,因为它是一个对象,尝试使用 if(!message.mentions.members.first())
而不是 if(!message.mentions.users)
,因为如果 !message.mentions.members.first()
是检查消息是否有任何提及的另一个选项
感谢if (!message.mentions.members.first()) return message.reply('You must tag 1 user.');
已修复。谢谢!以上是关于discord.js UnhandledPromiseRejectionWarning:TypeError:无法读取未定义的属性“可踢”的主要内容,如果未能解决你的问题,请参考以下文章
Discord 错误错误 Discord.js 中的无效令牌
Discord 仅识别 discord.js 中的“ping”命令
错误“const Discord = require(discord.js) ^ ReferenceError: discord is not defined”
(Discord 机器人)当用户加入 Discord 服务器(discord.js)时,如何发送欢迎消息?