feat(Message): added string type for message nonce (#4782)

Co-authored-by: Vlad Frangu <kingdgrizzle@gmail.com>
Co-authored-by: Sugden <28943913+NotSugden@users.noreply.github.com>
Co-authored-by: SpaceEEC <spaceeec@yahoo.com>
This commit is contained in:
Junseo Park
2020-11-23 03:13:38 +09:00
committed by GitHub
parent 863734aba4
commit 4b555fdf4c
3 changed files with 8 additions and 5 deletions

View File

@@ -71,7 +71,7 @@ const Messages = {
IMAGE_SIZE: size => `Invalid image size: ${size}`, IMAGE_SIZE: size => `Invalid image size: ${size}`,
MESSAGE_BULK_DELETE_TYPE: 'The messages must be an Array, Collection, or number.', MESSAGE_BULK_DELETE_TYPE: 'The messages must be an Array, Collection, or number.',
MESSAGE_NONCE_TYPE: 'Message nonce must fit in an unsigned 64-bit integer.', MESSAGE_NONCE_TYPE: 'Message nonce must be an integer or a string.',
TYPING_COUNT: 'Count must be at least 1', TYPING_COUNT: 'Count must be at least 1',

View File

@@ -151,8 +151,11 @@ class APIMessage {
let nonce; let nonce;
if (typeof this.options.nonce !== 'undefined') { if (typeof this.options.nonce !== 'undefined') {
nonce = parseInt(this.options.nonce); nonce = this.options.nonce;
if (isNaN(nonce) || nonce < 0) throw new RangeError('MESSAGE_NONCE_TYPE'); // eslint-disable-next-line max-len
if (typeof nonce === 'number' ? !Number.isInteger(nonce) : typeof nonce !== 'string') {
throw new RangeError('MESSAGE_NONCE_TYPE');
}
} }
const embedLikes = []; const embedLikes = [];

4
typings/index.d.ts vendored
View File

@@ -976,7 +976,7 @@ declare module 'discord.js' {
public id: Snowflake; public id: Snowflake;
public readonly member: GuildMember | null; public readonly member: GuildMember | null;
public mentions: MessageMentions; public mentions: MessageMentions;
public nonce: string | null; public nonce: string | number | null;
public readonly partial: false; public readonly partial: false;
public readonly pinnable: boolean; public readonly pinnable: boolean;
public pinned: boolean; public pinned: boolean;
@@ -2830,7 +2830,7 @@ declare module 'discord.js' {
interface MessageOptions { interface MessageOptions {
tts?: boolean; tts?: boolean;
nonce?: string; nonce?: string | number;
content?: StringResolvable; content?: StringResolvable;
embed?: MessageEmbed | MessageEmbedOptions; embed?: MessageEmbed | MessageEmbedOptions;
disableMentions?: 'none' | 'all' | 'everyone'; disableMentions?: 'none' | 'all' | 'everyone';