(Discord.js)如何标记机器人本身

时间:2019-12-03 17:38:28

标签: node.js discord discord.js

好的,嘿。

我也试图在Discord.js中ping /标记机器人本身。 所以当用户在命令中对机器人进行ping操作时,我定义了我自己。 那就是我到目前为止所拥有的:

   async run(message, args) 
    {
        let huggeduser = message.mentions.users.first()
        let auser = message.author
            if(huggeduser == message.author) {
                message.channel.send(`${auser} , you cant hug yourself!`)
                return;
                }
            if(client.bot = huggeduser) {  //(Note) How too tag the bot as it self like : (huggeduser == <the string too tag the bot>) {
                message.channel.send("You cant meeeee hug!")
                return;
            }

其余代码工作正常。 只是带有(注释)的代码部分

如果有人可以帮助我,我会很乐意。我已经尝试了2天了。

谢谢。

1 个答案:

答案 0 :(得分:0)

使用双等号检查相等性。另外,检查整个用户对象效率很低,只需检查其ID即可。

另外,根据您在注释中的错误以及此函数的名称,我假设它在另一个文件中,并且您在顶部有以下一行:

const client = new Discord.Client();

因此,在这种情况下,client不是登录的bot用户不是,它是一个空的,未登录的bot,不知道它是谁。您应该从消息对象获取client

   async run(message, args) 
    {
        let huggeduser = message.mentions.users.first()
        let auser = message.author
        if(!huggeduser) return; //message for if no user was mentioned?
        if(huggeduser.id == auser.id) {
            message.channel.send(`${auser} , you cant hug yourself!`)
            return;
        } else if(huggeduser.id == message.client.user.id) {
            message.channel.send("You cant meeeee hug!")
            return;
        }
        //rest of code