mirror of
https://github.com/discordjs/discord.js.git
synced 2024-08-20 22:14:45 +12:00
feat: voice messages (#9444)
* feat: voice messages * fix: delete unnesseary error
This commit is contained in:
parent
420f379933
commit
3386bab2c0
6 changed files with 54 additions and 4 deletions
|
@ -147,6 +147,28 @@ class MessageAttachment {
|
|||
* @type {boolean}
|
||||
*/
|
||||
this.ephemeral = data.ephemeral ?? false;
|
||||
|
||||
if ('duration_secs' in data) {
|
||||
/**
|
||||
* The duration of this attachment in seconds
|
||||
* <info>This will only be available if the attachment is an audio file.</info>
|
||||
* @type {?number}
|
||||
*/
|
||||
this.duration = data.duration_secs;
|
||||
} else {
|
||||
this.duration ??= null;
|
||||
}
|
||||
|
||||
if ('waveform' in data) {
|
||||
/**
|
||||
* The base64 encoded byte array representing a sampled waveform
|
||||
* <info>This will only be available if the attachment is an audio file.</info>
|
||||
* @type {?string}
|
||||
*/
|
||||
this.waveform = data.waveform;
|
||||
} else {
|
||||
this.waveform ??= null;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -1141,6 +1141,11 @@ exports.APIErrors = {
|
|||
INVALID_JSON: 50109,
|
||||
CANNOT_MIX_SUBSCRIPTION_AND_NON_SUBSCRIPTION_ROLES_FOR_EMOJI: 50144,
|
||||
CANNOT_CONVERT_PREMIUM_EMOJI_TO_NORMAL_EMOJI: 50145,
|
||||
VOICE_MESSAGES_DO_NOT_SUPPORT_ADDITIONAL_CONTENT: 50159,
|
||||
VOICE_MESSAGES_MUST_HAVE_A_SINGLE_AUDIO_ATTACHMENT: 50160,
|
||||
VOICE_MESSAGES_MUST_HAVE_SUPPORTING_METADATA: 50161,
|
||||
VOICE_MESSAGES_CANNOT_BE_EDITED: 50162,
|
||||
YOU_CANNOT_SEND_VOICE_MESSAGES_IN_THIS_CHANNEL: 50173,
|
||||
TWO_FACTOR_REQUIRED: 60003,
|
||||
NO_USERS_WITH_DISCORDTAG_EXIST: 80004,
|
||||
REACTION_BLOCKED: 90001,
|
||||
|
|
|
@ -45,6 +45,7 @@ MessageFlags.FLAGS = {
|
|||
EPHEMERAL: 1 << 6,
|
||||
LOADING: 1 << 7,
|
||||
SUPPRESS_NOTIFICATIONS: 1 << 12,
|
||||
IS_VOICE_MESSAGE: 1 << 13,
|
||||
};
|
||||
|
||||
module.exports = MessageFlags;
|
||||
|
|
|
@ -160,6 +160,7 @@ Permissions.FLAGS = {
|
|||
MODERATE_MEMBERS: 1n << 40n,
|
||||
VIEW_CREATOR_MONETIZATION_ANALYTICS: 1n << 41n,
|
||||
USE_SOUNDBOARD: 1n << 42n,
|
||||
SEND_VOICE_MESSAGES: 1n << 46n,
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
13
typings/index.d.ts
vendored
13
typings/index.d.ts
vendored
|
@ -1705,6 +1705,7 @@ export class MessageAttachment {
|
|||
public attachment: BufferResolvable | Stream;
|
||||
public contentType: string | null;
|
||||
public description: string | null;
|
||||
public duration: number | null;
|
||||
public ephemeral: boolean;
|
||||
public height: number | null;
|
||||
public id: Snowflake;
|
||||
|
@ -1713,6 +1714,7 @@ export class MessageAttachment {
|
|||
public size: number;
|
||||
public readonly spoiler: boolean;
|
||||
public url: string;
|
||||
public waveform: string | null;
|
||||
public width: number | null;
|
||||
public setDescription(description: string): this;
|
||||
public setFile(attachment: BufferResolvable | Stream, name?: string): this;
|
||||
|
@ -3933,6 +3935,11 @@ export interface APIErrors {
|
|||
INSUFFICIENT_BOOSTS: 50101;
|
||||
INVALID_JSON: 50109;
|
||||
CANNOT_MIX_SUBSCRIPTION_AND_NON_SUBSCRIPTION_ROLES_FOR_EMOJI: 50144;
|
||||
VOICE_MESSAGES_DO_NOT_SUPPORT_ADDITIONAL_CONTENT: 50159;
|
||||
VOICE_MESSAGES_MUST_HAVE_A_SINGLE_AUDIO_ATTACHMENT: 50160;
|
||||
VOICE_MESSAGES_MUST_HAVE_SUPPORTING_METADATA: 50161;
|
||||
VOICE_MESSAGES_CANNOT_BE_EDITED: 50162;
|
||||
YOU_CANNOT_SEND_VOICE_MESSAGES_IN_THIS_CHANNEL: 50173;
|
||||
CANNOT_CONVERT_PREMIUM_EMOJI_TO_NORMAL_EMOJI: 50145;
|
||||
TWO_FACTOR_REQUIRED: 60003;
|
||||
NO_USERS_WITH_DISCORDTAG_EXIST: 80004;
|
||||
|
@ -5864,7 +5871,8 @@ export type MessageFlagsString =
|
|||
| 'HAS_THREAD'
|
||||
| 'EPHEMERAL'
|
||||
| 'LOADING'
|
||||
| 'SUPPRESS_NOTIFICATIONS';
|
||||
| 'SUPPRESS_NOTIFICATIONS'
|
||||
| 'IS_VOICE_MESSAGE';
|
||||
|
||||
export interface MessageInteraction {
|
||||
id: Snowflake;
|
||||
|
@ -6056,7 +6064,8 @@ export type PermissionString =
|
|||
| 'MODERATE_MEMBERS'
|
||||
| 'MANAGE_EVENTS'
|
||||
| 'VIEW_CREATOR_MONETIZATION_ANALYTICS'
|
||||
| 'USE_SOUNDBOARD';
|
||||
| 'USE_SOUNDBOARD'
|
||||
| 'SEND_VOICE_MESSAGES';
|
||||
|
||||
export type RecursiveArray<T> = ReadonlyArray<T | RecursiveArray<T>>;
|
||||
|
||||
|
|
16
typings/rawDataTypes.d.ts
vendored
16
typings/rawDataTypes.d.ts
vendored
|
@ -5,7 +5,6 @@ import {
|
|||
APIApplication,
|
||||
APIApplicationCommand,
|
||||
APIApplicationCommandInteraction,
|
||||
APIAttachment,
|
||||
APIAuditLog,
|
||||
APIAuditLogEntry,
|
||||
APIBan,
|
||||
|
@ -169,7 +168,20 @@ export type RawInviteStageInstance = APIInviteStageInstance;
|
|||
export type RawMessageData = APIMessage;
|
||||
export type RawPartialMessageData = GatewayMessageUpdateDispatchData;
|
||||
|
||||
export type RawMessageAttachmentData = APIAttachment;
|
||||
export interface RawMessageAttachmentData {
|
||||
id: Snowflake;
|
||||
filename: string;
|
||||
description?: string;
|
||||
content_type?: string;
|
||||
size: number;
|
||||
url: string;
|
||||
proxy_url: string;
|
||||
height?: number | null;
|
||||
width?: number | null;
|
||||
ephemeral?: boolean;
|
||||
duration_secs?: number;
|
||||
waveform?: string;
|
||||
}
|
||||
|
||||
export type RawMessagePayloadData =
|
||||
| RESTPostAPIChannelMessageJSONBody
|
||||
|
|
Loading…
Reference in a new issue