mirror of
https://github.com/sern-handler/handler
synced 2026-06-10 09:52:14 +00:00
42 lines
994 B
TypeScript
42 lines
994 B
TypeScript
export const enum DispatchType {
|
|
Websocket,
|
|
Serverless
|
|
}
|
|
|
|
export type PlatformStrategy =
|
|
| WebsocketStrategy
|
|
| ServerlessStrategy;
|
|
|
|
export interface WebsocketStrategy {
|
|
type: DispatchType.Websocket;
|
|
eventNames: [interactioncreate: string, messagecreate: string, ready: string]
|
|
defaultPrefix?: string;
|
|
}
|
|
|
|
export interface ServerlessStrategy {
|
|
type: DispatchType.Serverless;
|
|
}
|
|
|
|
export function makeWebsocketAdapter(
|
|
eventNames: [interactioncreate: string, messagecreate: string, ready: string],
|
|
defaultPrefix?: string
|
|
): WebsocketStrategy {
|
|
return {
|
|
type: DispatchType.Websocket,
|
|
eventNames,
|
|
defaultPrefix
|
|
};
|
|
}
|
|
|
|
export function makeServerlessAdapter(i : { endpoint: string }): ServerlessStrategy {
|
|
return {
|
|
type: DispatchType.Serverless ,
|
|
...i
|
|
};
|
|
}
|
|
|
|
export const discordjs = ( defaultPrefix?: string ) => makeWebsocketAdapter(
|
|
['interactionCreate', 'messageCreate', 'ready'],
|
|
defaultPrefix
|
|
)
|