diff --git a/src/bot.ts b/src/bot.ts index 48662637c..ea1d4697f 100644 --- a/src/bot.ts +++ b/src/bot.ts @@ -446,157 +446,10 @@ export interface Bot { handleDiscordPayload?: GatewayManager["handleDiscordPayload"]; } -export interface Helpers { - addDiscoverySubcategory: typeof helpers.addDiscoverySubcategory; - addReaction: typeof helpers.addReaction; - addReactions: typeof helpers.addReactions; - addRole: typeof helpers.addRole; - avatarURL: typeof helpers.avatarURL; - banMember: typeof helpers.banMember; - batchEditApplicationCommandPermissions: typeof helpers.batchEditApplicationCommandPermissions; - channelOverwriteHasPermission: typeof helpers.channelOverwriteHasPermission; - cloneChannel: typeof helpers.cloneChannel; - connectToVoiceChannel: typeof helpers.connectToVoiceChannel; - createChannel: typeof helpers.createChannel; - createEmoji: typeof helpers.createEmoji; - createGuild: typeof helpers.createGuild; - createGuildFromTemplate: typeof helpers.createGuildFromTemplate; - createGuildTemplate: typeof helpers.createGuildTemplate; - createInvite: typeof helpers.createInvite; - createRole: typeof helpers.createRole; - createScheduledEvent: typeof helpers.createScheduledEvent; - createApplicationCommand: typeof helpers.createApplicationCommand; - createStageInstance: typeof helpers.createStageInstance; - createWebhook: typeof helpers.createWebhook; - deleteChannel: typeof helpers.deleteChannel; - deleteChannelOverwrite: typeof helpers.deleteChannelOverwrite; - deleteEmoji: typeof helpers.deleteEmoji; - deleteGuild: typeof helpers.deleteGuild; - deleteGuildTemplate: typeof helpers.deleteGuildTemplate; - deleteIntegration: typeof helpers.deleteIntegration; - deleteInvite: typeof helpers.deleteInvite; - deleteMessage: typeof helpers.deleteMessage; - deleteMessages: typeof helpers.deleteMessages; - deleteRole: typeof helpers.deleteRole; - deleteScheduledEvent: typeof helpers.deleteScheduledEvent; - deleteApplicationCommand: typeof helpers.deleteApplicationCommand; - deleteInteractionResponse: typeof helpers.deleteInteractionResponse; - deleteStageInstance: typeof helpers.deleteStageInstance; - deleteWebhook: typeof helpers.deleteWebhook; - deleteWebhookMessage: typeof helpers.deleteWebhookMessage; - deleteWebhookWithToken: typeof helpers.deleteWebhookWithToken; - disconnectMember: typeof helpers.disconnectMember; - editBotNickname: typeof helpers.editBotNickname; - editBotProfile: typeof helpers.editBotProfile; - editBotStatus: typeof helpers.editBotStatus; - editChannel: typeof helpers.editChannel; - editChannelOverwrite: typeof helpers.editChannelOverwrite; - editDiscovery: typeof helpers.editDiscovery; - editEmoji: typeof helpers.editEmoji; - editGuild: typeof helpers.editGuild; - editGuildTemplate: typeof helpers.editGuildTemplate; - editMember: typeof helpers.editMember; - editMessage: typeof helpers.editMessage; - editRole: typeof helpers.editRole; - editScheduledEvent: typeof helpers.editScheduledEvent; - editInteractionResponse: typeof helpers.editInteractionResponse; - editApplicationCommandPermissions: typeof helpers.editApplicationCommandPermissions; - editWebhook: typeof helpers.editWebhook; - editWebhookMessage: typeof helpers.editWebhookMessage; - editWebhookWithToken: typeof helpers.editWebhookWithToken; - editWelcomeScreen: typeof helpers.editWelcomeScreen; - editWidget: typeof helpers.editWidget; - emojiUrl: typeof helpers.emojiUrl; - fetchMembers: typeof helpers.fetchMembers; - followChannel: typeof helpers.followChannel; - getAuditLogs: typeof helpers.getAuditLogs; - getAvailableVoiceRegions: typeof helpers.getAvailableVoiceRegions; - getBan: typeof helpers.getBan; - getBans: typeof helpers.getBans; - getChannel: typeof helpers.getChannel; - getChannelInvites: typeof helpers.getChannelInvites; - getChannels: typeof helpers.getChannels; - getChannelWebhooks: typeof helpers.getChannelWebhooks; - getDiscoveryCategories: typeof helpers.getDiscoveryCategories; - getEmoji: typeof helpers.getEmoji; - getEmojis: typeof helpers.getEmojis; - getGatewayBot: typeof helpers.getGatewayBot; - getGuild: typeof helpers.getGuild; - getGuildPreview: typeof helpers.getGuildPreview; - getGuildTemplates: typeof helpers.getGuildTemplates; - getIntegrations: typeof helpers.getIntegrations; - getInvite: typeof helpers.getInvite; - getInvites: typeof helpers.getInvites; - getMember: typeof helpers.getMember; - getMembers: typeof helpers.getMembers; - getMessage: typeof helpers.getMessage; - getMessages: typeof helpers.getMessages; - getOriginalInteractionResponse: typeof helpers.getOriginalInteractionResponse; - getPins: typeof helpers.getPins; - getPruneCount: typeof helpers.getPruneCount; - getReactions: typeof helpers.getReactions; - getRoles: typeof helpers.getRoles; - getScheduledEvent: typeof helpers.getScheduledEvent; - getScheduledEvents: typeof helpers.getScheduledEvents; - getScheduledEventUsers: typeof helpers.getScheduledEventUsers; - getApplicationCommand: typeof helpers.getApplicationCommand; - getApplicationCommandPermission: typeof helpers.getApplicationCommandPermission; - getApplicationCommandPermissions: typeof helpers.getApplicationCommandPermissions; - getApplicationCommands: typeof helpers.getApplicationCommands; - getStageInstance: typeof helpers.getStageInstance; - getTemplate: typeof helpers.getTemplate; - getUser: typeof helpers.getUser; - getApplicationInfo: typeof helpers.getApplicationInfo; - getVanityURL: typeof helpers.getVanityURL; - getVoiceRegions: typeof helpers.getVoiceRegions; - getWebhook: typeof helpers.getWebhook; - getWebhookMessage: typeof helpers.getWebhookMessage; - getWebhooks: typeof helpers.getWebhooks; - getWebhookWithToken: typeof helpers.getWebhookWithToken; - getWelcomeScreen: typeof helpers.getWelcomeScreen; - getWidget: typeof helpers.getWidget; - getWidgetImageURL: typeof helpers.getWidgetImageURL; - getWidgetSettings: typeof helpers.getWidgetSettings; - guildBannerURL: typeof helpers.guildBannerURL; - guildIconURL: typeof helpers.guildIconURL; - guildSplashURL: typeof helpers.guildSplashURL; - kickMember: typeof helpers.kickMember; - leaveGuild: typeof helpers.leaveGuild; - moveMember: typeof helpers.moveMember; - pinMessage: typeof helpers.pinMessage; - pruneMembers: typeof helpers.pruneMembers; - publishMessage: typeof helpers.publishMessage; - removeAllReactions: typeof helpers.removeAllReactions; - removeDiscoverySubcategory: typeof helpers.removeDiscoverySubcategory; - removeReaction: typeof helpers.removeReaction; - removeReactionEmoji: typeof helpers.removeReactionEmoji; - removeRole: typeof helpers.removeRole; - getDmChannel: typeof helpers.getDmChannel; - sendInteractionResponse: typeof helpers.sendInteractionResponse; - sendMessage: typeof helpers.sendMessage; - sendWebhook: typeof helpers.sendWebhook; - startTyping: typeof helpers.startTyping; - swapChannels: typeof helpers.swapChannels; - syncGuildTemplate: typeof helpers.syncGuildTemplate; - unbanMember: typeof helpers.unbanMember; - unpinMessage: typeof helpers.unpinMessage; - updateBotVoiceState: typeof helpers.updateBotVoiceState; - updateStageInstance: typeof helpers.updateStageInstance; - upsertApplicationCommand: typeof helpers.upsertApplicationCommand; - upsertApplicationCommands: typeof helpers.upsertApplicationCommands; - validDiscoveryTerm: typeof helpers.validDiscoveryTerm; - addToThread: typeof helpers.addToThread; - editThread: typeof helpers.editThread; - getActiveThreads: typeof helpers.getActiveThreads; - getArchivedThreads: typeof helpers.getArchivedThreads; - getThreadMember: typeof helpers.getThreadMember; - getThreadMembers: typeof helpers.getThreadMembers; - joinThread: typeof helpers.joinThread; - leaveThread: typeof helpers.leaveThread; - removeThreadMember: typeof helpers.removeThreadMember; - startThreadWithoutMessage: typeof helpers.startThreadWithoutMessage; - startThreadWithMessage: typeof helpers.startThreadWithMessage; -} +export const defaultHelpers = { ...helpers }; +export type DefaultHelpers = typeof defaultHelpers; +// deno-lint-ignore no-empty-interface +export interface Helpers extends DefaultHelpers { } // Use interface for declaration merging export function createHelpers(bot: Bot, customHelpers?: Partial): FinalHelpers { const converted = {} as FinalHelpers; @@ -612,158 +465,8 @@ export function createHelpers(bot: Bot, customHelpers?: Partial): Final export function createBaseHelpers(options: Partial) { return { - addDiscoverySubcategory: options.addDiscoverySubcategory || helpers.addDiscoverySubcategory, - addReaction: options.addReaction || helpers.addReaction, - addReactions: options.addReactions || helpers.addReactions, - addRole: options.addRole || helpers.addRole, - avatarURL: options.avatarURL || helpers.avatarURL, - banMember: options.banMember || helpers.banMember, - batchEditApplicationCommandPermissions: - options.batchEditApplicationCommandPermissions || helpers.batchEditApplicationCommandPermissions, - channelOverwriteHasPermission: options.channelOverwriteHasPermission || helpers.channelOverwriteHasPermission, - cloneChannel: options.cloneChannel || helpers.cloneChannel, - connectToVoiceChannel: options.connectToVoiceChannel || helpers.connectToVoiceChannel, - createChannel: options.createChannel || helpers.createChannel, - createEmoji: options.createEmoji || helpers.createEmoji, - createGuild: options.createGuild || helpers.createGuild, - createGuildFromTemplate: options.createGuildFromTemplate || helpers.createGuildFromTemplate, - createGuildTemplate: options.createGuildTemplate || helpers.createGuildTemplate, - createInvite: options.createInvite || helpers.createInvite, - createRole: options.createRole || helpers.createRole, - createScheduledEvent: options.createScheduledEvent || helpers.createScheduledEvent, - createApplicationCommand: options.createApplicationCommand || helpers.createApplicationCommand, - createStageInstance: options.createStageInstance || helpers.createStageInstance, - createWebhook: options.createWebhook || helpers.createWebhook, - deleteChannel: options.deleteChannel || helpers.deleteChannel, - deleteChannelOverwrite: options.deleteChannelOverwrite || helpers.deleteChannelOverwrite, - deleteEmoji: options.deleteEmoji || helpers.deleteEmoji, - deleteGuild: options.deleteGuild || helpers.deleteGuild, - deleteGuildTemplate: options.deleteGuildTemplate || helpers.deleteGuildTemplate, - deleteIntegration: options.deleteIntegration || helpers.deleteIntegration, - deleteInvite: options.deleteInvite || helpers.deleteInvite, - deleteMessage: options.deleteMessage || helpers.deleteMessage, - deleteMessages: options.deleteMessages || helpers.deleteMessages, - deleteRole: options.deleteRole || helpers.deleteRole, - deleteScheduledEvent: options.deleteScheduledEvent || helpers.deleteScheduledEvent, - deleteApplicationCommand: options.deleteApplicationCommand || helpers.deleteApplicationCommand, - deleteInteractionResponse: options.deleteInteractionResponse || helpers.deleteInteractionResponse, - deleteStageInstance: options.deleteStageInstance || helpers.deleteStageInstance, - deleteWebhook: options.deleteWebhook || helpers.deleteWebhook, - deleteWebhookMessage: options.deleteWebhookMessage || helpers.deleteWebhookMessage, - deleteWebhookWithToken: options.deleteWebhookWithToken || helpers.deleteWebhookWithToken, - disconnectMember: options.disconnectMember || helpers.disconnectMember, - editBotNickname: options.editBotNickname || helpers.editBotNickname, - editBotProfile: options.editBotProfile || helpers.editBotProfile, - editBotStatus: options.editBotStatus || helpers.editBotStatus, - editChannel: options.editChannel || helpers.editChannel, - editChannelOverwrite: options.editChannelOverwrite || helpers.editChannelOverwrite, - editDiscovery: options.editDiscovery || helpers.editDiscovery, - editEmoji: options.editEmoji || helpers.editEmoji, - editGuild: options.editGuild || helpers.editGuild, - editGuildTemplate: options.editGuildTemplate || helpers.editGuildTemplate, - editMember: options.editMember || helpers.editMember, - editMessage: options.editMessage || helpers.editMessage, - editRole: options.editRole || helpers.editRole, - editScheduledEvent: options.editScheduledEvent || helpers.editScheduledEvent, - editInteractionResponse: options.editInteractionResponse || helpers.editInteractionResponse, - editApplicationCommandPermissions: - options.editApplicationCommandPermissions || helpers.editApplicationCommandPermissions, - editWebhook: options.editWebhook || helpers.editWebhook, - editWebhookMessage: options.editWebhookMessage || helpers.editWebhookMessage, - editWebhookWithToken: options.editWebhookWithToken || helpers.editWebhookWithToken, - editWelcomeScreen: options.editWelcomeScreen || helpers.editWelcomeScreen, - editWidget: options.editWidget || helpers.editWidget, - emojiUrl: options.emojiUrl || helpers.emojiUrl, - fetchMembers: options.fetchMembers || helpers.fetchMembers, - followChannel: options.followChannel || helpers.followChannel, - getAuditLogs: options.getAuditLogs || helpers.getAuditLogs, - getAvailableVoiceRegions: options.getAvailableVoiceRegions || helpers.getAvailableVoiceRegions, - getBan: options.getBan || helpers.getBan, - getBans: options.getBans || helpers.getBans, - getChannel: options.getChannel || helpers.getChannel, - getChannelInvites: options.getChannelInvites || helpers.getChannelInvites, - getChannels: options.getChannels || helpers.getChannels, - getChannelWebhooks: options.getChannelWebhooks || helpers.getChannelWebhooks, - getDiscoveryCategories: options.getDiscoveryCategories || helpers.getDiscoveryCategories, - getEmoji: options.getEmoji || helpers.getEmoji, - getEmojis: options.getEmojis || helpers.getEmojis, - getGatewayBot: options.getGatewayBot || helpers.getGatewayBot, - getGuild: options.getGuild || helpers.getGuild, - getGuildPreview: options.getGuildPreview || helpers.getGuildPreview, - getGuildTemplates: options.getGuildTemplates || helpers.getGuildTemplates, - getIntegrations: options.getIntegrations || helpers.getIntegrations, - getInvite: options.getInvite || helpers.getInvite, - getInvites: options.getInvites || helpers.getInvites, - getMember: options.getMember || helpers.getMember, - getMembers: options.getMembers || helpers.getMembers, - getMessage: options.getMessage || helpers.getMessage, - getMessages: options.getMessages || helpers.getMessages, - getOriginalInteractionResponse: options.getOriginalInteractionResponse || helpers.getOriginalInteractionResponse, - getPins: options.getPins || helpers.getPins, - getPruneCount: options.getPruneCount || helpers.getPruneCount, - getReactions: options.getReactions || helpers.getReactions, - getRoles: options.getRoles || helpers.getRoles, - getScheduledEvent: options.getScheduledEvent || helpers.getScheduledEvent, - getScheduledEventUsers: options.getScheduledEventUsers || helpers.getScheduledEventUsers, - getScheduledEvents: options.getScheduledEvents || helpers.getScheduledEvents, - getApplicationCommand: options.getApplicationCommand || helpers.getApplicationCommand, - getApplicationCommandPermission: options.getApplicationCommandPermission || helpers.getApplicationCommandPermission, - getApplicationCommandPermissions: - options.getApplicationCommandPermissions || helpers.getApplicationCommandPermissions, - getApplicationCommands: options.getApplicationCommands || helpers.getApplicationCommands, - getStageInstance: options.getStageInstance || helpers.getStageInstance, - getTemplate: options.getTemplate || helpers.getTemplate, - getUser: options.getUser || helpers.getUser, - getApplicationInfo: options.getApplicationInfo || helpers.getApplicationInfo, - getVanityURL: options.getVanityURL || helpers.getVanityURL, - getVoiceRegions: options.getVoiceRegions || helpers.getVoiceRegions, - getWebhook: options.getWebhook || helpers.getWebhook, - getWebhookMessage: options.getWebhookMessage || helpers.getWebhookMessage, - getWebhooks: options.getWebhooks || helpers.getWebhooks, - getWebhookWithToken: options.getWebhookWithToken || helpers.getWebhookWithToken, - getWelcomeScreen: options.getWelcomeScreen || helpers.getWelcomeScreen, - getWidget: options.getWidget || helpers.getWidget, - getWidgetImageURL: options.getWidgetImageURL || helpers.getWidgetImageURL, - getWidgetSettings: options.getWidgetSettings || helpers.getWidgetSettings, - guildBannerURL: options.guildBannerURL || helpers.guildBannerURL, - guildIconURL: options.guildIconURL || helpers.guildIconURL, - guildSplashURL: options.guildSplashURL || helpers.guildSplashURL, - kickMember: options.kickMember || helpers.kickMember, - leaveGuild: options.leaveGuild || helpers.leaveGuild, - moveMember: options.moveMember || helpers.moveMember, - pinMessage: options.pinMessage || helpers.pinMessage, - pruneMembers: options.pruneMembers || helpers.pruneMembers, - publishMessage: options.publishMessage || helpers.publishMessage, - removeAllReactions: options.removeAllReactions || helpers.removeAllReactions, - removeDiscoverySubcategory: options.removeDiscoverySubcategory || helpers.removeDiscoverySubcategory, - removeReaction: options.removeReaction || helpers.removeReaction, - removeReactionEmoji: options.removeReactionEmoji || helpers.removeReactionEmoji, - removeRole: options.removeRole || helpers.removeRole, - getDmChannel: options.getDmChannel || helpers.getDmChannel, - sendInteractionResponse: options.sendInteractionResponse || helpers.sendInteractionResponse, - sendMessage: options.sendMessage || helpers.sendMessage, - sendWebhook: options.sendWebhook || helpers.sendWebhook, - startTyping: options.startTyping || helpers.startTyping, - swapChannels: options.swapChannels || helpers.swapChannels, - syncGuildTemplate: options.syncGuildTemplate || helpers.syncGuildTemplate, - unbanMember: options.unbanMember || helpers.unbanMember, - unpinMessage: options.unpinMessage || helpers.unpinMessage, - updateBotVoiceState: options.updateBotVoiceState || helpers.updateBotVoiceState, - updateStageInstance: options.updateStageInstance || helpers.updateStageInstance, - upsertApplicationCommand: options.upsertApplicationCommand || helpers.upsertApplicationCommand, - upsertApplicationCommands: options.upsertApplicationCommands || helpers.upsertApplicationCommands, - validDiscoveryTerm: options.validDiscoveryTerm || helpers.validDiscoveryTerm, - addToThread: options.addToThread || helpers.addToThread, - editThread: options.editThread || helpers.editThread, - getActiveThreads: options.getActiveThreads || helpers.getActiveThreads, - getArchivedThreads: options.getArchivedThreads || helpers.getArchivedThreads, - getThreadMember: options.getThreadMember || helpers.getThreadMember, - getThreadMembers: options.getThreadMembers || helpers.getThreadMembers, - joinThread: options.joinThread || helpers.joinThread, - leaveThread: options.leaveThread || helpers.leaveThread, - removeThreadMember: options.removeThreadMember || helpers.removeThreadMember, - startThreadWithoutMessage: options.startThreadWithoutMessage || helpers.startThreadWithoutMessage, - startThreadWithMessage: options.startThreadWithMessage || helpers.startThreadWithMessage, + ...defaultHelpers, + ...options, }; }