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 没有定义 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)
答案 0 :(得分:1)
message
仅在消息事件本身中定义。因此,您只需将message
对象作为参数传递给函数。
// new function
function userInfo(user, message) {
//code here
}
请记住,在调用函数时,您必须添加其他参数。
message.channel.send(userInfo(userInfMent, message));
答案 1 :(得分:0)
未定义消息,因为您未将代码放在Message Event中。
答案 2 :(得分:0)
我刚刚学习,发现了这一点。
Message.channel.send在函数内部不起作用。该函数将其读取为变量。而且由于尚未定义消息,因此我们会绘制错误。
该功能之外的命令将再次正常运行。我不确定这是当前版本还是故意的错误。但是有解决办法
答案 3 :(得分:0)
您在函数内部使用 message.guild.member
而没有定义导致问题的 member
。考虑将函数放在导出中