feat: stage instances (#5749)

Co-authored-by: Vlad Frangu <kingdgrizzle@gmail.com>
Co-authored-by: SpaceEEC <spaceeec@yahoo.com>
Co-authored-by: Antonio Román <kyradiscord@gmail.com>
This commit is contained in:
Shubham Parihar
2021-06-14 17:27:37 +05:30
committed by GitHub
parent a1f94f670e
commit 918921e821
16 changed files with 556 additions and 8 deletions

View File

@@ -279,6 +279,9 @@ exports.Events = {
SHARD_RESUME: 'shardResume',
INVALIDATED: 'invalidated',
RAW: 'raw',
STAGE_INSTANCE_CREATE: 'stageInstanceCreate',
STAGE_INSTANCE_UPDATE: 'stageInstanceUpdate',
STAGE_INSTANCE_DELETE: 'stageInstanceDelete',
};
exports.ShardEvents = {
@@ -345,6 +348,9 @@ exports.PartialTypes = keyMirror(['USER', 'CHANNEL', 'GUILD_MEMBER', 'MESSAGE',
* * VOICE_SERVER_UPDATE
* * WEBHOOKS_UPDATE
* * INTERACTION_CREATE
* * STAGE_INSTANCE_CREATE
* * STAGE_INSTANCE_UPDATE
* * STAGE_INSTANCE_DELETE
* @typedef {string} WSEventType
*/
exports.WSEvents = keyMirror([
@@ -388,6 +394,9 @@ exports.WSEvents = keyMirror([
'VOICE_SERVER_UPDATE',
'WEBHOOKS_UPDATE',
'INTERACTION_CREATE',
'STAGE_INSTANCE_CREATE',
'STAGE_INSTANCE_UPDATE',
'STAGE_INSTANCE_DELETE',
]);
/**
@@ -849,7 +858,7 @@ exports.MessageButtonStyles = createEnum([null, 'PRIMARY', 'SECONDARY', 'SUCCESS
exports.MFALevels = createEnum(['NONE', 'ELEVATED']);
/**
* NSFW level of a Guild
* NSFW level of a Guild:
* * DEFAULT
* * EXPLICIT
* * SAFE
@@ -858,6 +867,14 @@ exports.MFALevels = createEnum(['NONE', 'ELEVATED']);
*/
exports.NSFWLevels = createEnum(['DEFAULT', 'EXPLICIT', 'SAFE', 'AGE_RESTRICTED']);
/**
* Privacy level of a {@link StageInstance} object:
* * PUBLIC
* * GUILD_ONLY
* @typedef {string} PrivacyLevel
*/
exports.PrivacyLevels = createEnum([null, 'PUBLIC', 'GUILD_ONLY']);
function keyMirror(arr) {
let tmp = Object.create(null);
for (const value of arr) tmp[value] = value;

View File

@@ -21,6 +21,7 @@
* * **`User`**
* * **`CommandInteraction`**
* * **`ButtonInteraction`**
* * **`StageInstance`**
* @typedef {string} ExtendableStructure
*/
@@ -113,6 +114,7 @@ const structures = {
User: require('../structures/User'),
CommandInteraction: require('../structures/CommandInteraction'),
ButtonInteraction: require('../structures/ButtonInteraction'),
StageInstance: require('../structures/StageInstance'),
};
module.exports = Structures;