如何将自定义 ID 与用户名相关联

How do you associate a custom id with a username

我已经生成了 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,它只是 returns ID,我想用它来解决我的不和谐服务器上的用户

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

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

如果您不想提及,请尝试使用 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

I hope I was able to help!