feat: premiumUsageFlags

This commit is contained in:
March 7th
2022-12-22 19:37:05 +07:00
parent a6099af525
commit d75d457486
4 changed files with 47 additions and 2 deletions

View File

@@ -109,8 +109,6 @@ module.exports = async (client, { d: data }, shard) => {
client.users.cache.set(client.user.id, client.user);
}
client.user.setAFK(false);
client.settings._patch(data.user_settings);
client.user.connectedAccounts = data.connected_accounts ?? [];

View File

@@ -8,6 +8,7 @@ const { Util } = require('..');
const { Error: Error_ } = require('../errors');
const { Opcodes, NitroType, HypeSquadType } = require('../util/Constants');
const DataResolver = require('../util/DataResolver');
const PremiumUsageFlags = require('../util/PremiumUsageFlags');
const PurchasedFlags = require('../util/PurchasedFlags');
/**
* Represents the logged in client's Discord user.
@@ -53,6 +54,13 @@ class ClientUser extends User {
*/
this.purchasedFlags = new PurchasedFlags(data.purchased_flags || 0);
}
if ('premium_usage_flags' in data) {
/**
* Premium usage state of the client user.
* @type {?PremiumUsageFlags}
*/
this.premiumUsageFlags = new PremiumUsageFlags(data.premium_usage_flags || 0);
}
// Key: premium = boolean;
if ('phone' in data) {
/**

View File

@@ -0,0 +1,30 @@
'use strict';
const BitField = require('./BitField');
/**
* Data structure that makes it easy to interact with an {@link PremiumUsageFlags#flags} bitfield.
* @extends {BitField}
*/
class PremiumUsageFlags extends BitField {}
/**
* @name PremiumUsageFlags
* @kind constructor
* @memberof PremiumUsageFlags
* @param {BitFieldResolvable} [bits=0] Bit(s) to read from
*/
/**
* Numeric the Discord premium usage flags. All available properties:
* * `ANIMATED_AVATAR`
* * `BANNER`
* * `CUSTOM_DISCRIMINATOR`
* @type {Object}
*/
PremiumUsageFlags.FLAGS = {
ANIMATED_AVATAR: 1 << 1,
BANNER: 1 << 2,
};
module.exports = PremiumUsageFlags;