我的提及不起作用,只是发送未定义

时间:2019-06-18 11:45:01

标签: discord.js

如何标记某人,在频道上发送消息“ Hello xd undefined”。帮帮我

const Discord = require('discord.js');
module.exports = {
    help: { name: "command" },
    run: (bot, message, args) => {
        if(!message.mentions.users) {
            return message.channel.send("bad, mention member!``")
        }
        bot.channels.get("587994214906724362").send("hello xd " + message.mentions.users.first() + ".")
    },
}

3 个答案:

答案 0 :(得分:1)

根据Discord.js docsMessageMentions.users将始终返回Collection。这意味着您的if语句始终返回false,因为message.mentions.users实际上是在没有提及用户的情况下定义的。

请检查集合中是否有任何元素,而不是检查message.mentions.users是否为假。

if (message.mentions.users.size === 0) return; // Or return your error message.

答案 1 :(得分:0)

显然,discord.js将用户对象解释为提及。你应该有这个:

message.author.toString()

代替:

message.mentions.users.first()

我希望我有所帮助:)

参考: How to tag users?

答案 2 :(得分:0)

尝试使用message.mentions.members.first().displayNamemessage.mentions.users.first().displayName代替message.mentions.users.first()