feat(scheduledevents): add image option (v13) (#7549)

This commit is contained in:
Ben
2022-02-26 04:14:48 -06:00
committed by GitHub
parent f0960698d2
commit 2fcf8af421
2 changed files with 8 additions and 0 deletions

View File

@@ -5,6 +5,7 @@ const CachedManager = require('./CachedManager');
const { TypeError, Error } = require('../errors'); const { TypeError, Error } = require('../errors');
const { GuildScheduledEvent } = require('../structures/GuildScheduledEvent'); const { GuildScheduledEvent } = require('../structures/GuildScheduledEvent');
const { PrivacyLevels, GuildScheduledEventEntityTypes, GuildScheduledEventStatuses } = require('../util/Constants'); const { PrivacyLevels, GuildScheduledEventEntityTypes, GuildScheduledEventStatuses } = require('../util/Constants');
const DataResolver = require('../util/DataResolver');
/** /**
* Manages API methods for GuildScheduledEvents and stores their cache. * Manages API methods for GuildScheduledEvents and stores their cache.
@@ -49,6 +50,7 @@ class GuildScheduledEventManager extends CachedManager {
* @property {GuildScheduledEventEntityMetadataOptions} [entityMetadata] The entity metadata of the * @property {GuildScheduledEventEntityMetadataOptions} [entityMetadata] The entity metadata of the
* guild scheduled event * guild scheduled event
* <warn>This is required if `entityType` is 'EXTERNAL'</warn> * <warn>This is required if `entityType` is 'EXTERNAL'</warn>
* @property {?(BufferResolvable|Base64Resolvable)} [image] The cover image of the guild scheduled event
* @property {string} [reason] The reason for creating the guild scheduled event * @property {string} [reason] The reason for creating the guild scheduled event
*/ */
@@ -76,6 +78,7 @@ class GuildScheduledEventManager extends CachedManager {
scheduledEndTime, scheduledEndTime,
entityMetadata, entityMetadata,
reason, reason,
image,
} = options; } = options;
if (typeof privacyLevel === 'string') privacyLevel = PrivacyLevels[privacyLevel]; if (typeof privacyLevel === 'string') privacyLevel = PrivacyLevels[privacyLevel];
@@ -99,6 +102,7 @@ class GuildScheduledEventManager extends CachedManager {
scheduled_start_time: new Date(scheduledStartTime).toISOString(), scheduled_start_time: new Date(scheduledStartTime).toISOString(),
scheduled_end_time: scheduledEndTime ? new Date(scheduledEndTime).toISOString() : scheduledEndTime, scheduled_end_time: scheduledEndTime ? new Date(scheduledEndTime).toISOString() : scheduledEndTime,
description, description,
image: image && (await DataResolver.resolveImage(image)),
entity_type: entityType, entity_type: entityType,
entity_metadata, entity_metadata,
}, },
@@ -172,6 +176,7 @@ class GuildScheduledEventManager extends CachedManager {
* @property {GuildScheduledEventEntityMetadataOptions} [entityMetadata] The entity metadata of the * @property {GuildScheduledEventEntityMetadataOptions} [entityMetadata] The entity metadata of the
* guild scheduled event * guild scheduled event
* <warn>This can be modified only if `entityType` of the `GuildScheduledEvent` to be edited is 'EXTERNAL'</warn> * <warn>This can be modified only if `entityType` of the `GuildScheduledEvent` to be edited is 'EXTERNAL'</warn>
* @property {?(BufferResolvable|Base64Resolvable)} [image] The cover image of the guild scheduled event
* @property {string} [reason] The reason for editing the guild scheduled event * @property {string} [reason] The reason for editing the guild scheduled event
*/ */
@@ -197,6 +202,7 @@ class GuildScheduledEventManager extends CachedManager {
scheduledEndTime, scheduledEndTime,
entityMetadata, entityMetadata,
reason, reason,
image,
} = options; } = options;
if (typeof privacyLevel === 'string') privacyLevel = PrivacyLevels[privacyLevel]; if (typeof privacyLevel === 'string') privacyLevel = PrivacyLevels[privacyLevel];
@@ -220,6 +226,7 @@ class GuildScheduledEventManager extends CachedManager {
description, description,
entity_type: entityType, entity_type: entityType,
status, status,
image: image && (await DataResolver.resolveImage(image)),
entity_metadata, entity_metadata,
}, },
reason, reason,

1
typings/index.d.ts vendored
View File

@@ -4790,6 +4790,7 @@ export interface GuildScheduledEventCreateOptions {
description?: string; description?: string;
channel?: GuildVoiceChannelResolvable; channel?: GuildVoiceChannelResolvable;
entityMetadata?: GuildScheduledEventEntityMetadataOptions; entityMetadata?: GuildScheduledEventEntityMetadataOptions;
image?: BufferResolvable | Base64Resolvable | null;
reason?: string; reason?: string;
} }