【问题标题】:How do you associate a custom id with a username如何将自定义 id 与用户名相关联
【发布时间】:2017-12-17 16:06:49
【问题描述】:

我已经生成了 ID,但我需要帮助将该 ID 保存为用户名。
这是生成代码:

function makeId(){
   var text = " ";
   var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz023456789";
   for (var i = 0; i < 5; i++)
     text += possible.charAt(Math.floor(Math.random() * possible.length));
     return text;
}

它使用其中一些字符生成一个 ID,它只返回 ID,我想用它来解决我的不和谐服务器上的用户

【问题讨论】:

  • 每个 discord 用户都有一个 id。为什么要创建一个?
  • 好吧,我对我的机器人的配置文件有一个想法,这样人们就可以使用生成的较短 id(5 个字符 id)来解决战斗,这样他们就不必进入开发模式来让其他人的 id 战斗他们

标签: javascript node.js discord discord.js


【解决方案1】:

如果您不想使用提及,请尝试使用 user.mentionuser.username + user.discriminator。像这样:

var dictionary = new Object();

function store(user) {
  dictionary[user.username + user.discriminator] = user;
}

如果你对base64没问题,你可以使用:

var dictionary = new Object();

function addID(user){
   dictionary[Buffer.from(user.id.toString(16), 'hex').toString('base64')] = user;
}

如果 base32 让你的船浮起来:

var dictionary = new Object();

function addID(user){
   dictionary[user.id.toString(32)] = user;
}

如果您只想生成自己的,那么随机生成一个是行不通的,因为可能会将同一个 ID 分配给多个用户。如果您只是希望代码将生成的 ID 保存在数据库中,请尝试:

var dictionary = new Object();

function addID(user, myID){
  dictionary[myID] = user;
}

function retrieveID(myID) {
  return dictionary[myID];
}

如果您尝试将它们保存在文件中,请使用 JSON

希望能帮到你!

【讨论】:

  • 我很高兴能够提供帮助,@GamersGotPower! :)
【解决方案2】:

user.id 是只读的。如果您可以更改用户 ID,您将能够造成严重破坏。

如果您只想使用不同的 ID 来引用用户,那么您可以创建一个字典,其中键 = 随机 ID,值 = 用户对象。但我不知道你为什么想要那个。

【讨论】:

  • 谢谢,是的,我知道如果我可以更改 ID,那么我可能会造成严重破坏,但我需要个人资料的 ID,所以是的,我可以使用字典,然后当人们在时我会使用该 ID将使用命令 gb-fight
  • 如果您的用户在消息中@提及另一个用户,则消息对象中有一个属性,其中包含提到的用户对象的集合。 message.mentions.users 这将为您提供对两个用户对象的引用。 discord.js.org/#/docs/main/stable/class/MessageMentions
猜你喜欢
  • 2013-09-27
  • 1970-01-01
  • 2013-09-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-15
  • 2015-11-17
  • 1970-01-01
相关资源
最近更新 更多