Discord.js error =“消息未定义”

时间:2018-05-13 17:46:19

标签: javascript node.js discord discord.js

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)

4 个答案:

答案 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。考虑将函数放在导出中