From 2fcf8af421b34b4908bb01b59cf748a1376e5535 Mon Sep 17 00:00:00 2001 From: Ben <88249114+BenjammingKirby@users.noreply.github.com> Date: Sat, 26 Feb 2022 04:14:48 -0600 Subject: [PATCH] feat(scheduledevents): add image option (v13) (#7549) --- src/managers/GuildScheduledEventManager.js | 7 +++++++ typings/index.d.ts | 1 + 2 files changed, 8 insertions(+) diff --git a/src/managers/GuildScheduledEventManager.js b/src/managers/GuildScheduledEventManager.js index b35e45c3969a..1259e5acff9b 100644 --- a/src/managers/GuildScheduledEventManager.js +++ b/src/managers/GuildScheduledEventManager.js @@ -5,6 +5,7 @@ const CachedManager = require('./CachedManager'); const { TypeError, Error } = require('../errors'); const { GuildScheduledEvent } = require('../structures/GuildScheduledEvent'); const { PrivacyLevels, GuildScheduledEventEntityTypes, GuildScheduledEventStatuses } = require('../util/Constants'); +const DataResolver = require('../util/DataResolver'); /** * 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 * guild scheduled event * This is required if `entityType` is 'EXTERNAL' + * @property {?(BufferResolvable|Base64Resolvable)} [image] The cover image of the guild scheduled event * @property {string} [reason] The reason for creating the guild scheduled event */ @@ -76,6 +78,7 @@ class GuildScheduledEventManager extends CachedManager { scheduledEndTime, entityMetadata, reason, + image, } = options; if (typeof privacyLevel === 'string') privacyLevel = PrivacyLevels[privacyLevel]; @@ -99,6 +102,7 @@ class GuildScheduledEventManager extends CachedManager { scheduled_start_time: new Date(scheduledStartTime).toISOString(), scheduled_end_time: scheduledEndTime ? new Date(scheduledEndTime).toISOString() : scheduledEndTime, description, + image: image && (await DataResolver.resolveImage(image)), entity_type: entityType, entity_metadata, }, @@ -172,6 +176,7 @@ class GuildScheduledEventManager extends CachedManager { * @property {GuildScheduledEventEntityMetadataOptions} [entityMetadata] The entity metadata of the * guild scheduled event * This can be modified only if `entityType` of the `GuildScheduledEvent` to be edited is 'EXTERNAL' + * @property {?(BufferResolvable|Base64Resolvable)} [image] The cover image of the guild scheduled event * @property {string} [reason] The reason for editing the guild scheduled event */ @@ -197,6 +202,7 @@ class GuildScheduledEventManager extends CachedManager { scheduledEndTime, entityMetadata, reason, + image, } = options; if (typeof privacyLevel === 'string') privacyLevel = PrivacyLevels[privacyLevel]; @@ -220,6 +226,7 @@ class GuildScheduledEventManager extends CachedManager { description, entity_type: entityType, status, + image: image && (await DataResolver.resolveImage(image)), entity_metadata, }, reason, diff --git a/typings/index.d.ts b/typings/index.d.ts index 89fd1c4a7d1e..e628956c51d8 100644 --- a/typings/index.d.ts +++ b/typings/index.d.ts @@ -4790,6 +4790,7 @@ export interface GuildScheduledEventCreateOptions { description?: string; channel?: GuildVoiceChannelResolvable; entityMetadata?: GuildScheduledEventEntityMetadataOptions; + image?: BufferResolvable | Base64Resolvable | null; reason?: string; }