From 1d142db329da978e6656503d9329cf0a06c1779c Mon Sep 17 00:00:00 2001 From: Jacob Nguyen <76754747+jacoobes@users.noreply.github.com> Date: Wed, 9 Aug 2023 12:52:03 -0500 Subject: [PATCH] feat: dedicated cli information --- docs/cli/README.md | 5 ++ docs/cli/extra.md | 12 +++ docs/cli/publish.md | 90 ++++++++++++++++++++++ docs/guide/walkthrough/cli.md | 2 + static/img/Code_-_Insiders_2kTVzm0uIQ.gif | Bin 0 -> 40103 bytes 5 files changed, 109 insertions(+) create mode 100644 docs/cli/README.md create mode 100644 docs/cli/extra.md create mode 100644 docs/cli/publish.md create mode 100644 static/img/Code_-_Insiders_2kTVzm0uIQ.gif diff --git a/docs/cli/README.md b/docs/cli/README.md new file mode 100644 index 000000000..e44b810d9 --- /dev/null +++ b/docs/cli/README.md @@ -0,0 +1,5 @@ +# CLI + +Publish commands to the API, install plugins, and use other tools provided by our cli. + + diff --git a/docs/cli/extra.md b/docs/cli/extra.md new file mode 100644 index 000000000..d1254d19e --- /dev/null +++ b/docs/cli/extra.md @@ -0,0 +1,12 @@ +# Extra + +```sh +Usage: sern extra [options] + +Easy way to add extra things in your sern project + +Options: + -h, --help display help for command +``` + +This command is pretty straightfoward. Install utilities into your application. Assumes you have a sern.config.json. diff --git a/docs/cli/publish.md b/docs/cli/publish.md new file mode 100644 index 000000000..a59cc48f8 --- /dev/null +++ b/docs/cli/publish.md @@ -0,0 +1,90 @@ + +```sh +Usage: sern commands publish [options] [path] + +New way to manage your slash commands + +Arguments: + path path with respect to current working directory that will locate all published files + +Options: + -i, --import [scriptPath...] Prerequire a script to load into publisher + -t, --token [token] + --appId [applicationId] + -h, --help display help for command +``` +## Implicits +- Automatically reads a .env in the working directory. For seamless integration, your .env file should look like this: +```txt title=".env" +DISCORD_TOKEN= +APPLICATION_ID= +MODE= +``` +- Calls the discord API with the [PUT route](https://discord.com/developers/docs/interactions/application-commands#bulk-overwrite-global-application-commands). What this means is that whatever is in your commands directory will override the existing application commands at Discord. Existing commands do not count towards the command limit creation daily. + +You may pass these in as command line arguments as well. **CLI arguments take precedence.** +If you do not know how to obtain either of these credentials, + +## Usage + +![usage](../../static/img/Code_-_Insiders_2kTVzm0uIQ.gif) + + +## Features +- Automatically syncs api with your command base +- generates JSON file of output (**.sern/command-data-remote.json**) +- supports publishing direct esm typescript files +- commonjs users need to compile first and then run sern publish on the dist/ output +- prerequire scripts. +- supports a configuration that is the same as the original publish plugin. + + +Each command file can have an extra config that follows this typescript interface: +PermissionResolvable is a discord.js type, but it will accept anything that the discord API accepts + +```ts +interface ValidPublishOptions { + guildIds: string[]; + dmPermission: boolean; + defaultMemberPermissions: PermissionResolvable; +} + +``` +## Prerequiring +Is there a [service](../guide/walkthrough/services) that is required at the top level of a command? +- Create an ES6 script anywhere: + +```ts title="scripts/prerequire.mjs" +import { makeDependencies, single } from '@sern/handler' +import { Client } from 'discord.js' + +await makeDependencies({ + root => root.add({ '@sern/client': single(() => new Client(...options) })) +}) +``` +This will create a container for publishing. (as of 0.6.0, client is required or this will crash) + +### Example: command published in guild + +#### Script ran: +``` +sern commands publish -i ./scripts/prerequire.mjs +``` +```ts title=src/commands/ping.ts +import { commandModule, Service, CommandType } from '@sern/handler' + +const client = Service('@sern/client'); + +export const config = { + guildIds: ["889026545715400705"] +} + +export default commandModule( { + type: CommandType.Slash + description: `${client.user.username}'s ping`, + execute: (ctx) => { + ctx.reply('pong') + } +}) + +``` diff --git a/docs/guide/walkthrough/cli.md b/docs/guide/walkthrough/cli.md index 1b1fb4ec9..2e534bec7 100644 --- a/docs/guide/walkthrough/cli.md +++ b/docs/guide/walkthrough/cli.md @@ -20,6 +20,8 @@ sern plugins Make sure to have a correct [sern.config.json](./good-to-know.md#sernconfigjson) ::: +[Click here](../cli) + This will display a menu selection of all installable plugins.
**Note**: You must have a [sern.config.json](good-to-know.md) to use this command. diff --git a/static/img/Code_-_Insiders_2kTVzm0uIQ.gif b/static/img/Code_-_Insiders_2kTVzm0uIQ.gif new file mode 100644 index 0000000000000000000000000000000000000000..8b131e2fba7d64ee8ecbebed79f666f409ab7ab6 GIT binary patch literal 40103 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 literal 0 HcmV?d00001