import { Context } from '@satorijs/core'; import { DiscordBot } from './bot'; import * as Discord from './utils'; export { Discord }; export * from './bot'; export * from './message'; export * from './ws'; export default DiscordBot; type ParamCase = S extends `${infer L}${infer R}` ? `${L extends '_' ? '-' : Lowercase}${ParamCase}` : S; type DiscordEvents = { [T in keyof Discord.GatewayEvents as `discord/${ParamCase}`]: (input: Discord.GatewayEvents[T], bot: DiscordBot) => void; }; declare module '@satorijs/core' { interface Session { discord?: Discord.Gateway.Payload & Discord.Internal; } } declare module 'cordis' { interface Events extends DiscordEvents { } }