2017-07-29 79 views
0

我爲我的機器人使用discord.js,我想用the User object從中獲取ID。但是,這些文檔並沒有針對如何使用這些內容。你如何得到一個特定用戶的對象? 如何訪問用戶對象?


在附註中,我對node.js也很陌生,所以也許在node.js中有一些巨大的相似之處,我並不熟悉它。

我的代碼:

const Discord = require("discord.js"); 
const client = new Discord.Client(); 
var kingdoms = []; 
var ids = []; 
const Kingdom = function(name, id){ 
    this.name = name; 
    this.aa = 1; 
    this.da = 1; 
    this.attackDate = 0; 
    this.exhausaa = 0; 
    ids.push(id); 
}; 
client.on('ready',() => { 
    console.log(`Logged in as ${client.user.tag}!`); 
    client.user.setGame("k^help"); 
}); 

client.on('message', msg => { 
    console.log(msg); 
    console.log(msg.content.trim().indexOf('k^addkingdom')); 
    if (msg.content.trim() == 'k^help') { 
    msg.channel.send({embed: 
     { 
      description: 'Note: All things in brackets must be replaced and are parameters.', 
      fields: [{ 
       name: "k^help", 
       value: "Displays this message." 
      }, 
      { 
       name: "k^addkingdom [name]", 
       value: "Adds a kingdom to the database named [name]. One per person only." 
      }] 
     } 
    }); 
    } 
    if (msg.content.trim().indexOf('k^addkingdom ') == 0) { 
    //if(ids.contains(msg.GuildMember.id)){ 
    // msg.reply("You already have a kingdom!"); 
    //} 
    var content = msg.content; 
    content = content.replace('k^addkingdom ', ''); 
    content.trim(); 
    msg.reply("Kingdom " + content + " added!"); 
    kingdoms.push(new Kingdom(content/*, msg.GuildMember.id*/)); 
    } 
}); 

client.login('Hidden for privacy'); 

回答

0

我不熟悉的不和諧,但是讀你鏈接的API,如果你有一個用戶對象,來獲取用戶的id只是做

user.id 
+0

我試過了,現在它給了我一個錯誤,說'用戶'是未定義的。所以,這是行不通的... – MasterBob

+0

我以對象「用戶」爲例。你必須使用你給對象的名字。 – Jerinaw

+0

如果你發佈你的代碼會容易得多。 – Jerinaw

0

要在bot帳戶中獲取特定用戶,請使用client.fetchUser(id)。這將返回一個Discord用戶對象。 否則(如在selfbots上)和通道上,使用通道object.member(userResolvable)。