@tryforge/forgescript
Version:
ForgeScript is a comprehensive package that empowers you to effortlessly interact with Discord's API. It ensures scripting remains easy to learn and consistently effective.
82 lines • 2.75 kB
JavaScript
"use strict";
/*
* SPDX-License-Identifier: GPL-3.0-or-later
* Copyright © 2025 BotForge
*/
Object.defineProperty(exports, "__esModule", { value: true });
const discord_js_1 = require("discord.js");
const structures_1 = require("../../structures");
exports.default = new structures_1.NativeFunction({
name: "$createScheduledEvent",
version: "2.6.0",
description: "Creates a new scheduled event on a guild, returns event id",
unwrap: true,
brackets: true,
args: [
{
name: "guild ID",
description: "The guild to create scheduled event on",
rest: false,
required: true,
type: structures_1.ArgType.Guild,
},
{
name: "name",
description: "The name of the scheduled event",
rest: false,
required: true,
type: structures_1.ArgType.String,
},
{
name: "description",
description: "The description of the scheduled event",
rest: false,
type: structures_1.ArgType.String,
},
{
name: "type",
description: "The entity type of the scheduled event",
rest: false,
required: true,
type: structures_1.ArgType.Enum,
enum: discord_js_1.GuildScheduledEventEntityType,
},
{
name: "start",
description: "The start time of the scheduled event",
rest: false,
required: true,
type: structures_1.ArgType.Date,
},
{
name: "end",
description: "The end time of the scheduled event",
rest: false,
type: structures_1.ArgType.Date,
},
{
name: "cover",
description: "The cover image of the scheduled event",
rest: false,
type: structures_1.ArgType.URL,
},
],
output: structures_1.ArgType.ScheduledEvent,
async execute(ctx, [guild, name, desc, type, start, end, cover]) {
const event = await guild.scheduledEvents.create({
name,
entityType: type,
privacyLevel: discord_js_1.GuildScheduledEventPrivacyLevel.GuildOnly,
scheduledStartTime: start,
scheduledEndTime: end || undefined,
description: desc || undefined,
image: cover || undefined,
channel: ctx.scheduledEvent.channel,
entityMetadata: ctx.scheduledEvent.entityMetadata,
reason: ctx.reason
}).catch(ctx.noop);
ctx.clearScheduledEventOptions();
return this.success(event?.id);
},
});
//# sourceMappingURL=createScheduledEvent.js.map