mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-17 20:13:30 +01:00
chore: deprecate client options presence (#10419)
* chore: deprecate client options presence * chore: deprecate in typings * fix: actually use the new prop * chore: nit Co-authored-by: Almeida <almeidx@pm.me> * fix: use correct prop --------- Co-authored-by: Almeida <almeidx@pm.me> Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
This commit is contained in:
@@ -32,6 +32,7 @@ const Status = require('../util/Status');
|
|||||||
const Sweepers = require('../util/Sweepers');
|
const Sweepers = require('../util/Sweepers');
|
||||||
|
|
||||||
let deprecationEmittedForPremiumStickerPacks = false;
|
let deprecationEmittedForPremiumStickerPacks = false;
|
||||||
|
let deprecationEmittedForClientPresence = false;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The main hub for interacting with the Discord API, and the starting point for any bot.
|
* The main hub for interacting with the Discord API, and the starting point for any bot.
|
||||||
@@ -139,7 +140,7 @@ class Client extends BaseClient {
|
|||||||
* @private
|
* @private
|
||||||
* @type {ClientPresence}
|
* @type {ClientPresence}
|
||||||
*/
|
*/
|
||||||
this.presence = new ClientPresence(this, this.options.presence);
|
this.presence = new ClientPresence(this, this.options.ws.presence ?? this.options.presence);
|
||||||
|
|
||||||
Object.defineProperty(this, 'token', { writable: true });
|
Object.defineProperty(this, 'token', { writable: true });
|
||||||
if (!this.token && 'DISCORD_TOKEN' in process.env) {
|
if (!this.token && 'DISCORD_TOKEN' in process.env) {
|
||||||
@@ -219,6 +220,15 @@ class Client extends BaseClient {
|
|||||||
this.emit(Events.Debug, `Provided token: ${this._censoredToken}`);
|
this.emit(Events.Debug, `Provided token: ${this._censoredToken}`);
|
||||||
|
|
||||||
if (this.options.presence) {
|
if (this.options.presence) {
|
||||||
|
if (!deprecationEmittedForClientPresence) {
|
||||||
|
process.emitWarning(
|
||||||
|
'ClientOptions#presence is deprecated and will be removed. Use ClientOptions#ws#presence instead.',
|
||||||
|
'DeprecationWarning',
|
||||||
|
);
|
||||||
|
|
||||||
|
deprecationEmittedForClientPresence = true;
|
||||||
|
}
|
||||||
|
|
||||||
this.options.ws.presence = this.presence._parse(this.options.presence);
|
this.options.ws.presence = this.presence._parse(this.options.presence);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -547,6 +557,9 @@ class Client extends BaseClient {
|
|||||||
if (typeof options.ws !== 'object' || options.ws === null) {
|
if (typeof options.ws !== 'object' || options.ws === null) {
|
||||||
throw new DiscordjsTypeError(ErrorCodes.ClientInvalidOption, 'ws', 'an object');
|
throw new DiscordjsTypeError(ErrorCodes.ClientInvalidOption, 'ws', 'an object');
|
||||||
}
|
}
|
||||||
|
if (typeof options.ws.presence !== 'object' || options.ws.presence === null) {
|
||||||
|
throw new DiscordjsTypeError(ErrorCodes.ClientInvalidOption, 'ws.presence', 'an object');
|
||||||
|
}
|
||||||
if (typeof options.rest !== 'object' || options.rest === null) {
|
if (typeof options.rest !== 'object' || options.rest === null) {
|
||||||
throw new DiscordjsTypeError(ErrorCodes.ClientInvalidOption, 'rest', 'an object');
|
throw new DiscordjsTypeError(ErrorCodes.ClientInvalidOption, 'rest', 'an object');
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -91,6 +91,7 @@ const { version } = require('../../package.json');
|
|||||||
* only set this if you know what you are doing</warn>
|
* only set this if you know what you are doing</warn>
|
||||||
* @property {BuildStrategyFunction} [buildStrategy] Builds the strategy to use for sharding
|
* @property {BuildStrategyFunction} [buildStrategy] Builds the strategy to use for sharding
|
||||||
* @property {IdentifyThrottlerFunction} [buildIdentifyThrottler] Builds the identify throttler to use for sharding
|
* @property {IdentifyThrottlerFunction} [buildIdentifyThrottler] Builds the identify throttler to use for sharding
|
||||||
|
* @property {PresenceData} [presence={}] Presence data to use upon login
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
3
packages/discord.js/typings/index.d.ts
vendored
3
packages/discord.js/typings/index.d.ts
vendored
@@ -181,6 +181,7 @@ import {
|
|||||||
APISelectMenuDefaultValue,
|
APISelectMenuDefaultValue,
|
||||||
SelectMenuDefaultValueType,
|
SelectMenuDefaultValueType,
|
||||||
InviteType,
|
InviteType,
|
||||||
|
GatewayPresenceUpdateData,
|
||||||
} from 'discord-api-types/v10';
|
} from 'discord-api-types/v10';
|
||||||
import { ChildProcess } from 'node:child_process';
|
import { ChildProcess } from 'node:child_process';
|
||||||
import { EventEmitter } from 'node:events';
|
import { EventEmitter } from 'node:events';
|
||||||
@@ -5304,6 +5305,7 @@ export interface ClientOptions {
|
|||||||
allowedMentions?: MessageMentionOptions;
|
allowedMentions?: MessageMentionOptions;
|
||||||
partials?: readonly Partials[];
|
partials?: readonly Partials[];
|
||||||
failIfNotExists?: boolean;
|
failIfNotExists?: boolean;
|
||||||
|
/** @deprecated Use {@link ClientOptions.ws.presence} instead */
|
||||||
presence?: PresenceData;
|
presence?: PresenceData;
|
||||||
intents: BitFieldResolvable<GatewayIntentsString, number>;
|
intents: BitFieldResolvable<GatewayIntentsString, number>;
|
||||||
waitGuildTimeout?: number;
|
waitGuildTimeout?: number;
|
||||||
@@ -6876,6 +6878,7 @@ export interface WebhookMessageCreateOptions extends Omit<MessageCreateOptions,
|
|||||||
export interface WebSocketOptions {
|
export interface WebSocketOptions {
|
||||||
large_threshold?: number;
|
large_threshold?: number;
|
||||||
version?: number;
|
version?: number;
|
||||||
|
presence?: GatewayPresenceUpdateData;
|
||||||
buildStrategy?(manager: WSWebSocketManager): IShardingStrategy;
|
buildStrategy?(manager: WSWebSocketManager): IShardingStrategy;
|
||||||
buildIdentifyThrottler?(manager: WSWebSocketManager): Awaitable<IIdentifyThrottler>;
|
buildIdentifyThrottler?(manager: WSWebSocketManager): Awaitable<IIdentifyThrottler>;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user