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 {} }