diff --git a/docs/tutorial/en/04-setting-up-bot/create-discord-app.md b/docs/tutorial/en/04-setting-up-bot/create-discord-app.md index 6dbdd6aa5..8ccf7aff0 100644 --- a/docs/tutorial/en/04-setting-up-bot/create-discord-app.md +++ b/docs/tutorial/en/04-setting-up-bot/create-discord-app.md @@ -18,10 +18,6 @@ Alright, enough rambling. Let's open up a terminal (your favorite thing I know.. yarn add dotenv ``` This command will add dotenv to the dependencies. Awesome! -Let's now go to our `index.js` file and add a new import: -```js -import 'dotenv/config' -``` And create a blank `.env` file in the root of your project directory (the directory where, for example, your `package.json` file is) ``` @@ -92,4 +88,4 @@ And your bot should start up in no time! Congrats! --- Written by [Sr Izan](../intro/who-are-we#ethan) Get the [source code](https://github.com/sern-handler/tutorial-bot/tree/setting-up-bot/creating-discord-app)! - \ No newline at end of file + diff --git a/docs/tutorial/en/05-overview/commands.md b/docs/tutorial/en/05-overview/commands.md index e69de29bb..9221ae8de 100644 --- a/docs/tutorial/en/05-overview/commands.md +++ b/docs/tutorial/en/05-overview/commands.md @@ -0,0 +1,59 @@ +--- +title: commands +sidebar_position: 2 +--- + +# Commands + +Every sern command is located in the commands directory. + +:::caution +Any command outside the specificed directory from `Sern.init` will be ignored! +::: + +### Look at ping.js (go into your tutorial rn) + +Please soak in all the comments I wrote for what each field will do. We will make a brand new command. + +:::tip +The name of your command will be the name of your file. This is the ping command. +::: + +We can activate this command by running `!ping` or `/ping` + +Each command will follow this similar structure. +In this tutorial, we'll be making tictactoe! + +### New command +- Make a new file +- Call it **tictactoe.js** +- import `CommandType` and `commandModule` from `@sern/handler` +- export this command under the [**default**](https://www.geeksforgeeks.org/what-is-export-default-in-javascript) export +- give it the type `CommandType.Slash` +- Give it a description. +#### Halfway +This is what your command should look like rn + +```js title=./commands/tictactoe.js +export default commandModule({ + type: CommandType.Slash, + description: "I do tictactoe." +}) +``` +- Give it a function to execute. + - For now, let's tell the command to execute a reply like "in progress" +- run `sern commands publish` +- Your command should be usable on discord now! + +### Result +Your command should now look something along the lines of this: +```js title=./commands/tictactoe.js +export default commandModule({ + type: CommandType.Slash, + description: "I do tictactoe." + execute: (ctx) => { + ctx.reply("Pwease wait. dis command in pwogwess"); + } +}) +``` + diff --git a/docs/tutorial/en/05-overview/plugins.md b/docs/tutorial/en/05-overview/plugins.md new file mode 100644 index 000000000..af78fc6de --- /dev/null +++ b/docs/tutorial/en/05-overview/plugins.md @@ -0,0 +1,7 @@ +--- +title: plugins? +sidebar_position: 3 +--- + + + diff --git a/docs/tutorial/en/05-overview/start.md b/docs/tutorial/en/05-overview/start.md index 70a69d5fc..717e3f43b 100644 --- a/docs/tutorial/en/05-overview/start.md +++ b/docs/tutorial/en/05-overview/start.md @@ -1,9 +1,23 @@ +--- +title: index +sidebar_position: 1 +--- + # start ## initiate We start at the humble index.js. This is where this bot will start. Notice the Sern.init, hmm... I wonder what that does. (it initiates sern) -A few options are availible, which are conviently labeled already. Make sure to take a look at them. +A few options are availible, which are **conveniently labeled already**. Make sure to glance here. ## dependencies -This requires a little more explaning. Basically in `makeDependencies`, we initiate a container of services and structures. sern and you, the developer will use these structures. In the [template](../04-setting-up-bot/create-bot) you have now, we only initiate the client, which is necessary for the handler to run. +This requires a little more explaning. In `makeDependencies`, add necessary objects to run your application. you and sern, will use these structures. In the [template](../04-setting-up-bot/create-bot) you have now, we only initiate the client, which is necessary for the handler to run. + +```js +await makeDependencies({ + build: (root) => root.add({ + '@sern/client': single(() => client) // we register our client into sern + }) +}) +``` +