Make it possible to add new members through CreateBotOptions.helpers.

This commit is contained in:
Norio Nomura
2021-11-30 09:30:45 +09:00
parent 16852744f4
commit 8dad2f019c

View File

@@ -446,157 +446,10 @@ export interface Bot<C extends Cache | AsyncCache = AsyncCache | Cache> {
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<Helpers>): FinalHelpers {
const converted = {} as FinalHelpers;
@@ -612,158 +465,8 @@ export function createHelpers(bot: Bot, customHelpers?: Partial<Helpers>): Final
export function createBaseHelpers(options: Partial<Helpers>) {
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,
};
}