Module SlashCreate

type imageFormat = [
| `gif
| `jpeg
| `jpg
| `png
| `webp
];
type requireAllParams;
let requireAllParams: dirname:string => ?⁠excludeDirs:Js.Re.t => ?⁠filter:Js.Re.t => ?⁠map:(name:string => path:string => string) => ?⁠recursive:bool => ?⁠resolve:(Js.t({.. }) => Js.t({.. })) => unit => requireAllParams;

Constructs parameters for SlashCreator.registerCommandsIn.

see https://github.com/felixge/node-require-all

These arguments are passed to the npm module node-require-all.

parameter dirname

The directory to include source-files from

parameter excludeDirs

A matcher for subdirectories to ignore, e.g. [%re "^\.(git|svn)$"]

parameter filter

A matcher for files to include, e.g. [%re "^(.+Controller)\.js$"]

parameter map

Callback to tweak the command-names generated from the filenames

parameter recursive

Whether to look for commands in sub-directories

parameter resolve

Callback to manipulate how returned values are constructed into commands

type syncCommandParams;
let syncCommandParams: ?⁠deleteCommands:bool => ?⁠syncGuilds:bool => ?⁠skipGuildErrors:bool => unit => syncCommandParams;

Constructs parameters for SlashCreator.syncCommandsWith; note that you probably want SlashCreator.syncCommands instead.

module BitField: { ... };
module UserFlags: { ... };
module Permissions: { ... };
module User: { ... };
module Member: { ... };
module Message: { ... };
module SlashCreator: { ... };
module CommandContext: { ... };
module SlashCommand: { ... };