Types
BuildableCommandTypeThe command types registered with Discord, which take a builder: slash, context menu and entry point commands.
CallHandlerRuns the rest of a call from inside an interceptor: the next interceptor, then the handler.
CatalogDefinitionWhat
defineCatalogtakes: a catalog, checked as it is written.CatalogShapeA message catalog: messages, plurals, and nested groups of them, keyed by name.
CheckedParamsThe params a message handler declares,
Declared, as@MessageHandlerchecks them against its patternP.CommandBuilderBaseWhat a command builder implements:
build, which describes the command to register.CommandBuilderConstructorA command builder class, as
@Commandtakes it.CommandBuilderOptionsWhere a command
@CommandBuilderdescribes is registered, in place of the configured scope.CommandBuildResultWhat a builder's
build()returns for its command type.CommandInteractionTypeThe interaction a
@Commandhandler receives, from its builder or itsCommandType.CommandTypeThe kind of interaction a
@Commandhandles, such as a slash command or a button.ControllerOptionsHow
@Controllertreats a class: whether the handlers it declares take the stages of the classes it extends.CooldownBatchVerdictWhether a call may run against every cooldown it counts against, and if not, which refused it.
CooldownEntryOne cooldown a call counts against: the key it counts under, and its limit.
CooldownLimitHow many calls a cooldown allows, and in how long a window.
CooldownOptionsWhat
@Cooldowntakes: the limit, whose calls count together, and how to exempt or tell calls apart.CooldownScopeThe scope a cooldown counts calls in.
CooldownVerdictWhether a call may run, and if not, how long until one may.
DeepPartialTwith every property optional, at every depth; arrays and tuples stay whole.DeepReadonlyTwith every property readonly, at every depth; an array becomes a readonly one of readonly elements.DeferOptionsHow
@Deferacknowledges an interaction and locks a component's message.DispatchObserverObserves every call MeoCord dispatches, as it starts and once it has settled, for metrics and audit logs.
DispatchOutcomeHow a dispatched call ended, as a
DispatchObserveris told.DispatchResultWhat a
DispatchObserveris told about a call once it has settled.EntityRefA member, user, role or channel a message command names, as its guards see it: not fetched yet.
ExceptionFilterWhat an exception filter implements:
catch, which answers an error its@Catchnames.ExecutionContextTypeWhat an
ExecutionContextis running a handler for: an interaction, an autocomplete, a message, a reaction or a gateway event.GuardInterfaceWhat a guard implements:
canActivate, which decides whether the handler runs.GuardOptionsWhat
@Guardtakes: the context types the guard runs for.GuildThemeTargetWhat a per-server theme resolver is given: the server a call came from.
InferSchemaOutputThe value a schema produces when validation succeeds: what a handler with
@Validate(schema)receives.InjectedThe values a factory receives for its
injectlist, in order, each what its token provides.InstallContextWhere an interaction happened, as
getInstallContextreports it.InterceptorInterfaceWhat an interceptor implements:
intercept, which runs around the handler.InterceptorOptionsWhat
@Interceptortakes: the context types the interceptor runs for.JsonifiedA value as it arrives after a trip through JSON: what
toJSONreturns, so aDateas a string; aMapor aSetas an empty object; a function, a symbol orundefinedleft out of an object,nullin a list, andundefinedon its own.LocaleCatalogWhat a locale other than the default provides: any part of the default catalog, in its own wording.
LocalizationKeyThe keys
Translator.localizationstakes: a single string with no{params}, since Discord shows a command's name or description as written, with no plural forms.MeoCordMessagesMeoCord's own texts for users, in English, by key under
meocord: usage replies, the built-in help, cooldown refusals, the fallback's answers and the default presenter's views.MeoCordThemeA theme: design tokens by role, in three groups.
MessageHelpWhat the built-in help command found, for a presenter's
messageHelpto write.MessageHelpEntryOne message command as the built-in help shows it: how to type it, what it does, and where it works.
MessageHelpParamOne param or flag of a
MessageHelpEntry, with what it takes in words.MessageKeyEvery message key of a catalog: the dotted path to each message or plural.
MessageParamsThe params a catalog message takes: one per
{name}placeholder, whose name is ASCII letters, digits or_, andcountfor a plural message.MessageParamTypesWhat each param type in a message pattern gives the handler, by the name a pattern uses for it.
MessageScopeWhere a message command works:
'guild'in servers only,'dm'in direct messages only, or'any'.MessageUsageIssueOne thing wrong with a message command's input: a word that is not a value of its param's type, or a param missing.
MetadataDecoratorA typed metadata decorator, made by
createMetadata.ObserverOptionsWhat
@Observertakes: the context types the observer is told about.OnReadyA controller, service or provided value that does work once the bot is online, such as starting timers.
OnShutdownA controller, service or provided value that cleans up before the bot stops, such as closing a connection.
ParamRefsOfThe params of a message pattern as its guards see them: each member, user, role and channel as an
EntityRef.ParamsOfThe params a message pattern gives its handler, read from the pattern itself.
PipedMarks a value of a handler's input that a separate
@UsePipeproduces, so the checks of what a call gives leave its type to that pipe.PipeInterfaceWhat a pipe implements:
transform, which turns one input value into what the handler receives.PluralCategoryThe plural categories
Intl.PluralRulesselects between.PluralMessageA message with a form per plural category, chosen by the
countparam throughIntl.PluralRules.PrimaryEntryPointCommandDataThe body an entry point command is registered with.
ProvidedWhat a token provides: a class's instance, or a
createTokentoken's type;unknownfor a string or a plain symbol.ProviderTokenWhat a provider is bound under and injected by: a class, a string, a symbol, or a typed
Token.ReactionEventThe second argument a
@ReactionHandlermethod receives: who reacted, and whether they added or removed it.ReactionHandlerActionWhether a
@ReactionHandlercall is for a reaction added to a message or removed from it.ReactionHandlerOptionsDeprecatedThe second argument a
@ReactionHandlermethod receives: another name forReactionEvent.ReactionHandlerSettingsThe settings a
@ReactionHandlertakes for itself.ReadyInfoWhat
onReadylearns about its process, beside the client: whether it should do one-off work.RedisCooldownStoreOptionsHow a
RedisCooldownStorenames its keys and runs its script.RedisEvalRuns a Lua script on the server, as a client's
EVALdoes.RedisEvalShaRuns a script the server already holds, by its SHA1, as a client's
EVALSHAdoes.ReservedThemeRoleNames MeoCord keeps for roles it may add to any group.
RouteA component's customId pattern with a typed
build, asroutemakes it.RouteParamsThe names of a customId pattern's params, as a union, such as
'id' | 'page'for'list/{id}/{page:int}'.RouteValueA value
buildtakes for an untyped customId param: its text, or a number or snowflake written as its digits.RouteValuesThe values a route's
buildtakes, one for each of its params and no others.ShardCallResultOne process's answer to a
ShardContext.call: the shards it runs, and the method's value or its error.StageParamsThe params a guard, interceptor, filter or pipe declares, as
{ provide, params }must give them.StandardSchemaV1The Standard Schema interface, version 1, which zod, valibot, arktype and other validation libraries implement.
StandardSchemaV1IssueOne problem a schema found.
StandardSchemaV1PropsWhat a Standard Schema exposes under
~standard.StandardSchemaV1ResultThe outcome of validation: the output value, or the issues found.
StringMessageKeyThe keys whose message is a single string rather than plural forms, with or without
{params}.ThemeButtonsThe button style each role maps to, for the app's own buttons.
ThemeButtonStyleA button style a theme role maps to: one of Discord's four coloured styles.
ThemeColorsThe colours a theme names by role.
ThemeEmojisThe emojis a theme names by role.
TokenA symbol that names a value to provide and inject, typed with what it provides, as
createTokenmakes it.TranslateTranslates a key into one locale's message.
TranslatorOptionsWhat
createTranslatortakes: the default locale, and a catalog per locale.UserErrorOptionsWhat a
UserErrorcarries besides its message.UserThemeTargetWhat a per-user theme resolver is given: the user a call came from.
ValidateOptionsWhat
@Validatetakes beside its schema: pipes for single values of the schema's output.ValidatePipesThe pipes
@Validatetakes for a schema: some of the schema's output keys, each with one pipe or several applied in order.ValidationIssueOne problem
@Validatefound in a handler's input.