@ayanaware/bentocord
Version:
Bentocord is a Bento plugin designed to rapidly build fully functional Discord Bots.
36 lines (35 loc) • 1.49 kB
TypeScript
import { Component, ComponentAPI } from '@ayanaware/bento';
import { AnyComponentContext } from './contexts/AnyComponentContext';
import type { ComponentHandler } from './interfaces/ComponentHandler';
import type { ParsedCustomId } from './util/ParseCustomId';
export declare type CloseHandler = () => Promise<void>;
export declare enum ComponentManagerEvent {
/**
* Fired when a component handler was successfully executed
* @param ctx AnyComponentContext
* @param mili Miliseconds
*/
COMPONENT_SUCCESS = "componentSuccess",
/**
* Fired when a component handler throws an error
* @param error Error
* @param ctx AnyComponentContext
* @param mili Miliseconds
*/
COMPONENT_FAILURE = "componentFailure"
}
export declare class ComponentsManager implements Component {
name: string;
api: ComponentAPI;
private readonly prefixHandlers;
private readonly messageHandlers;
onUnload(): Promise<void>;
hasPrefixHandler(prefix: string): boolean;
addPrefixHandler(prefix: string, handler: ComponentHandler, close?: CloseHandler): void;
removePrefixHandler(prefix: string): void;
hasMessageHandler(messageId: string): boolean;
addMessageHandler(messageId: string, handler: ComponentHandler, close?: CloseHandler): void;
removeMessageHandler(messageId: string): void;
findHandler(ctx: AnyComponentContext, customId: ParsedCustomId): Promise<ComponentHandler>;
private handleInteraction;
}