Page MenuHomeAITSYS Dev

[Upcoming] Guild Sheduled Events
Open, NormalPublic

Description

Discord has the ability to create events for guilds.

Detected @Miku:

image.png (1×2 px, 548 KB)

Event Timeline

aiko lowered the priority of this task from Needs Triage to Wishlist.Jul 21 2021, 18:33
aiko created this task.
aiko created this object in space S1 AITSYS.
aiko created this object with edit policy "DisCatSharp (Project)".
aiko changed the visibility from "Public (No Login Required)" to "DisCatSharp (Project)".Jul 23 2021, 19:37
aiko changed the visibility from "DisCatSharp (Project)" to "Public (No Login Required)".
aiko added projects: Restricted Project, Restricted Project.Jul 23 2021, 19:40

Create Event:

POST https://canary.discord.com/api/v9/guilds/{guild_id}/events

Fields:

{
    "name" :"Test 123",
    "description": "Test 123", // Optional
    "privacy_level":2,
    "scheduled_start_time": "2021-08-01T16:00:00.000Z",
    "entity_type": 1, // ?
    "channel_id":"865385871909584916" // Target stage channel
}

New field for normal stage start:
Notify @everyone
send_start_notification: true Notify @everyone

Audit Log:
guild_scheduled_events < extra field for audit log. type maybe GUILD_EVENT

This comment was removed by aiko.

+ GUILD_EVENT_DELETE_CONFIRM_HEADER: "Delete Event?"
+ GUILD_EVENT_DELETE_CONFIRM_BODY: "Are you sure you want to delete this scheduled event?"
+ GUILD_EVENT_CREATE_HEADER: "What's your event about?"
+ GUILD_EVENT_CREATE_BODY: "Fill out the details of your event."
+ GUILD_EVENT_CREATE_TOPIC_LABEL: "Event Topic"
+ GUILD_EVENT_CREATE_DESCRIPTION_PLACEHOLDER: "Tell people a little more about your event (optional)"
+ GUILD_EVENT_START_PROMPT: "Start {eventName}"

