mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-19 13:03:31 +01:00
feat: guild onboarding (#9120)
* feat: guild onboarding * feat: types and /core method * fix: route * fix: make emoji name non-nullable --------- Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
This commit is contained in:
45
packages/discord.js/typings/index.d.ts
vendored
45
packages/discord.js/typings/index.d.ts
vendored
@@ -157,6 +157,10 @@ import {
|
||||
ImageFormat,
|
||||
GuildMemberFlags,
|
||||
RESTGetAPIGuildThreadsResult,
|
||||
RESTGetAPIGuildOnboardingResult,
|
||||
APIGuildOnboardingPrompt,
|
||||
APIGuildOnboardingPromptOption,
|
||||
GuildOnboardingPromptType,
|
||||
} from 'discord-api-types/v10';
|
||||
import { ChildProcess } from 'node:child_process';
|
||||
import { EventEmitter } from 'node:events';
|
||||
@@ -1356,6 +1360,7 @@ export class Guild extends AnonymousGuild {
|
||||
options?: GuildAuditLogsFetchOptions<T>,
|
||||
): Promise<GuildAuditLogs<T>>;
|
||||
public fetchIntegrations(): Promise<Collection<Snowflake | string, Integration>>;
|
||||
public fetchOnboarding(): Promise<GuildOnboarding>;
|
||||
public fetchOwner(options?: BaseFetchOptions): Promise<GuildMember>;
|
||||
public fetchPreview(): Promise<GuildPreview>;
|
||||
public fetchTemplates(): Promise<Collection<GuildTemplate['code'], GuildTemplate>>;
|
||||
@@ -1566,6 +1571,40 @@ export class GuildMember extends PartialTextBasedChannel(Base) {
|
||||
public valueOf(): string;
|
||||
}
|
||||
|
||||
export class GuildOnboarding extends Base {
|
||||
private constructor(client: Client, data: RESTGetAPIGuildOnboardingResult);
|
||||
public get guild(): Guild;
|
||||
public guildId: Snowflake;
|
||||
public prompts: Collection<Snowflake, GuildOnboardingPrompt>;
|
||||
public defaultChannels: Collection<Snowflake, GuildChannel>;
|
||||
public enabled: boolean;
|
||||
}
|
||||
|
||||
export class GuildOnboardingPrompt extends Base {
|
||||
private constructor(client: Client, data: APIGuildOnboardingPrompt, guildId: Snowflake);
|
||||
public id: Snowflake;
|
||||
public get guild(): Guild;
|
||||
public guildId: Snowflake;
|
||||
public options: Collection<Snowflake, GuildOnboardingPromptOption>;
|
||||
public title: string;
|
||||
public singleSelect: boolean;
|
||||
public required: boolean;
|
||||
public inOnboarding: boolean;
|
||||
public type: GuildOnboardingPromptType;
|
||||
}
|
||||
|
||||
export class GuildOnboardingPromptOption extends Base {
|
||||
private constructor(client: Client, data: APIGuildOnboardingPromptOption, guildId: Snowflake);
|
||||
public id: Snowflake;
|
||||
public get guild(): Guild;
|
||||
public guildId: Snowflake;
|
||||
public channels: Collection<Snowflake, GuildChannel>;
|
||||
public roles: Collection<Snowflake, Role>;
|
||||
public emoji: GuildOnboardingPromptOptionEmoji | null;
|
||||
public title: string;
|
||||
public description: string | null;
|
||||
}
|
||||
|
||||
export class GuildPreview extends Base {
|
||||
private constructor(client: Client<true>, data: RawGuildPreviewData);
|
||||
public approximateMemberCount: number;
|
||||
@@ -5648,6 +5687,12 @@ export type GuildTemplateResolvable = string;
|
||||
|
||||
export type GuildVoiceChannelResolvable = VoiceBasedChannel | Snowflake;
|
||||
|
||||
export interface GuildOnboardingPromptOptionEmoji {
|
||||
id: Snowflake | null;
|
||||
name: string;
|
||||
animated: boolean;
|
||||
}
|
||||
|
||||
export type HexColorString = `#${string}`;
|
||||
|
||||
export interface IntegrationAccount {
|
||||
|
||||
@@ -173,6 +173,7 @@ import {
|
||||
ApplicationCommandSubCommand,
|
||||
ChatInputApplicationCommandData,
|
||||
ApplicationCommandPermissionsManager,
|
||||
GuildOnboarding,
|
||||
} from '.';
|
||||
import { expectAssignable, expectNotAssignable, expectNotType, expectType } from 'tsd';
|
||||
import type { ContextMenuCommandBuilder, SlashCommandBuilder } from '@discordjs/builders';
|
||||
@@ -2288,3 +2289,8 @@ client.on('guildAuditLogEntryCreate', (auditLogEntry, guild) => {
|
||||
});
|
||||
|
||||
expectType<Readonly<GuildMemberFlagsBitField>>(guildMember.flags);
|
||||
|
||||
{
|
||||
const onboarding = await guild.fetchOnboarding();
|
||||
expectType<GuildOnboarding>(onboarding);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user