[英]Discord.js error = “message is not defined”
const Discord = require('discord.js');
exports.run = async (bot, message, args) => {
let userInfMent = message.guild.member(message.mentions.users.first() || message.guild.members.get(args[0]))
message.channel.send(userInfo(userInfMent));
}
function userInfo(user) {
const Discord = require('discord.js');
let userInfMent = message.guild.member(message.mentions.users.first() || message.guild.members.get(args[0]))
var userCreated = userInfMent.createdAt.toString().split(' ');
var lastMsg = userInfMent.lastMessage.createdAt.toString().split(' ')
const userInfoEmbed = new Discord.RichEmbed()
.addField('Никнейм: ', userInfMent.username)
.addField('Тег: ', userInfMent.tag)
.addField('ID: ', userInfMent.id)
.addField('Аккаунт был создан: ', userCreated[1] + ', ' + userCreated[2] + ', ' + userCreated[3])
.addField('Последнее сообщение: ', userInfMent.lastMessage + ' в ' + lastMsg[1] + ', ' + lastMsg[2] + ', ' + lastMsg[3] + ', ' + lastMsg[4])
.addField('Статус: ', userInfMent.presence.status)
.setColor('RANDOM')
.setThumbnail(userInfMent.avatarURL);
return userInfoEmbed
}
你好。 我是一个 Node.js 初学者。
当我启动命令时,在控制台中我看到错误:
(node:6312) UnhandledPromiseRejectionWarning: ReferenceError: message is not defined at userInfo (C:\\Users\\deris\\Desktop\\Проекты\\Node.js\\discord.js\\JSBot-master\\commands\\userinfo.js:10:23) Object.exports.run (C:\\Users\\deris\\Desktop\\Проекты\\Node.js\\discord.js\\JSBot-master\\commands\\userinfo.js:5:26)
message
仅在 message 事件本身中定义。 因此,您可以简单地将message
对象作为参数传递到您的函数中。
// new function
function userInfo(user, message) {
//code here
}
请记住,调用该函数时必须添加附加参数。
message.channel.send(userInfo(userInfMent, message));
Message 未定义,因为您没有将代码放在Message Event 中。
我刚刚在学习,发现了这个。
Message.channel.send 在函数内部不起作用。 该函数会将其作为变量读取。 由于尚未定义消息,我们绘制了错误。
在函数之外,该命令将再次正常工作。 我不确定这是当前构建的错误还是故意的。 但有你的修复
您在函数内部使用message.guild.member
并且没有定义导致问题的member
。 考虑将函数放在导出中
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.