detritus

CommandClientclass

Command Client, hooks onto a ClusterClient or ShardClient to provide easier command handling Flow is onMessageCheck -> onPrefixCheck -> onCommandCheck

On this page

Command Client, hooks onto a ClusterClient or ShardClient to provide easier command handling Flow is onMessageCheck -> onPrefixCheck -> onCommandCheck

import { CommandClient } from 'detritus-client';
EventEmitterEventSpewerCommandClient
14 properties34 methodssrc/commandclient.ts:103

Constructor

Properties

_clientSubscriptions
readonly
Default []
activateOnEdits
boolean
Default false
commands
Command<any>[]
directories
BaseCollection<string, { subdirectories: boolean }>
ignoreMe
boolean
Default true
maxEditDuration
number
mentionsEnabled
boolean
Default true
prefixes
{ custom: BaseSet<string>; mention: BaseSet<string> }
prefixSpace
boolean
Default false
ran
boolean
Default false
ratelimiter
ratelimits
Default []
replies

Accessors

rest
RestClient | Client
get

Methods

addMultipleIn()

async src/commandclient.ts:335
addMultipleIn(
  directory: string,
  options?: { isAbsolute?: boolean; subdirectories?: boolean },
): Promise<CommandClient>
directory
string
options?
{ isAbsolute?: boolean; subdirectories?: boolean }
options.isAbsolute?
boolean
options.subdirectories?
boolean

handleDeleteBulk()

async src/commandclient.ts:1043
handleDeleteBulk(deletePayload: { raw: { ids: string[] } }): Promise<void>
deletePayload
{ raw: { ids: string[] } }
deletePayload.raw
{ ids: string[] }

on()

src/commandclient.ts:1064
on(event: string | symbol, listener: (...args: any[]) => void): this

Adds the listener function to the end of the listeners array for the event named eventName. No checks are made to see if the listener has already been added. Multiple calls passing the same combination of eventName and listener will result in the listener being added, and called, multiple times.

server.on('connection', (stream) => {
  console.log('someone connected!');
});

Returns a reference to the EventEmitter, so that calls can be chained.

By default, event listeners are invoked in the order they are added. The emitter.prependListener() method can be used as an alternative to add the event listener to the beginning of the listeners array.

import { EventEmitter } from 'node:events';
const myEE = new EventEmitter();
myEE.on('foo', () => console.log('a'));
myEE.prependListener('foo', () => console.log('b'));
myEE.emit('foo');
// Prints:
//   b
//   a

Since v0.1.101

event
string | symbol
listener
(...args: any[]) => void

The callback function

on(event: COMMAND_DELETE, listener: (payload: CommandDelete) => any): this
on(event: "commandDelete", listener: (payload: CommandDelete) => any): this
on(event: COMMAND_ERROR, listener: (payload: CommandError) => any): this
on(event: "commandError", listener: (payload: CommandError) => any): this
on(event: COMMAND_FAIL, listener: (payload: CommandFail) => any): this
on(event: "commandFail", listener: (payload: CommandFail) => any): this
on(event: COMMAND_NONE, listener: (payload: CommandNone) => any): this
on(event: "commandNone", listener: (payload: CommandNone) => any): this
on(
  event: COMMAND_PERMISSIONS_FAIL_CLIENT,
  listener: (payload: CommandPermissionsFailClient) => any,
): this
on(
  event: "commandPermissionsFailClient",
  listener: (payload: CommandPermissionsFailClient) => any,
): this
on(
  event: COMMAND_PERMISSIONS_FAIL,
  listener: (payload: CommandPermissionsFail) => any,
): this
on(
  event: "commandPermissionsFail",
  listener: (payload: CommandPermissionsFail) => any,
): this
on(event: COMMAND_RAN, listener: (payload: CommandRan) => any): this
on(event: "commandRan", listener: (payload: CommandRan) => any): this
on(event: COMMAND_RATELIMIT, listener: (payload: CommandRatelimit) => any): this
on(event: "commandRatelimit", listener: (payload: CommandRatelimit) => any): this
on(
  event: COMMAND_RESPONSE_DELETE,
  listener: (payload: CommandResponseDelete) => any,
): this
on(
  event: "commandResponseDelete",
  listener: (payload: CommandResponseDelete) => any,
): this
on(event: COMMAND_RUN_ERROR, listener: (payload: CommandRunError) => any): this
on(event: "commandRunError", listener: (payload: CommandRunError) => any): this
on(event: KILLED, listener: () => any): this
on(event: "killed", listener: () => any): this
Overrides EventSpewer.on

once()

src/commandclient.ts:1092
once(event: string | symbol, listener: (...args: any[]) => void): this

Adds a one-time listener function for the event named eventName. The next time eventName is triggered, this listener is removed and then invoked.

server.once('connection', (stream) => {
  console.log('Ah, we have our first user!');
});

Returns a reference to the EventEmitter, so that calls can be chained.

By default, event listeners are invoked in the order they are added. The emitter.prependOnceListener() method can be used as an alternative to add the event listener to the beginning of the listeners array.

