不和谐 API |用户标记 return 个徽章
Discord API | User Flags return badges
我正在使用 Node.JS 和 Discords OAuth2 API。当我 return /users/@me
它 return 用户反对。示例:
{
"id": "80351110224678912",
"username": "Nelly",
"discriminator": "1337",
"avatar": "8342729096ea3675442027381ff50dfe",
"verified": true,
"email": "nelly@discord.com",
"flags": 64,
"premium_type": 1,
"public_flags": 64
}
现在我在 "public_flags"
整数之后,它在 Discords 上是“64” API 参考每个标志都有一个与示例数字不同的左移运算符,然后它等于 (1 << 6 : House Bravery),如果一个用户有多个徽章,它会将总数加在一起。标记 ID:
0 None
1 << 0 Discord Employee
1 << 1 Partnered Server Owner
1 << 2 HypeSquad Events
1 << 3 Bug Hunter Level 1
1 << 6 House Bravery
1 << 7 House Brilliance
1 << 8 House Balance
1 << 9 Early Supporter
1 << 10 Team User
1 << 12 System
1 << 14 Bug Hunter Level 2
1 << 16 Verified Bot
1 << 17 Early Verified Bot Developer
我的问题是我如何能够完成所有包含标志 ID 的数学运算,然后计算出用户拥有的徽章,或者是否有更简单的方法将数字从总数转换为徽章用户有。
谢谢:)
任何想在此处获得此问题答案的人:D
首先你要为上面分配的徽章计算出所有的左移操作。我都在这里完成了!
const Discord_Employee = 1;
const Partnered_Server_Owner = 2;
const HypeSquad_Events = 4;
const Bug_Hunter_Level_1 = 8;
const House_Bravery = 64;
const House_Brilliance = 128;
const House_Balance = 256;
const Early_Supporter = 512;
const Bug_Hunter_Level_2 = 16384;
const Early_Verified_Bot_Developer = 131072;
然后您需要从请求示例中获取 public_flags 整数:const flags = user.public_flags;
之后我们可以检查每个徽章是否存在于 flags
位整数中。 (我不擅长解释这个)
if((flags & Discord_Employee) == Discord_Employee){
var badge_Discord_Employee = "true";
}
else{
var badge_Discord_Employee = "false";
}
重复此代码,将 Discord_Employee
替换为您要检查的下一个徽章。
我正在使用 Node.JS 和 Discords OAuth2 API。当我 return /users/@me
它 return 用户反对。示例:
{
"id": "80351110224678912",
"username": "Nelly",
"discriminator": "1337",
"avatar": "8342729096ea3675442027381ff50dfe",
"verified": true,
"email": "nelly@discord.com",
"flags": 64,
"premium_type": 1,
"public_flags": 64
}
现在我在 "public_flags"
整数之后,它在 Discords 上是“64” API 参考每个标志都有一个与示例数字不同的左移运算符,然后它等于 (1 << 6 : House Bravery),如果一个用户有多个徽章,它会将总数加在一起。标记 ID:
0 None
1 << 0 Discord Employee
1 << 1 Partnered Server Owner
1 << 2 HypeSquad Events
1 << 3 Bug Hunter Level 1
1 << 6 House Bravery
1 << 7 House Brilliance
1 << 8 House Balance
1 << 9 Early Supporter
1 << 10 Team User
1 << 12 System
1 << 14 Bug Hunter Level 2
1 << 16 Verified Bot
1 << 17 Early Verified Bot Developer
我的问题是我如何能够完成所有包含标志 ID 的数学运算,然后计算出用户拥有的徽章,或者是否有更简单的方法将数字从总数转换为徽章用户有。 谢谢:)
任何想在此处获得此问题答案的人:D
首先你要为上面分配的徽章计算出所有的左移操作。我都在这里完成了!
const Discord_Employee = 1;
const Partnered_Server_Owner = 2;
const HypeSquad_Events = 4;
const Bug_Hunter_Level_1 = 8;
const House_Bravery = 64;
const House_Brilliance = 128;
const House_Balance = 256;
const Early_Supporter = 512;
const Bug_Hunter_Level_2 = 16384;
const Early_Verified_Bot_Developer = 131072;
然后您需要从请求示例中获取 public_flags 整数:const flags = user.public_flags;
之后我们可以检查每个徽章是否存在于 flags
位整数中。 (我不擅长解释这个)
if((flags & Discord_Employee) == Discord_Employee){
var badge_Discord_Employee = "true";
}
else{
var badge_Discord_Employee = "false";
}
重复此代码,将 Discord_Employee
替换为您要检查的下一个徽章。