chore: release v2.8.8
- User.themeColors - Update ClientBuild
This commit is contained in:
parent
f8246be0aa
commit
0c3d922096
File diff suppressed because one or more lines are too long
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "discord.js-selfbot-v13",
|
"name": "discord.js-selfbot-v13",
|
||||||
"version": "2.8.7",
|
"version": "2.8.8",
|
||||||
"description": "A unofficial discord.js fork for creating selfbots [Based on discord.js v13]",
|
"description": "A unofficial discord.js fork for creating selfbots [Based on discord.js v13]",
|
||||||
"main": "./src/index.js",
|
"main": "./src/index.js",
|
||||||
"types": "./typings/index.d.ts",
|
"types": "./typings/index.d.ts",
|
||||||
|
@ -5,6 +5,7 @@ const Invite = require('./Invite');
|
|||||||
const { Message } = require('./Message');
|
const { Message } = require('./Message');
|
||||||
const User = require('./User');
|
const User = require('./User');
|
||||||
const { Util } = require('..');
|
const { Util } = require('..');
|
||||||
|
const { Error: Error_ } = require('../errors');
|
||||||
const { Opcodes, NitroType, HypeSquadType } = require('../util/Constants');
|
const { Opcodes, NitroType, HypeSquadType } = require('../util/Constants');
|
||||||
const DataResolver = require('../util/DataResolver');
|
const DataResolver = require('../util/DataResolver');
|
||||||
const PurchasedFlags = require('../util/PurchasedFlags');
|
const PurchasedFlags = require('../util/PurchasedFlags');
|
||||||
@ -487,6 +488,31 @@ class ClientUser extends User {
|
|||||||
}
|
}
|
||||||
return collection;
|
return collection;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Change Theme color
|
||||||
|
* @param {ColorResolvable} primary The primary color of the user's profile
|
||||||
|
* @param {ColorResolvable} accent The accent color of the user's profile
|
||||||
|
* @returns {Promise<ClientUser>}
|
||||||
|
*/
|
||||||
|
async setThemeColors(primary, accent) {
|
||||||
|
if (!primary || !accent) throw new Error('PRIMARY_COLOR or ACCENT_COLOR are required.');
|
||||||
|
// Check nitro
|
||||||
|
if (this.nitroType !== 'NITRO_BOOST') {
|
||||||
|
throw new Error_('NITRO_BOOST_REQUIRED', 'themeColors');
|
||||||
|
}
|
||||||
|
primary = Util.resolveColor(primary) || this.themeColors[0];
|
||||||
|
accent = Util.resolveColor(accent) || this.themeColors[1];
|
||||||
|
const data_ = await this.client.api.users['@me'].profile.patch({
|
||||||
|
data: {
|
||||||
|
theme_colors: [primary, accent],
|
||||||
|
},
|
||||||
|
});
|
||||||
|
this._ProfilePatch({
|
||||||
|
user_profile: data_,
|
||||||
|
});
|
||||||
|
return this;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports = ClientUser;
|
module.exports = ClientUser;
|
||||||
|
@ -122,6 +122,24 @@ class GuildMember extends Base {
|
|||||||
*/
|
*/
|
||||||
this.bio = data.bio;
|
this.bio = data.bio;
|
||||||
}
|
}
|
||||||
|
if ('theme_colors' in data) {
|
||||||
|
/**
|
||||||
|
* The member's theme colors (Profile theme) [Primary, Accent]
|
||||||
|
* <info>The user must be force fetched for this property to be present or be updated</info>
|
||||||
|
* @type {?Array<number>}
|
||||||
|
*/
|
||||||
|
this.themeColors = data.theme_colors;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The hexadecimal version of the user theme color, with a leading hash [Primary, Accent]
|
||||||
|
* <info>The user must be force fetched for this property to be present or be updated</info>
|
||||||
|
* @type {?Array<string>}
|
||||||
|
* @readonly
|
||||||
|
*/
|
||||||
|
get hexThemeColor() {
|
||||||
|
return this.themeColors?.map(c => `#${c.toString(16).padStart(6, '0')}`) || null;
|
||||||
}
|
}
|
||||||
|
|
||||||
_clone() {
|
_clone() {
|
||||||
@ -540,6 +558,14 @@ class GuildMember extends Base {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get profile guildMember
|
||||||
|
* @returns {Promise<User>}
|
||||||
|
*/
|
||||||
|
getProfile() {
|
||||||
|
return this.user.getProfile(this.guild.id);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* When concatenated with a string, this automatically returns the user's mention instead of the GuildMember object.
|
* When concatenated with a string, this automatically returns the user's mention instead of the GuildMember object.
|
||||||
* @returns {string}
|
* @returns {string}
|
||||||
|
@ -233,10 +233,6 @@ class User extends Base {
|
|||||||
this.premiumGuildSince = date.getTime();
|
this.premiumGuildSince = date.getTime();
|
||||||
}
|
}
|
||||||
|
|
||||||
if ('bio' in data.user_profile || 'bio' in data.user) {
|
|
||||||
this.bio = data.user_profile.bio || data.user.bio;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ('premium_type' in data) {
|
if ('premium_type' in data) {
|
||||||
const nitro = NitroType[data.premium_type ?? 0];
|
const nitro = NitroType[data.premium_type ?? 0];
|
||||||
/**
|
/**
|
||||||
@ -246,6 +242,16 @@ class User extends Base {
|
|||||||
this.nitroType = nitro ?? `UNKNOWN_TYPE_${data.premium_type}`;
|
this.nitroType = nitro ?? `UNKNOWN_TYPE_${data.premium_type}`;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ('user_profile' in data) {
|
||||||
|
this.bio = data.user_profile.bio;
|
||||||
|
/**
|
||||||
|
* The user's theme colors (Profile theme) [Primary, Accent]
|
||||||
|
* <info>The user must be force fetched for this property to be present or be updated</info>
|
||||||
|
* @type {?Array<number>}
|
||||||
|
*/
|
||||||
|
this.themeColors = data.user_profile.theme_colors;
|
||||||
|
}
|
||||||
|
|
||||||
if ('guild_member_profile' in data && 'guild_member' in data) {
|
if ('guild_member_profile' in data && 'guild_member' in data) {
|
||||||
const guild = this.client.guilds.cache.get(data.guild_member_profile.guild_id);
|
const guild = this.client.guilds.cache.get(data.guild_member_profile.guild_id);
|
||||||
const member = guild?.members._add(data.guild_member);
|
const member = guild?.members._add(data.guild_member);
|
||||||
@ -442,6 +448,16 @@ class User extends Base {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The hexadecimal version of the user theme color, with a leading hash [Primary, Accent]
|
||||||
|
* <info>The user must be force fetched for this property to be present or be updated</info>
|
||||||
|
* @type {?Array<string>}
|
||||||
|
* @readonly
|
||||||
|
*/
|
||||||
|
get hexThemeColor() {
|
||||||
|
return this.themeColors?.map(c => `#${c.toString(16).padStart(6, '0')}`) || null;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The Discord "tag" (e.g. `hydrabolt#0001`) for this user
|
* The Discord "tag" (e.g. `hydrabolt#0001`) for this user
|
||||||
* @type {?string}
|
* @type {?string}
|
||||||
|
@ -184,7 +184,7 @@ class Options extends null {
|
|||||||
referrer_current: '',
|
referrer_current: '',
|
||||||
referring_domain_current: '',
|
referring_domain_current: '',
|
||||||
release_channel: 'stable',
|
release_channel: 'stable',
|
||||||
client_build_number: 153655,
|
client_build_number: 154186,
|
||||||
client_event_source: null,
|
client_event_source: null,
|
||||||
},
|
},
|
||||||
// ? capabilities: 1021,
|
// ? capabilities: 1021,
|
||||||
|
15
typings/index.d.ts
vendored
15
typings/index.d.ts
vendored
@ -206,6 +206,8 @@ export interface DiscordAuthWebsocketOptions {
|
|||||||
autoLogin: boolean;
|
autoLogin: boolean;
|
||||||
failIfError: boolean;
|
failIfError: boolean;
|
||||||
generateQR: boolean;
|
generateQR: boolean;
|
||||||
|
userAgent?: string;
|
||||||
|
wsProperties?: object;
|
||||||
}
|
}
|
||||||
// RPC by aiko-chan-ai
|
// RPC by aiko-chan-ai
|
||||||
export interface RichButton {
|
export interface RichButton {
|
||||||
@ -928,6 +930,7 @@ export class ClientUser extends User {
|
|||||||
public verified: boolean;
|
public verified: boolean;
|
||||||
public notes: Collection<Snowflake, string>;
|
public notes: Collection<Snowflake, string>;
|
||||||
public friendNicknames: Collection<Snowflake, string>;
|
public friendNicknames: Collection<Snowflake, string>;
|
||||||
|
public setThemeColors(primary?: ColorResolvable, accent?: ColorResolvable): ClientUser;
|
||||||
public edit(data: ClientUserEditData): Promise<this>;
|
public edit(data: ClientUserEditData): Promise<this>;
|
||||||
public setActivity(options?: ActivityOptions): ClientPresence;
|
public setActivity(options?: ActivityOptions): ClientPresence;
|
||||||
public setActivity(name: string, options?: ActivityOptions): ClientPresence;
|
public setActivity(name: string, options?: ActivityOptions): ClientPresence;
|
||||||
@ -965,7 +968,9 @@ export class ClientUser extends User {
|
|||||||
public readonly nsfwAllowed: boolean;
|
public readonly nsfwAllowed: boolean;
|
||||||
public readonly emailAddress: string;
|
public readonly emailAddress: string;
|
||||||
}
|
}
|
||||||
type NitroType = 'NONE' | 'NITRO_CLASSIC' | 'NITRO_BOOST';
|
|
||||||
|
type NitroType = 'NONE' | 'NITRO_CLASSIC' | 'NITRO_BOOST' | 'NITRO_BASIC';
|
||||||
|
|
||||||
export class Options extends null {
|
export class Options extends null {
|
||||||
private constructor();
|
private constructor();
|
||||||
public static defaultMakeCacheSettings: CacheWithLimitsOptions;
|
public static defaultMakeCacheSettings: CacheWithLimitsOptions;
|
||||||
@ -1487,6 +1492,8 @@ export class GuildMember extends PartialTextBasedChannel(Base) {
|
|||||||
public readonly roles: GuildMemberRoleManager;
|
public readonly roles: GuildMemberRoleManager;
|
||||||
public user: User;
|
public user: User;
|
||||||
public readonly voice: VoiceState;
|
public readonly voice: VoiceState;
|
||||||
|
public themeColors?: [number, number];
|
||||||
|
public readonly hexThemeColor: [string, string] | null;
|
||||||
public avatarURL(options?: ImageURLOptions): string | null;
|
public avatarURL(options?: ImageURLOptions): string | null;
|
||||||
public ban(options?: BanOptions): Promise<GuildMember>;
|
public ban(options?: BanOptions): Promise<GuildMember>;
|
||||||
public disableCommunicationUntil(timeout: DateResolvable | null, reason?: string): Promise<GuildMember>;
|
public disableCommunicationUntil(timeout: DateResolvable | null, reason?: string): Promise<GuildMember>;
|
||||||
@ -1506,6 +1513,7 @@ export class GuildMember extends PartialTextBasedChannel(Base) {
|
|||||||
public setAvatar(avatar: BufferResolvable | Base64Resolvable | null): Promise<GuildMember>;
|
public setAvatar(avatar: BufferResolvable | Base64Resolvable | null): Promise<GuildMember>;
|
||||||
public setBanner(banner: BufferResolvable | Base64Resolvable | null): Promise<GuildMember>;
|
public setBanner(banner: BufferResolvable | Base64Resolvable | null): Promise<GuildMember>;
|
||||||
public setAboutMe(bio: string | null): Promise<GuildMember>;
|
public setAboutMe(bio: string | null): Promise<GuildMember>;
|
||||||
|
public getProfile(): Promise<User>;
|
||||||
public toJSON(): unknown;
|
public toJSON(): unknown;
|
||||||
public toString(): MemberMention;
|
public toString(): MemberMention;
|
||||||
public valueOf(): string;
|
public valueOf(): string;
|
||||||
@ -2934,6 +2942,8 @@ export class ThreadChannel extends TextBasedChannelMixin(Channel, ['fetchWebhook
|
|||||||
public setLocked(locked?: boolean, reason?: string): Promise<ThreadChannel>;
|
public setLocked(locked?: boolean, reason?: string): Promise<ThreadChannel>;
|
||||||
public setName(name: string, reason?: string): Promise<ThreadChannel>;
|
public setName(name: string, reason?: string): Promise<ThreadChannel>;
|
||||||
public setAppliedTags(appliedTags: Snowflake[], reason?: string): Promise<ThreadChannel>;
|
public setAppliedTags(appliedTags: Snowflake[], reason?: string): Promise<ThreadChannel>;
|
||||||
|
public pin(reason?: string): Promise<ThreadChannel>;
|
||||||
|
public unpin(reason?: string): Promise<ThreadChannel>;
|
||||||
}
|
}
|
||||||
|
|
||||||
export class ThreadMember extends Base {
|
export class ThreadMember extends Base {
|
||||||
@ -3016,6 +3026,8 @@ export class User extends PartialTextBasedChannel(Base) {
|
|||||||
public setNickname(nickname: string | null): Promise<boolean>;
|
public setNickname(nickname: string | null): Promise<boolean>;
|
||||||
public toString(): UserMention;
|
public toString(): UserMention;
|
||||||
public ring(): Promise<boolean>;
|
public ring(): Promise<boolean>;
|
||||||
|
public themeColors?: [number, number];
|
||||||
|
public readonly hexThemeColor: [string, string] | null;
|
||||||
}
|
}
|
||||||
|
|
||||||
export class UserContextMenuInteraction<Cached extends CacheType = CacheType> extends ContextMenuInteraction<Cached> {
|
export class UserContextMenuInteraction<Cached extends CacheType = CacheType> extends ContextMenuInteraction<Cached> {
|
||||||
@ -6703,6 +6715,7 @@ export interface ThreadEditData {
|
|||||||
locked?: boolean;
|
locked?: boolean;
|
||||||
invitable?: boolean;
|
invitable?: boolean;
|
||||||
threadName?: string;
|
threadName?: string;
|
||||||
|
flags?: ChannelFlagsResolvable;
|
||||||
}
|
}
|
||||||
|
|
||||||
export type ThreadMemberFlagsString = '';
|
export type ThreadMemberFlagsString = '';
|
||||||
|
Loading…
Reference in New Issue
Block a user