首页 > 解决方案 > 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 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)

标签: javascriptnode.jsdiscorddiscord.js

解决方案


message仅在消息事件本身中定义。因此,您可以简单地将message对象作为参数传递给您的函数。

// new function 
function userInfo(user, message) {
    //code here
}

请记住,调用函数时必须添加附加参数。

message.channel.send(userInfo(userInfMent, message));

推荐阅读