import { EventEmitter } from 'node:events';
const myEE = new EventEmitter();
myEE.once('foo', () => console.log('a'));
myEE.prependOnceListener('foo', () => console.log('b'));
myEE.emit('foo');
// Prints:
//   b
//   a

Since v0.3.0

event
string | symbol
listener
(...args: any[]) => void

The callback function

once(event: COMMAND_DELETE, listener: (payload: CommandDelete) => any): this
once(event: "commandDelete", listener: (payload: CommandDelete) => any): this
once(event: COMMAND_ERROR, listener: (payload: CommandError) => any): this
once(event: "commandError", listener: (payload: CommandError) => any): this
once(event: COMMAND_FAIL, listener: (payload: CommandFail) => any): this
once(event: "commandFail", listener: (payload: CommandFail) => any): this
once(event: COMMAND_NONE, listener: (payload: CommandNone) => any): this
once(event: "commandNone", listener: (payload: CommandNone) => any): this
once(
  event: COMMAND_PERMISSIONS_FAIL_CLIENT,
  listener: (payload: CommandPermissionsFailClient) => any,
): this
once(
  event: "commandPermissionsFailClient",
  listener: (payload: CommandPermissionsFailClient) => any,
): this
once(
  event: COMMAND_PERMISSIONS_FAIL,
  listener: (payload: CommandPermissionsFail) => any,
): this
once(
  event: "commandPermissionsFail",
  listener: (payload: CommandPermissionsFail) => any,
): this
once(event: COMMAND_RAN, listener: (payload: CommandRan) => any): this
once(event: "commandRan", listener: (payload: CommandRan) => any): this
once(event: COMMAND_RATELIMIT, listener: (payload: CommandRatelimit) => any): this
once(event: "commandRatelimit", listener: (payload: CommandRatelimit) => any): this
once(
  event: COMMAND_RESPONSE_DELETE,
  listener: (payload: CommandResponseDelete) => any,
): this
once(
  event: "commandResponseDelete",
  listener: (payload: CommandResponseDelete) => any,
): this
once(event: COMMAND_RUN_ERROR, listener: (payload: CommandRunError) => any): this
once(event: "commandRunError", listener: (payload: CommandRunError) => any): this
once(event: KILLED, listener: () => any): this
once(event: "killed", listener: () => any): this
Overrides EventSpewer.once

subscribe()

src/commandclient.ts:1120
subscribe(event: string | symbol, listener: (...args: any[]) => void): EventSubscription
subscribe(
  event: COMMAND_DELETE,
  listener: (payload: CommandDelete) => any,
): EventSubscription
subscribe(
  event: "commandDelete",
  listener: (payload: CommandDelete) => any,
): EventSubscription
subscribe(
  event: COMMAND_ERROR,
  listener: (payload: CommandError) => any,
): EventSubscription
subscribe(
  event: "commandError",
  listener: (payload: CommandError) => any,
): EventSubscription
subscribe(event: COMMAND_FAIL, listener: (payload: CommandFail) => any): EventSubscription
subscribe(
  event: "commandFail",
  listener: (payload: CommandFail) => any,
): EventSubscription
subscribe(event: COMMAND_NONE, listener: (payload: CommandNone) => any): EventSubscription
subscribe(
  event: "commandNone",
  listener: (payload: CommandNone) => any,
): EventSubscription
subscribe(
  event: COMMAND_PERMISSIONS_FAIL_CLIENT,
  listener: (payload: CommandPermissionsFailClient) => any,
): EventSubscription
subscribe(
  event: "commandPermissionsFailClient",
  listener: (payload: CommandPermissionsFailClient) => any,
): EventSubscription
subscribe(
  event: COMMAND_PERMISSIONS_FAIL,
  listener: (payload: CommandPermissionsFail) => any,
): EventSubscription
subscribe(
  event: "commandPermissionsFail",
  listener: (payload: CommandPermissionsFail) => any,
): EventSubscription
subscribe(event: COMMAND_RAN, listener: (payload: CommandRan) => any): EventSubscription
subscribe(event: "commandRan", listener: (payload: CommandRan) => any): EventSubscription
subscribe(
  event: COMMAND_RATELIMIT,
  listener: (payload: CommandRatelimit) => any,
): EventSubscription
subscribe(
  event: "commandRatelimit",
  listener: (payload: CommandRatelimit) => any,
): EventSubscription
subscribe(
  event: COMMAND_RESPONSE_DELETE,
  listener: (payload: CommandResponseDelete) => any,
): EventSubscription
subscribe(
  event: "commandResponseDelete",
  listener: (payload: CommandResponseDelete) => any,
): EventSubscription
subscribe(
  event: COMMAND_RUN_ERROR,
  listener: (payload: CommandRunError) => any,
): EventSubscription
subscribe(
  event: "commandRunError",
  listener: (payload: CommandRunError) => any,
): EventSubscription
subscribe(event: KILLED, listener: () => any): EventSubscription
subscribe(event: "killed", listener: () => any): EventSubscription
Overrides EventSpewer.subscribe