繁体   English   中英

Discord.js 错误 =“消息未定义”

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM