Skip to content
GitHub

On

function in meocord/decorator Since 4.1.0

On<E extends keyof ClientEvents>(
  event: E,
): <F extends (...args: ClientEvents[E]) => unknown>(
  target: object,
  propertyKey: string,
  _descriptor: TypedPropertyDescriptor<F>,
) => void

Handles a discord.js client event every time it is emitted, on a controller or a service.

Use it for gateway events MeoCord has no handler type for, such as a member joining or a channel being created. For commands, components, messages and reactions, use Command, @MessageHandler or @ReactionHandler, which route them.

Where it runs

  • The handler — with the guards, interceptors and filters that apply to events: the app's global ones, its class's and its own

Parameters

NameTypeDescription
eventE

The client event to handle, such as 'guildMemberAdd'.

Returns

Returns a method decorator.

<F extends (...args: ClientEvents[E]) => unknown>(
  target: object,
  propertyKey: string,
  _descriptor: TypedPropertyDescriptor<F>,
) => void

Examples

TypeScript
@On('guildMemberAdd')
async greet(member: GuildMember) {
  await member.send(`Welcome to ${member.guild.name}!`)
}