List Guild Events % GET /guilds/{guild.id#DOCS_RESOURCES_GUILD/guild-object}/events

Returns a list of stage events in the guild.

Create Guild Event % POST /guilds/{guild.id#DOCS_RESOURCES_GUILD/guild-object}/events

Create a guild stage event.

Delete Guild Event % DELETE /guilds/{guild.id#DOCS_RESOURCES_GUILD/guild-object}/events

Delete a guild stage event.

aiko renamed this task from Research Guild Stage Events to [Upcoming] Guild Sheduled Events.Aug 27 2021, 00:57
aiko claimed this task.
aiko raised the priority of this task from Wishlist to Normal.
aiko updated the task description. (Show Details)
aiko moved this task from Backlog to In Progress on the DisCatSharp board.
aiko removed aiko as the assignee of this task.Sat, Oct 2, 01:45
aiko moved this task from Backlog to Features on the DisCatSharp board.
aiko claimed this task.
aiko moved this task from Backlog to In Progress on the DisCatSharp board.
aiko added a subscriber: dcs_contributors.

+ GUILD_EVENT_INVITE_DISABLED_PRIVATE_CHANNEL: "Invites are not supported for events in private channels right now."
+ GUILD_EVENT_INVITE_DISABLED_INSUFFICIENT_PRIVILEGES: "Missing invite permissions."

Unknown event: GUILD_SCHEDULED_EVENT_DELETE
[2021-10-06 07:33:20 +02:00] [105 /WebSocketRec] [Warn ] Unknown event: GUILD_SCHEDULED_EVENT_DELETE
payload: "status": 1, "sku_ids": [], "scheduled_start_time": "2021-10-15T12:30:00+02:00", "scheduled_end_time": null, "privacy_level": 2, "name": "AMA Test", "image": null, "id": "895181741176782858", "guild_id": "858089257205628928", "entity_type": 1, "entity_metadata": {
  "speaker_ids": []
}, "entity_id": null, "description": "Test AMA", "channel_id": "891825635641663568"


Unknown event: GUILD_SCHEDULED_EVENT_CREATE
[2021-10-06 07:33:56 +02:00] [105 /WebSocketRec] [Warn ] Unknown event: GUILD_SCHEDULED_EVENT_CREATE
payload: "status": 1, "sku_ids": [], "scheduled_start_time": "2021-10-15T08:15:00+02:00", "scheduled_end_time": "2021-10-16T11:00:00+02:00", "privacy_level": 2, "name": "test", "image": null, "id": "895182065698500618", "guild_id": "858089257205628928", "entity_type": 3, "entity_metadata": {
  "location": "test"
}, "entity_id": null, "description": "**testest**", "channel_id": null



Unknown event: GUILD_SCHEDULED_EVENT_UPDATE
[2021-10-06 07:34:29 +02:00] [105 /WebSocketRec] [Warn ] Unknown event: GUILD_SCHEDULED_EVENT_UPDATE
payload: "status": 2, "sku_ids": [], "scheduled_start_time": "2021-10-15T08:15:00+02:00", "scheduled_end_time": "2021-10-16T11:00:00+02:00", "privacy_level": 2, "name": "test", "image": null, "id": "895182065698500618", "guild_id": "858089257205628928", "entity_type": 3, "entity_metadata": {
  "location": "test"
}, "entity_id": null, "description": "**testest**", "channel_id": null

image.png (295×399 px, 14 KB)

image.png (383×719 px, 13 KB)

t.ENTITY_TYPES_REQUIRED_CHANNEL_ID = t.ENTITY_TYPES_REQUIRED_ENTITY_METADATA = t.EntityChannelTypes = t.GuildScheduledEventPrivacyLevel = t.GuildScheduledEventNotificationTypes = t.GuildScheduledEventEntityTypes = t.GuildScheduledEventStatusDone = t.GuildScheduledEventStatus = t.GUILD_EVENT_STAGE_UPSELL_CARD_KEY = t.ANALYTICS_GUILD_EVENTS_MODAL_NAME = t.EXPLICIT_END_EVENT_SHEET_KEY = t.MAX_EVENT_LOCATION_LENGTH = t.GUILD_EVENT_MAX_DESCRIPTION_LENGTH = void 0;
var r, i = n(1);
t.GUILD_EVENT_MAX_DESCRIPTION_LENGTH = 1e3;
t.MAX_EVENT_LOCATION_LENGTH = 100;
t.EXPLICIT_END_EVENT_SHEET_KEY = "explicit-end-stage";
t.ANALYTICS_GUILD_EVENTS_MODAL_NAME = "Guild Events Modal";
var o;
t.GUILD_EVENT_STAGE_UPSELL_CARD_KEY = "hasSeenGuildEventStageUpsellCard";
t.GuildScheduledEventStatus = o;
! function(e) {
    e[e.SCHEDULED = 1] = "SCHEDULED";
    e[e.ACTIVE = 2] = "ACTIVE";
    e[e.COMPLETED = 3] = "COMPLETED";
    e[e.CANCELED = 4] = "CANCELED"
}(o || (t.GuildScheduledEventStatus = o = {}));
var a, s, u, l = new Set([o.COMPLETED, o.CANCELED]);
t.GuildScheduledEventStatusDone = l;
t.GuildScheduledEventEntityTypes = a;
! function(e) {
    e[e.NONE = 0] = "NONE";
    e[e.STAGE_INSTANCE = 1] = "STAGE_INSTANCE";
    e[e.VOICE = 2] = "VOICE";
    e[e.EXTERNAL = 3] = "EXTERNAL"
}(a || (t.GuildScheduledEventEntityTypes = a = {}));
t.GuildScheduledEventNotificationTypes = s;
! function(e) {
    e[e.EVENT_START = 1] = "EVENT_START"
}(s || (t.GuildScheduledEventNotificationTypes = s = {}));
t.GuildScheduledEventPrivacyLevel = u;
! function(e) {
    e[e.PUBLIC = 1] = "PUBLIC";
    e[e.GUILD_ONLY = 2] = "GUILD_ONLY"
}(u || (t.GuildScheduledEventPrivacyLevel = u = {}));
var c = ((r = {})[a.STAGE_INSTANCE] = i.ChannelTypes.GUILD_STAGE_VOICE, r[a.VOICE] = i.ChannelTypes.GUILD_VOICE, r);
t.EntityChannelTypes = c;
var d = new Set([a.EXTERNAL]);
t.ENTITY_TYPES_REQUIRED_ENTITY_METADATA = d;
var f = new Set([a.STAGE_INSTANCE, a.VOICE]);
t.ENTITY_TYPES_REQUIRED_CHANNEL_ID = f

function(e, t, n) {

"use strict";
Object.defineProperty(t, "__esModule", {
    value: !0
});
t.EventDetailSections = t.ENTITY_TYPES_REQUIRED_CHANNEL_ID = t.ENTITY_TYPES_REQUIRED_ENTITY_METADATA = t.EntityChannelTypes = t.GuildScheduledEventPrivacyLevel = t.GuildScheduledEventNotificationTypes = t.GuildScheduledEventEntityTypes = t.GuildScheduledEventStatusDone = t.GuildScheduledEventStatus = t.GUILD_EVENT_STAGE_UPSELL_CARD_KEY = t.ANALYTICS_GUILD_EVENTS_MODAL_NAME = t.EXPLICIT_END_EVENT_SHEET_KEY = t.MAX_EVENT_LOCATION_LENGTH = t.GUILD_EVENT_MAX_DESCRIPTION_LENGTH = void 0;
var r, i = n(1);
t.GUILD_EVENT_MAX_DESCRIPTION_LENGTH = 1e3;
t.MAX_EVENT_LOCATION_LENGTH = 100;
t.EXPLICIT_END_EVENT_SHEET_KEY = "explicit-end-stage";
t.ANALYTICS_GUILD_EVENTS_MODAL_NAME = "Guild Events Modal";
var o;
t.GUILD_EVENT_STAGE_UPSELL_CARD_KEY = "hasSeenGuildEventStageUpsellCard";
t.GuildScheduledEventStatus = o;
!function(e) {
    e[e.SCHEDULED = 1] = "SCHEDULED";
    e[e.ACTIVE = 2] = "ACTIVE";
    e[e.COMPLETED = 3] = "COMPLETED";
    e[e.CANCELED = 4] = "CANCELED"
}(o || (t.GuildScheduledEventStatus = o = {}));
var a, s, u, l = new Set([o.COMPLETED, o.CANCELED]);
t.GuildScheduledEventStatusDone = l;
t.GuildScheduledEventEntityTypes = a;
!function(e) {
    e[e.NONE = 0] = "NONE";
    e[e.STAGE_INSTANCE = 1] = "STAGE_INSTANCE";
    e[e.VOICE = 2] = "VOICE";
    e[e.EXTERNAL = 3] = "EXTERNAL"
}(a || (t.GuildScheduledEventEntityTypes = a = {}));
t.GuildScheduledEventNotificationTypes = s;
!function(e) {
    e[e.EVENT_START = 1] = "EVENT_START"
}(s || (t.GuildScheduledEventNotificationTypes = s = {}));
t.GuildScheduledEventPrivacyLevel = u;
!function(e) {
    e[e.PUBLIC = 1] = "PUBLIC";
    e[e.GUILD_ONLY = 2] = "GUILD_ONLY"
}(u || (t.GuildScheduledEventPrivacyLevel = u = {}));
var c = ((r = {})[a.STAGE_INSTANCE] = i.ChannelTypes.GUILD_STAGE_VOICE,
r[a.VOICE] = i.ChannelTypes.GUILD_VOICE,
r);
t.EntityChannelTypes = c;
var d = new Set([a.EXTERNAL]);
t.ENTITY_TYPES_REQUIRED_ENTITY_METADATA = d;
var f, _ = new Set([a.STAGE_INSTANCE, a.VOICE]);
t.ENTITY_TYPES_REQUIRED_CHANNEL_ID = _;
t.EventDetailSections = f;
!function(e) {
    e[e.EVENT_INFO = 0] = "EVENT_INFO";
    e[e.RSVP_LIST = 1] = "RSVP_LIST"
}(f || (t.EventDetailSections = f = {}))

}

t.saveEvent = function(e, t) {
    var n;
    return r.default.patch({
        url: s.Endpoints.GUILD_EVENT(e),
        body: {
            name: t.name,
            description: t.description,
            image: t.image,
            privacy_level: t.privacyLevel,
            scheduled_start_time: t.scheduledStartTime,
            scheduled_end_time: t.scheduledEndTime,
            entity_type: t.entityType,
            tickets: null === (n = t.tickets) || void 0 === n ? void 0 : n.map((function(e) {
                return {
                    price_tier: e.priceTier,
                    image: e.image,
                    color: e.color
                }
            }
            )),
            channel_id: t.channelId,
            entity_metadata: t.entityMetadata
        }
    })