From 7be330247916872df768c0525e39bd54afbd98e3 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 13 Aug 2022 21:36:48 +0000 Subject: [PATCH] deploy: 8845e3827d1d3beab070485676e080b64d081e17 --- 404.html | 4 ++-- ...c1bfe9.c3aac910.js => 1ac1bfe9.29450634.js} | 2 +- ...in.2eafbcd9.js => runtime~main.54351663.js} | 2 +- docs/api.html | 4 ++-- docs/api/classes/Context.html | 4 ++-- docs/api/classes/SernEmitter.html | 4 ++-- docs/api/enums/CommandType.html | 4 ++-- docs/api/enums/EventType.html | 4 ++-- docs/api/enums/PayloadType.html | 4 ++-- docs/api/enums/PluginType.html | 4 ++-- docs/api/interfaces/Controller.html | 4 ++-- docs/api/interfaces/Wrapper.html | 4 ++-- docs/api/modules.html | 4 ++-- docs/api/namespaces/Sern.html | 4 ++-- docs/guide.html | 4 ++-- docs/guide/getting-started/choose-ide.html | 4 ++-- docs/guide/getting-started/preparing.html | 4 ++-- docs/guide/walkthrough/cli.html | 4 ++-- docs/guide/walkthrough/conclusion.html | 4 ++-- docs/guide/walkthrough/first-command.html | 4 ++-- docs/guide/walkthrough/first-event.html | 4 ++-- docs/guide/walkthrough/goal.html | 4 ++-- docs/guide/walkthrough/good-to-know.html | 4 ++-- docs/guide/walkthrough/plugins.html | 4 ++-- docs/guide/walkthrough/sern-emitter.html | 4 ++-- docs/intro.html | 4 ++-- fr/404.html | 4 ++-- ...c1bfe9.76036e65.js => 1ac1bfe9.b0c567c5.js} | 2 +- ...in.3ca44381.js => runtime~main.5db61f60.js} | 2 +- fr/docs/api.html | 4 ++-- fr/docs/api/classes/Context.html | 4 ++-- fr/docs/api/classes/SernEmitter.html | 4 ++-- fr/docs/api/enums/CommandType.html | 4 ++-- fr/docs/api/enums/EventType.html | 4 ++-- fr/docs/api/enums/PayloadType.html | 4 ++-- fr/docs/api/enums/PluginType.html | 4 ++-- fr/docs/api/interfaces/Controller.html | 4 ++-- fr/docs/api/interfaces/Wrapper.html | 4 ++-- fr/docs/api/modules.html | 4 ++-- fr/docs/api/namespaces/Sern.html | 4 ++-- fr/docs/guide.html | 4 ++-- fr/docs/guide/getting-started/choose-ide.html | 4 ++-- fr/docs/guide/getting-started/preparing.html | 4 ++-- fr/docs/guide/walkthrough/cli.html | 4 ++-- fr/docs/guide/walkthrough/conclusion.html | 4 ++-- fr/docs/guide/walkthrough/first-command.html | 4 ++-- fr/docs/guide/walkthrough/first-event.html | 4 ++-- fr/docs/guide/walkthrough/goal.html | 4 ++-- fr/docs/guide/walkthrough/good-to-know.html | 4 ++-- fr/docs/guide/walkthrough/plugins.html | 4 ++-- fr/docs/guide/walkthrough/sern-emitter.html | 4 ++-- fr/docs/intro.html | 4 ++-- fr/img/R.png | Bin 0 -> 21551 bytes fr/img/eventplugins.drawio.svg | 4 ++++ fr/img/icon.png | Bin 0 -> 29892 bytes fr/img/logo.png | Bin 0 -> 125133 bytes fr/img/logo.svg | 1 - fr/index.html | 4 ++-- fr/markdown-page.html | 4 ++-- fr/plugins.html | 4 ++-- img/R.png | Bin 0 -> 21551 bytes img/eventplugins.drawio.svg | 4 ++++ img/icon.png | Bin 0 -> 29892 bytes img/logo.png | Bin 0 -> 125133 bytes img/logo.svg | 1 - index.html | 4 ++-- markdown-page.html | 4 ++-- plugins.html | 4 ++-- tr/404.html | 4 ++-- ...c1bfe9.1dbf1ab5.js => 1ac1bfe9.685616df.js} | 2 +- ...in.10d5e230.js => runtime~main.eef9e2a1.js} | 2 +- tr/docs/api.html | 4 ++-- tr/docs/api/classes/Context.html | 4 ++-- tr/docs/api/classes/SernEmitter.html | 4 ++-- tr/docs/api/enums/CommandType.html | 4 ++-- tr/docs/api/enums/EventType.html | 4 ++-- tr/docs/api/enums/PayloadType.html | 4 ++-- tr/docs/api/enums/PluginType.html | 4 ++-- tr/docs/api/interfaces/Controller.html | 4 ++-- tr/docs/api/interfaces/Wrapper.html | 4 ++-- tr/docs/api/modules.html | 4 ++-- tr/docs/api/namespaces/Sern.html | 4 ++-- tr/docs/guide.html | 4 ++-- tr/docs/guide/getting-started/choose-ide.html | 4 ++-- tr/docs/guide/getting-started/preparing.html | 4 ++-- tr/docs/guide/walkthrough/cli.html | 4 ++-- tr/docs/guide/walkthrough/conclusion.html | 4 ++-- tr/docs/guide/walkthrough/first-command.html | 4 ++-- tr/docs/guide/walkthrough/first-event.html | 4 ++-- tr/docs/guide/walkthrough/goal.html | 4 ++-- tr/docs/guide/walkthrough/good-to-know.html | 4 ++-- tr/docs/guide/walkthrough/plugins.html | 4 ++-- tr/docs/guide/walkthrough/sern-emitter.html | 4 ++-- tr/docs/intro.html | 4 ++-- tr/img/R.png | Bin 0 -> 21551 bytes tr/img/eventplugins.drawio.svg | 4 ++++ tr/img/icon.png | Bin 0 -> 29892 bytes tr/img/logo.png | Bin 0 -> 125133 bytes tr/img/logo.svg | 1 - tr/index.html | 4 ++-- tr/markdown-page.html | 4 ++-- tr/plugins.html | 4 ++-- 102 files changed, 180 insertions(+), 171 deletions(-) rename assets/js/{1ac1bfe9.c3aac910.js => 1ac1bfe9.29450634.js} (98%) rename assets/js/{runtime~main.2eafbcd9.js => runtime~main.54351663.js} (98%) rename fr/assets/js/{1ac1bfe9.76036e65.js => 1ac1bfe9.b0c567c5.js} (98%) rename fr/assets/js/{runtime~main.3ca44381.js => runtime~main.5db61f60.js} (98%) create mode 100644 fr/img/R.png create mode 100644 fr/img/eventplugins.drawio.svg create mode 100644 fr/img/icon.png create mode 100644 fr/img/logo.png delete mode 100644 fr/img/logo.svg create mode 100644 img/R.png create mode 100644 img/eventplugins.drawio.svg create mode 100644 img/icon.png create mode 100644 img/logo.png delete mode 100644 img/logo.svg rename tr/assets/js/{1ac1bfe9.1dbf1ab5.js => 1ac1bfe9.685616df.js} (98%) rename tr/assets/js/{runtime~main.10d5e230.js => runtime~main.eef9e2a1.js} (98%) create mode 100644 tr/img/R.png create mode 100644 tr/img/eventplugins.drawio.svg create mode 100644 tr/img/icon.png create mode 100644 tr/img/logo.png delete mode 100644 tr/img/logo.svg diff --git a/404.html b/404.html index 015221db5..fd828f2f5 100644 --- a/404.html +++ b/404.html @@ -5,13 +5,13 @@ Page Not Found | sern - Handlers. Redefined. - +
Skip to main content

Page Not Found

We could not find what you were looking for.

Please contact the owner of the site that linked you to the original URL and let them know their link is broken.

- + \ No newline at end of file diff --git a/assets/js/1ac1bfe9.c3aac910.js b/assets/js/1ac1bfe9.29450634.js similarity index 98% rename from assets/js/1ac1bfe9.c3aac910.js rename to assets/js/1ac1bfe9.29450634.js index 57cbce417..c50b3f4e2 100644 --- a/assets/js/1ac1bfe9.c3aac910.js +++ b/assets/js/1ac1bfe9.29450634.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_sern_website=self.webpackChunk_sern_website||[]).push([[5],{3905:(e,n,t)=>{t.d(n,{Zo:()=>p,kt:()=>m});var r=t(7294);function o(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function a(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function l(e){for(var n=1;n=0||(o[t]=e[t]);return o}(e,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}var s=r.createContext({}),u=function(e){var n=r.useContext(s),t=n;return e&&(t="function"==typeof e?e(n):l(l({},n),e)),t},p=function(e){var n=u(e.components);return r.createElement(s.Provider,{value:n},e.children)},c={inlineCode:"code",wrapper:function(e){var n=e.children;return r.createElement(r.Fragment,{},n)}},d=r.forwardRef((function(e,n){var t=e.components,o=e.mdxType,a=e.originalType,s=e.parentName,p=i(e,["components","mdxType","originalType","parentName"]),d=u(t),m=o,g=d["".concat(s,".").concat(m)]||d[m]||c[m]||a;return t?r.createElement(g,l(l({ref:n},p),{},{components:t})):r.createElement(g,l({ref:n},p))}));function m(e,n){var t=arguments,o=n&&n.mdxType;if("string"==typeof e||o){var a=t.length,l=new Array(a);l[0]=d;var i={};for(var s in n)hasOwnProperty.call(n,s)&&(i[s]=n[s]);i.originalType=e,i.mdxType="string"==typeof e?e:o,l[1]=i;for(var u=2;u{t.r(n),t.d(n,{assets:()=>s,contentTitle:()=>l,default:()=>c,frontMatter:()=>a,metadata:()=>i,toc:()=>u});var r=t(7462),o=(t(7294),t(3905));const a={sidebar_position:5},l="Plugins",i={unversionedId:"guide/walkthrough/plugins",id:"guide/walkthrough/plugins",title:"Plugins",description:"As of now, modules seem a little underwhelming. It appears that sern doesn't have all the features of a standard handler,",source:"@site/docs/guide/walkthrough/plugins.md",sourceDirName:"guide/walkthrough",slug:"/guide/walkthrough/plugins",permalink:"/docs/guide/walkthrough/plugins",draft:!1,editUrl:"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/guide/walkthrough/plugins.md",tags:[],version:"current",sidebarPosition:5,frontMatter:{sidebar_position:5},sidebar:"tutorialSidebar",previous:{title:"First Event Module",permalink:"/docs/guide/walkthrough/first-event"},next:{title:"The SernEmitter class",permalink:"/docs/guide/walkthrough/sern-emitter"}},s={},u=[{value:"Command Plugins",id:"command-plugins",level:2},{value:"The controller object",id:"the-controller-object",level:3},{value:"Event Plugins",id:"event-plugins",level:2}],p={toc:u};function c(e){let{components:n,...a}=e;return(0,o.kt)("wrapper",(0,r.Z)({},p,a,{components:n,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"plugins"},"Plugins"),(0,o.kt)("p",null,"As of now, modules seem a little underwhelming. It appears that sern doesn't have all the features of a standard handler, which manages permissions, categorizes, cool-downs, publishes application commands, role permissions, etc."),(0,o.kt)("p",null,"Many important parts that manage access and help streamline command creation to make are apparently absent. Below is an example of an event plugin, one of the types of plugins."),(0,o.kt)("p",null,"Typescript:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-typescript"},'export function serenOnly(): EventPlugin {\n return {\n type: PluginType.Event,\n async execute([ctx, args], controller) {\n if (ctx.user.id !== "182326315813306368") {\n await ctx.reply({content: "You cannot use this command"})\n return controller.stop()\n }\n return controller.next();\n }\n }\n}\n')),(0,o.kt)("p",null,"Javascript:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-javascript"},'export function serenOnly() {\n return {\n type: PluginType.Event,\n async execute([ctx, args], controller) {\n if (ctx.user.id !== "182326315813306368") {\n await ctx.reply({content: "You cannot use this command"})\n return controller.stop()\n }\n return controller.next();\n }\n }\n}\n')),(0,o.kt)("br",null)," As part of our extensibility, the plugins feature make sern just as powerful, if not more powerful than standard handlers. Plugins modify and add new behavior to standard modules, extending customizability and implementing automation.",(0,o.kt)("br",null)," At the moment, there are two types of plugins:",(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Command Plugins"),(0,o.kt)("li",{parentName:"ul"},"Event Plugins")),(0,o.kt)("h2",{id:"command-plugins"},"Command Plugins"),(0,o.kt)("p",null,"All modules are registered into sern's system. With command plugins, you can modify how commands are loaded,\nor do some kind of preprocessing before they are loaded into sern."),(0,o.kt)("h3",{id:"the-controller-object"},"The controller object"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-typescript"},"export interface Controller {\n next: () => Ok;\n stop: () => Err;\n}\n")),(0,o.kt)("p",null,"An instance of the above object is passed into every plugin. ",(0,o.kt)("br",null),"\nThis controls whether a module is stored into sern. ",(0,o.kt)("br",null),"\nTypescript:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-typescript"},"export function inDir(dir : string) : CommandPlugin {\n return {\n type: PluginType.Command,\n async execute(wrapper, { absPath, module }, controller) {\n if(path.dirname(absPath) !== dir) {\n console.log(+new Date(), `${module.name} is not in the correct directory!`);\n return controller.stop()\n }\n console.log(+new Date(), `${module.name} is in the correct directory!`);\n return controller.next(); //continue\n }\n }\n}\n")),(0,o.kt)("p",null,"Javascript:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-javascript"},"export function inDir(dir : string) {\n return {\n type: PluginType.Command,\n async execute(wrapper, { absPath, module }, controller) {\n if(path.dirname(absPath) !== dir) {\n console.log(+new Date(), `${module.name} is not in the correct directory!`);\n return controller.stop()\n }\n console.log(+new Date(), `${module.name} is in the correct directory!`);\n return controller.next(); //continue\n }\n }\n}\n")),(0,o.kt)("p",null,"Above, this simple plugin logs that the module has been loaded along with a timestamp. ",(0,o.kt)("br",null),"\nAgain, it is up to ",(0,o.kt)("strong",{parentName:"p"},"you")," to define plugin logic! The possibilities to customize your bots are endless."),(0,o.kt)("admonition",{type:"tip"},(0,o.kt)("p",{parentName:"admonition"},"Command Plugins are good for ensuring the shape, location, and preprocessing of your commands.")),(0,o.kt)("h2",{id:"event-plugins"},"Event Plugins"),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"event-plugins",src:t(1910).Z,width:"542",height:"377"})," ",(0,o.kt)("br",null)),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"An event is emitted by discord.js."),(0,o.kt)("li",{parentName:"ul"},"This event is passed to all plugins (",(0,o.kt)("strong",{parentName:"li"},"in order!!"),"),"),(0,o.kt)("li",{parentName:"ul"},"If all are successful,")),(0,o.kt)("p",null,"The command is executed. Calling ",(0,o.kt)("inlineCode",{parentName:"p"},"controller.stop()")," notifies sern that this command should not be run,\nand this event is ignored."),(0,o.kt)("p",null,"So, what does a command module look like with plugins?"),(0,o.kt)("p",null,"Typescript:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-typescript"},"import { commandModule, CommandType } from '@sern/handler';\n\nexport default commandModule({\n type: CommandType.Both,\n plugins: [\n inDir(\"other\"), \n serenOnly()\n ],\n description: 'A ping command',\n //alias : [],\n execute: async (ctx, args) => {\n await ctx.reply({ content: 'Pong \ud83c\udfd3' });\n },\n});\n")),(0,o.kt)("p",null,"Javascript:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-typescript"},"const { commandModule, CommandType } = require('@sern/handler');\n\nexports.default = commandModule({\n type: CommandType.Both,\n plugins: [\n inDir(\"other\"), \n serenOnly() //The plugins in this section applied to this module!\n ],\n description: 'A ping command',\n //alias : [],\n execute: async (ctx, args) => {\n await ctx.reply({ content: 'Pong \ud83c\udfd3' });\n },\n});\n")),(0,o.kt)("p",null,"Can you predict the behavior of this command?"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Before loading into sern, this command module will check if this module is in the correct directory ",(0,o.kt)("inlineCode",{parentName:"li"},"other"),"."),(0,o.kt)("li",{parentName:"ul"},"Before an event occurs, this command module will check if the user has the id ",(0,o.kt)("inlineCode",{parentName:"li"},"182326315813306368"),".")),(0,o.kt)("admonition",{type:"tip"},(0,o.kt)("p",{parentName:"admonition"},"Event Plugins are good for filtering, preconditions, parsing.")),(0,o.kt)("p",null,"If all plugins return ",(0,o.kt)("inlineCode",{parentName:"p"},"controller.next()"),", this command replies ",(0,o.kt)("inlineCode",{parentName:"p"},"Pong \ud83c\udfd3")))}c.isMDXComponent=!0},1910:(e,n,t)=>{t.d(n,{Z:()=>r});const r=t.p+"assets/images/eventplugins.drawio-f22ee78041e60a62a45024f542a2b104.svg"}}]); \ No newline at end of file +"use strict";(self.webpackChunk_sern_website=self.webpackChunk_sern_website||[]).push([[5],{3905:(e,n,t)=>{t.d(n,{Zo:()=>p,kt:()=>m});var r=t(7294);function o(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function a(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function l(e){for(var n=1;n=0||(o[t]=e[t]);return o}(e,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}var s=r.createContext({}),u=function(e){var n=r.useContext(s),t=n;return e&&(t="function"==typeof e?e(n):l(l({},n),e)),t},p=function(e){var n=u(e.components);return r.createElement(s.Provider,{value:n},e.children)},c={inlineCode:"code",wrapper:function(e){var n=e.children;return r.createElement(r.Fragment,{},n)}},d=r.forwardRef((function(e,n){var t=e.components,o=e.mdxType,a=e.originalType,s=e.parentName,p=i(e,["components","mdxType","originalType","parentName"]),d=u(t),m=o,g=d["".concat(s,".").concat(m)]||d[m]||c[m]||a;return t?r.createElement(g,l(l({ref:n},p),{},{components:t})):r.createElement(g,l({ref:n},p))}));function m(e,n){var t=arguments,o=n&&n.mdxType;if("string"==typeof e||o){var a=t.length,l=new Array(a);l[0]=d;var i={};for(var s in n)hasOwnProperty.call(n,s)&&(i[s]=n[s]);i.originalType=e,i.mdxType="string"==typeof e?e:o,l[1]=i;for(var u=2;u{t.r(n),t.d(n,{assets:()=>s,contentTitle:()=>l,default:()=>c,frontMatter:()=>a,metadata:()=>i,toc:()=>u});var r=t(7462),o=(t(7294),t(3905));const a={sidebar_position:5},l="Plugins",i={unversionedId:"guide/walkthrough/plugins",id:"guide/walkthrough/plugins",title:"Plugins",description:"As of now, modules seem a little underwhelming. It appears that sern doesn't have all the features of a standard handler,",source:"@site/docs/guide/walkthrough/plugins.md",sourceDirName:"guide/walkthrough",slug:"/guide/walkthrough/plugins",permalink:"/docs/guide/walkthrough/plugins",draft:!1,editUrl:"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/guide/walkthrough/plugins.md",tags:[],version:"current",sidebarPosition:5,frontMatter:{sidebar_position:5},sidebar:"tutorialSidebar",previous:{title:"First Event Module",permalink:"/docs/guide/walkthrough/first-event"},next:{title:"The SernEmitter class",permalink:"/docs/guide/walkthrough/sern-emitter"}},s={},u=[{value:"Command Plugins",id:"command-plugins",level:2},{value:"The controller object",id:"the-controller-object",level:3},{value:"Event Plugins",id:"event-plugins",level:2}],p={toc:u};function c(e){let{components:n,...a}=e;return(0,o.kt)("wrapper",(0,r.Z)({},p,a,{components:n,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"plugins"},"Plugins"),(0,o.kt)("p",null,"As of now, modules seem a little underwhelming. It appears that sern doesn't have all the features of a standard handler, which manages permissions, categorizes, cool-downs, publishes application commands, role permissions, etc."),(0,o.kt)("p",null,"Many important parts that manage access and help streamline command creation to make are apparently absent. Below is an example of an event plugin, one of the types of plugins."),(0,o.kt)("p",null,"Typescript:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-typescript"},'export function serenOnly(): EventPlugin {\n return {\n type: PluginType.Event,\n async execute([ctx, args], controller) {\n if (ctx.user.id !== "182326315813306368") {\n await ctx.reply({content: "You cannot use this command"})\n return controller.stop()\n }\n return controller.next();\n }\n }\n}\n')),(0,o.kt)("p",null,"Javascript:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-javascript"},'export function serenOnly() {\n return {\n type: PluginType.Event,\n async execute([ctx, args], controller) {\n if (ctx.user.id !== "182326315813306368") {\n await ctx.reply({content: "You cannot use this command"})\n return controller.stop()\n }\n return controller.next();\n }\n }\n}\n')),(0,o.kt)("br",null)," As part of our extensibility, the plugins feature make sern just as powerful, if not more powerful than standard handlers. Plugins modify and add new behavior to standard modules, extending customizability and implementing automation.",(0,o.kt)("br",null)," At the moment, there are two types of plugins:",(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Command Plugins"),(0,o.kt)("li",{parentName:"ul"},"Event Plugins")),(0,o.kt)("h2",{id:"command-plugins"},"Command Plugins"),(0,o.kt)("p",null,"All modules are registered into sern's system. With command plugins, you can modify how commands are loaded,\nor do some kind of preprocessing before they are loaded into sern."),(0,o.kt)("h3",{id:"the-controller-object"},"The controller object"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-typescript"},"export interface Controller {\n next: () => Ok;\n stop: () => Err;\n}\n")),(0,o.kt)("p",null,"An instance of the above object is passed into every plugin. ",(0,o.kt)("br",null),"\nThis controls whether a module is stored into sern. ",(0,o.kt)("br",null),"\nTypescript:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-typescript"},"export function inDir(dir : string) : CommandPlugin {\n return {\n type: PluginType.Command,\n async execute(wrapper, { absPath, module }, controller) {\n if(path.dirname(absPath) !== dir) {\n console.log(+new Date(), `${module.name} is not in the correct directory!`);\n return controller.stop()\n }\n console.log(+new Date(), `${module.name} is in the correct directory!`);\n return controller.next(); //continue\n }\n }\n}\n")),(0,o.kt)("p",null,"Javascript:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-javascript"},"export function inDir(dir : string) {\n return {\n type: PluginType.Command,\n async execute(wrapper, { absPath, module }, controller) {\n if(path.dirname(absPath) !== dir) {\n console.log(+new Date(), `${module.name} is not in the correct directory!`);\n return controller.stop()\n }\n console.log(+new Date(), `${module.name} is in the correct directory!`);\n return controller.next(); //continue\n }\n }\n}\n")),(0,o.kt)("p",null,"Above, this simple plugin logs that the module has been loaded along with a timestamp. ",(0,o.kt)("br",null),"\nAgain, it is up to ",(0,o.kt)("strong",{parentName:"p"},"you")," to define plugin logic! The possibilities to customize your bots are endless."),(0,o.kt)("admonition",{type:"tip"},(0,o.kt)("p",{parentName:"admonition"},"Command Plugins are good for ensuring the shape, location, and preprocessing of your commands.")),(0,o.kt)("h2",{id:"event-plugins"},"Event Plugins"),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"event-plugins",src:t(6061).Z,width:"542",height:"377"})," ",(0,o.kt)("br",null)),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"An event is emitted by discord.js."),(0,o.kt)("li",{parentName:"ul"},"This event is passed to all plugins (",(0,o.kt)("strong",{parentName:"li"},"in order!!"),"),"),(0,o.kt)("li",{parentName:"ul"},"If all are successful,")),(0,o.kt)("p",null,"The command is executed. Calling ",(0,o.kt)("inlineCode",{parentName:"p"},"controller.stop()")," notifies sern that this command should not be run,\nand this event is ignored."),(0,o.kt)("p",null,"So, what does a command module look like with plugins?"),(0,o.kt)("p",null,"Typescript:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-typescript"},"import { commandModule, CommandType } from '@sern/handler';\n\nexport default commandModule({\n type: CommandType.Both,\n plugins: [\n inDir(\"other\"), \n serenOnly()\n ],\n description: 'A ping command',\n //alias : [],\n execute: async (ctx, args) => {\n await ctx.reply({ content: 'Pong \ud83c\udfd3' });\n },\n});\n")),(0,o.kt)("p",null,"Javascript:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-typescript"},"const { commandModule, CommandType } = require('@sern/handler');\n\nexports.default = commandModule({\n type: CommandType.Both,\n plugins: [\n inDir(\"other\"), \n serenOnly() //The plugins in this section applied to this module!\n ],\n description: 'A ping command',\n //alias : [],\n execute: async (ctx, args) => {\n await ctx.reply({ content: 'Pong \ud83c\udfd3' });\n },\n});\n")),(0,o.kt)("p",null,"Can you predict the behavior of this command?"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Before loading into sern, this command module will check if this module is in the correct directory ",(0,o.kt)("inlineCode",{parentName:"li"},"other"),"."),(0,o.kt)("li",{parentName:"ul"},"Before an event occurs, this command module will check if the user has the id ",(0,o.kt)("inlineCode",{parentName:"li"},"182326315813306368"),".")),(0,o.kt)("admonition",{type:"tip"},(0,o.kt)("p",{parentName:"admonition"},"Event Plugins are good for filtering, preconditions, parsing.")),(0,o.kt)("p",null,"If all plugins return ",(0,o.kt)("inlineCode",{parentName:"p"},"controller.next()"),", this command replies ",(0,o.kt)("inlineCode",{parentName:"p"},"Pong \ud83c\udfd3")))}c.isMDXComponent=!0},6061:(e,n,t)=>{t.d(n,{Z:()=>r});const r=t.p+"assets/images/eventplugins.drawio-f22ee78041e60a62a45024f542a2b104.svg"}}]); \ No newline at end of file diff --git a/assets/js/runtime~main.2eafbcd9.js b/assets/js/runtime~main.54351663.js similarity index 98% rename from assets/js/runtime~main.2eafbcd9.js rename to assets/js/runtime~main.54351663.js index e2c6b852f..9661c6fe4 100644 --- a/assets/js/runtime~main.2eafbcd9.js +++ b/assets/js/runtime~main.54351663.js @@ -1 +1 @@ -(()=>{"use strict";var e,t,r,a,f,o={},c={};function n(e){var t=c[e];if(void 0!==t)return t.exports;var r=c[e]={id:e,loaded:!1,exports:{}};return o[e].call(r.exports,r,r.exports,n),r.loaded=!0,r.exports}n.m=o,n.c=c,e=[],n.O=(t,r,a,f)=>{if(!r){var o=1/0;for(i=0;i=f)&&Object.keys(n.O).every((e=>n.O[e](r[d])))?r.splice(d--,1):(c=!1,f0&&e[i-1][2]>f;i--)e[i]=e[i-1];e[i]=[r,a,f]},n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,n.t=function(e,a){if(1&a&&(e=this(e)),8&a)return e;if("object"==typeof e&&e){if(4&a&&e.__esModule)return e;if(16&a&&"function"==typeof e.then)return e}var f=Object.create(null);n.r(f);var o={};t=t||[null,r({}),r([]),r(r)];for(var c=2&a&&e;"object"==typeof c&&!~t.indexOf(c);c=r(c))Object.getOwnPropertyNames(c).forEach((t=>o[t]=()=>e[t]));return o.default=()=>e,n.d(f,o),f},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.f={},n.e=e=>Promise.all(Object.keys(n.f).reduce(((t,r)=>(n.f[r](e,t),t)),[])),n.u=e=>"assets/js/"+({5:"1ac1bfe9",45:"888566f1",53:"5bc4ccbc",62:"69369ae2",85:"1f391b9e",127:"7e205c4a",137:"1aef51bd",146:"608ca171",195:"c4f5d8e4",197:"935f2afb",226:"707baeff",270:"e4877132",277:"c4348237",306:"f6aebfbf",322:"a5467962",332:"73bd57bd",363:"26f1f3a5",397:"312c2bc5",414:"393be207",429:"eea0bf40",472:"cf183316",514:"1be78505",597:"5e8c322a",640:"a96c96b0",652:"bcd9df7e",671:"0e384e19",703:"981f6151",712:"3dc7c79a",750:"3a2d3092",803:"9201de17",865:"e8e3d8c7",918:"17896441"}[e]||e)+"."+{5:"c3aac910",45:"efdd0a6d",53:"9cf1ed02",62:"1291f58b",85:"d7ab1744",127:"2da4208c",137:"87f8be34",146:"2189cf8e",195:"5e4ab8ce",197:"723ea298",226:"528132fe",270:"e0f6e50e",277:"bbd90c09",306:"98ec2cc1",322:"ad0a4733",332:"261b9526",363:"642e76b9",397:"1f24705a",414:"48b8d064",429:"7176d7bf",472:"bdf11e93",503:"668d49f6",514:"f852ff9f",597:"42a28d05",640:"fea8d1f1",652:"892cfb09",671:"10a24cbf",703:"229dbd75",712:"b1834d5d",750:"e85498fd",803:"5098ec91",865:"c57520fe",918:"15289f85",972:"61be9a41"}[e]+".js",n.miniCssF=e=>{},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),a={},f="@sern/website:",n.l=(e,t,r,o)=>{if(a[e])a[e].push(t);else{var c,d;if(void 0!==r)for(var b=document.getElementsByTagName("script"),i=0;i{c.onerror=c.onload=null,clearTimeout(s);var f=a[e];if(delete a[e],c.parentNode&&c.parentNode.removeChild(c),f&&f.forEach((e=>e(r))),t)return t(r)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:c}),12e4);c.onerror=l.bind(null,c.onerror),c.onload=l.bind(null,c.onload),d&&document.head.appendChild(c)}},n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.p="/",n.gca=function(e){return e={17896441:"918","1ac1bfe9":"5","888566f1":"45","5bc4ccbc":"53","69369ae2":"62","1f391b9e":"85","7e205c4a":"127","1aef51bd":"137","608ca171":"146",c4f5d8e4:"195","935f2afb":"197","707baeff":"226",e4877132:"270",c4348237:"277",f6aebfbf:"306",a5467962:"322","73bd57bd":"332","26f1f3a5":"363","312c2bc5":"397","393be207":"414",eea0bf40:"429",cf183316:"472","1be78505":"514","5e8c322a":"597",a96c96b0:"640",bcd9df7e:"652","0e384e19":"671","981f6151":"703","3dc7c79a":"712","3a2d3092":"750","9201de17":"803",e8e3d8c7:"865"}[e]||e,n.p+n.u(e)},(()=>{var e={303:0,532:0};n.f.j=(t,r)=>{var a=n.o(e,t)?e[t]:void 0;if(0!==a)if(a)r.push(a[2]);else if(/^(303|532)$/.test(t))e[t]=0;else{var f=new Promise(((r,f)=>a=e[t]=[r,f]));r.push(a[2]=f);var o=n.p+n.u(t),c=new Error;n.l(o,(r=>{if(n.o(e,t)&&(0!==(a=e[t])&&(e[t]=void 0),a)){var f=r&&("load"===r.type?"missing":r.type),o=r&&r.target&&r.target.src;c.message="Loading chunk "+t+" failed.\n("+f+": "+o+")",c.name="ChunkLoadError",c.type=f,c.request=o,a[1](c)}}),"chunk-"+t,t)}},n.O.j=t=>0===e[t];var t=(t,r)=>{var a,f,o=r[0],c=r[1],d=r[2],b=0;if(o.some((t=>0!==e[t]))){for(a in c)n.o(c,a)&&(n.m[a]=c[a]);if(d)var i=d(n)}for(t&&t(r);b{"use strict";var e,t,r,a,f,o={},c={};function n(e){var t=c[e];if(void 0!==t)return t.exports;var r=c[e]={id:e,loaded:!1,exports:{}};return o[e].call(r.exports,r,r.exports,n),r.loaded=!0,r.exports}n.m=o,n.c=c,e=[],n.O=(t,r,a,f)=>{if(!r){var o=1/0;for(i=0;i=f)&&Object.keys(n.O).every((e=>n.O[e](r[d])))?r.splice(d--,1):(c=!1,f0&&e[i-1][2]>f;i--)e[i]=e[i-1];e[i]=[r,a,f]},n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,n.t=function(e,a){if(1&a&&(e=this(e)),8&a)return e;if("object"==typeof e&&e){if(4&a&&e.__esModule)return e;if(16&a&&"function"==typeof e.then)return e}var f=Object.create(null);n.r(f);var o={};t=t||[null,r({}),r([]),r(r)];for(var c=2&a&&e;"object"==typeof c&&!~t.indexOf(c);c=r(c))Object.getOwnPropertyNames(c).forEach((t=>o[t]=()=>e[t]));return o.default=()=>e,n.d(f,o),f},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.f={},n.e=e=>Promise.all(Object.keys(n.f).reduce(((t,r)=>(n.f[r](e,t),t)),[])),n.u=e=>"assets/js/"+({5:"1ac1bfe9",45:"888566f1",53:"5bc4ccbc",62:"69369ae2",85:"1f391b9e",127:"7e205c4a",137:"1aef51bd",146:"608ca171",195:"c4f5d8e4",197:"935f2afb",226:"707baeff",270:"e4877132",277:"c4348237",306:"f6aebfbf",322:"a5467962",332:"73bd57bd",363:"26f1f3a5",397:"312c2bc5",414:"393be207",429:"eea0bf40",472:"cf183316",514:"1be78505",597:"5e8c322a",640:"a96c96b0",652:"bcd9df7e",671:"0e384e19",703:"981f6151",712:"3dc7c79a",750:"3a2d3092",803:"9201de17",865:"e8e3d8c7",918:"17896441"}[e]||e)+"."+{5:"29450634",45:"efdd0a6d",53:"9cf1ed02",62:"1291f58b",85:"d7ab1744",127:"2da4208c",137:"87f8be34",146:"2189cf8e",195:"5e4ab8ce",197:"723ea298",226:"528132fe",270:"e0f6e50e",277:"bbd90c09",306:"98ec2cc1",322:"ad0a4733",332:"261b9526",363:"642e76b9",397:"1f24705a",414:"48b8d064",429:"7176d7bf",472:"bdf11e93",503:"668d49f6",514:"f852ff9f",597:"42a28d05",640:"fea8d1f1",652:"892cfb09",671:"10a24cbf",703:"229dbd75",712:"b1834d5d",750:"e85498fd",803:"5098ec91",865:"c57520fe",918:"15289f85",972:"61be9a41"}[e]+".js",n.miniCssF=e=>{},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),a={},f="@sern/website:",n.l=(e,t,r,o)=>{if(a[e])a[e].push(t);else{var c,d;if(void 0!==r)for(var b=document.getElementsByTagName("script"),i=0;i{c.onerror=c.onload=null,clearTimeout(s);var f=a[e];if(delete a[e],c.parentNode&&c.parentNode.removeChild(c),f&&f.forEach((e=>e(r))),t)return t(r)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:c}),12e4);c.onerror=l.bind(null,c.onerror),c.onload=l.bind(null,c.onload),d&&document.head.appendChild(c)}},n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.p="/",n.gca=function(e){return e={17896441:"918","1ac1bfe9":"5","888566f1":"45","5bc4ccbc":"53","69369ae2":"62","1f391b9e":"85","7e205c4a":"127","1aef51bd":"137","608ca171":"146",c4f5d8e4:"195","935f2afb":"197","707baeff":"226",e4877132:"270",c4348237:"277",f6aebfbf:"306",a5467962:"322","73bd57bd":"332","26f1f3a5":"363","312c2bc5":"397","393be207":"414",eea0bf40:"429",cf183316:"472","1be78505":"514","5e8c322a":"597",a96c96b0:"640",bcd9df7e:"652","0e384e19":"671","981f6151":"703","3dc7c79a":"712","3a2d3092":"750","9201de17":"803",e8e3d8c7:"865"}[e]||e,n.p+n.u(e)},(()=>{var e={303:0,532:0};n.f.j=(t,r)=>{var a=n.o(e,t)?e[t]:void 0;if(0!==a)if(a)r.push(a[2]);else if(/^(303|532)$/.test(t))e[t]=0;else{var f=new Promise(((r,f)=>a=e[t]=[r,f]));r.push(a[2]=f);var o=n.p+n.u(t),c=new Error;n.l(o,(r=>{if(n.o(e,t)&&(0!==(a=e[t])&&(e[t]=void 0),a)){var f=r&&("load"===r.type?"missing":r.type),o=r&&r.target&&r.target.src;c.message="Loading chunk "+t+" failed.\n("+f+": "+o+")",c.name="ChunkLoadError",c.type=f,c.request=o,a[1](c)}}),"chunk-"+t,t)}},n.O.j=t=>0===e[t];var t=(t,r)=>{var a,f,o=r[0],c=r[1],d=r[2],b=0;if(o.some((t=>0!==e[t]))){for(a in c)n.o(c,a)&&(n.m[a]=c[a]);if(d)var i=d(n)}for(t&&t(r);b @sern/handler | sern - Handlers. Redefined. - +

SernHandler

NPM versionNPM downloads[![License: MIT](https://img.shields.io/badge/License-MIT-blavk.svg)](https://opensource.org/licenses/MIT)

A customizable, batteries-included, powerful discord.js framework to automate and streamline your bot development.

Installation

npm install @sern/handler
yarn add @sern/handler
pnpm add @sern/handler

Basic Usage

index.js (CommonJS)

const { Client, GatewayIntentBits } = require('discord.js');
const { Sern } = require('@sern/handler');
const { defaultPrefix, token } = require('./config.json');

const client = new Client({
intents: [
GatewayIntentBits.Guilds,
GatewayIntentBits.GuildMembers,
GatewayIntentBits.GuildMessages
]
});

Sern.init({
client,
defaultPrefix,
commands : 'src/commands',
});

client.login(token);

ping.js (CommonJS)

const { Sern, CommandType } = require('@sern/handler');

exports.default = {
description: 'A ping pong command',
type: CommandType.Slash,
execute(ctx) {
ctx.reply('pong!');
}
};

See our templates for TypeScript examples and more

CLI

It is highly encouraged to use the command line interface for your project. Don't forget to view it.

Contribute

  • Read our contribution guidelines carefully
  • Pull up on issues and report bugs
  • All kinds of contributions are welcomed.

Roadmap

You can check our roadmap to see what's going to be added or patched in the future.

- + \ No newline at end of file diff --git a/docs/api/classes/Context.html b/docs/api/classes/Context.html index 1eda0dabf..21c4bdb76 100644 --- a/docs/api/classes/Context.html +++ b/docs/api/classes/Context.html @@ -5,7 +5,7 @@ Class: Context | sern - Handlers. Redefined. - + @@ -16,7 +16,7 @@ CommandType.Text or the event fired in a Both command was Message

Returns

ChatInputCommandInteraction<CacheType>

Defined in

src/handler/structures/context.ts:52


member

get member(): Nullish<GuildMember | APIGuildMember>

Returns

Nullish<GuildMember | APIGuildMember>

Defined in

src/handler/structures/context.ts:101


message

get message(): Message<boolean>

Getting the Message object. Crashes if module type is CommandType.Slash or the event fired in a Both command was ChatInputCommandInteraction

Returns

Message<boolean>

Defined in

src/handler/structures/context.ts:44


user

get user(): User

Returns

User

Defined in

src/handler/structures/context.ts:70

Methods

isEmpty

isEmpty(): boolean

Returns

boolean

Defined in

src/handler/structures/context.ts:129


reply

reply(content): Promise<Message<boolean>>

Parameters

NameType
contentstring | Omit<InteractionReplyOptions, "fetchReply"> | ReplyMessageOptions

Returns

Promise<Message<boolean>>

Defined in

src/handler/structures/context.ts:133


wrap

Static wrap(wrappable): Context

Parameters

NameType
wrappableMessage<boolean> | ChatInputCommandInteraction<CacheType>

Returns

Context

Defined in

src/handler/structures/context.ts:122

- + \ No newline at end of file diff --git a/docs/api/classes/SernEmitter.html b/docs/api/classes/SernEmitter.html index 82e72d888..3c6075438 100644 --- a/docs/api/classes/SernEmitter.html +++ b/docs/api/classes/SernEmitter.html @@ -5,7 +5,7 @@ Class: SernEmitter | sern - Handlers. Redefined. - + @@ -49,7 +49,7 @@ given event.

This method is intentionally generic and works with the web p semantics and does not listen to the 'error' event.

const { once, EventEmitter } = require('events');

async function run() {
const ee = new EventEmitter();

process.nextTick(() => {
ee.emit('myevent', 42);
});

const [value] = await once(ee, 'myevent');
console.log(value);

const err = new Error('kaboom');
process.nextTick(() => {
ee.emit('error', err);
});

try {
await once(ee, 'myevent');
} catch (err) {
console.log('error happened', err);
}
}

run();

The special handling of the 'error' event is only used when events.once()is used to wait for another event. If events.once() is used to wait for the 'error' event itself, then it is treated as any other kind of event without special handling:

const { EventEmitter, once } = require('events');

const ee = new EventEmitter();

once(ee, 'error')
.then(([err]) => console.log('ok', err.message))
.catch((err) => console.log('error', err.message));

ee.emit('error', new Error('boom'));

// Prints: ok boom

An AbortSignal can be used to cancel waiting for the event:

const { EventEmitter, once } = require('events');

const ee = new EventEmitter();
const ac = new AbortController();

async function foo(emitter, event, signal) {
try {
await once(emitter, event, { signal });
console.log('event emitted!');
} catch (error) {
if (error.name === 'AbortError') {
console.error('Waiting for the event was canceled!');
} else {
console.error('There was an error', error.message);
}
}
}

foo(ee, 'foo', ac.signal);
ac.abort(); // Abort waiting for the event
ee.emit('foo'); // Prints: Waiting for the event was canceled!

Since

v11.13.0, v10.16.0

Parameters

NameType
emitterNodeEventTarget
eventNamestring | symbol
options?StaticEventEmitterOptions

Returns

Promise<any[]>

Inherited from

EventEmitter.once

Defined in

node_modules/@types/node/events.d.ts:157

Static once(emitter, eventName, options?): Promise<any[]>

Parameters

NameType
emitterDOMEventTarget
eventNamestring
options?StaticEventEmitterOptions

Returns

Promise<any[]>

Inherited from

EventEmitter.once

Defined in

node_modules/@types/node/events.d.ts:158

Static once<K>(eventEmitter, eventName): Promise<ClientEvents[K]>

Type parameters

NameType
Kextends keyof ClientEvents

Parameters

NameType
eventEmitterClient<boolean>
eventNameK

Returns

Promise<ClientEvents[K]>

Inherited from

EventEmitter.once

Defined in

node_modules/discord.js/typings/index.d.ts:194


setMaxListeners

Static setMaxListeners(n?, ...eventTargets): void

const {
setMaxListeners,
EventEmitter
} = require('events');

const target = new EventTarget();
const emitter = new EventEmitter();

setMaxListeners(5, target, emitter);

Since

v15.4.0

Parameters

NameTypeDescription
n?numberA non-negative number. The maximum number of listeners per EventTarget event.
...eventTargets(EventEmitter | DOMEventTarget)[]-

Returns

void

Inherited from

EventEmitter.setMaxListeners

Defined in

node_modules/@types/node/events.d.ts:280

- + \ No newline at end of file diff --git a/docs/api/enums/CommandType.html b/docs/api/enums/CommandType.html index 75980497c..8fa493e90 100644 --- a/docs/api/enums/CommandType.html +++ b/docs/api/enums/CommandType.html @@ -5,13 +5,13 @@ Enumeration: CommandType | sern - Handlers. Redefined. - +

Enumeration: CommandType

Example

export default commandModule({
type : CommandType.Text,
name : 'a text command'
execute(message) {
console.log(message.content)
}
})

Enumeration Members

Both

Both = 3

The CommandType for hybrid commands, text and slash

Defined in

src/handler/structures/enums.ts:27


Button

Button = 16

The CommandType for ButtonInteraction commands

Defined in

src/handler/structures/enums.ts:39


MenuMsg = 8

The CommandType for MessageContextMenuInteraction commands

Defined in

src/handler/structures/enums.ts:35


MenuSelect = 32

The CommandType for SelectMenuInteraction commands

Defined in

src/handler/structures/enums.ts:43


MenuUser = 4

The CommandType for UserContextMenuInteraction commands

Defined in

src/handler/structures/enums.ts:31


Modal = 64

The CommandType for ModalSubmitInteraction commands

Defined in

src/handler/structures/enums.ts:47


Slash

Slash = 2

The CommandType for slash commands

Defined in

src/handler/structures/enums.ts:23


Text

Text = 1

The CommandType for text commands

Defined in

src/handler/structures/enums.ts:19

- + \ No newline at end of file diff --git a/docs/api/enums/EventType.html b/docs/api/enums/EventType.html index c20420017..8eed04456 100644 --- a/docs/api/enums/EventType.html +++ b/docs/api/enums/EventType.html @@ -5,14 +5,14 @@ Enumeration: EventType | sern - Handlers. Redefined. - +

Enumeration: EventType

Example

export default eventModule({
type : EventType.Discord,
name : 'guildMemberAdd'
execute(member : GuildMember) {
console.log(member)
}
})

Enumeration Members

Discord

Discord = 1

The EventType for handling discord events

Defined in

src/handler/structures/enums.ts:68


External

External = 3

The EventType for handling external events. Could be for example, process events, database events

Defined in

src/handler/structures/enums.ts:77


Sern

Sern = 2

The EventType for handling sern events

Defined in

src/handler/structures/enums.ts:72

- + \ No newline at end of file diff --git a/docs/api/enums/PayloadType.html b/docs/api/enums/PayloadType.html index 644ae2e4b..5648ed03d 100644 --- a/docs/api/enums/PayloadType.html +++ b/docs/api/enums/PayloadType.html @@ -5,13 +5,13 @@ Enumeration: PayloadType | sern - Handlers. Redefined. - +
- + \ No newline at end of file diff --git a/docs/api/enums/PluginType.html b/docs/api/enums/PluginType.html index 7f6eec2ef..68006ea2e 100644 --- a/docs/api/enums/PluginType.html +++ b/docs/api/enums/PluginType.html @@ -5,13 +5,13 @@ Enumeration: PluginType | sern - Handlers. Redefined. - +

Enumeration: PluginType

Example

export default function myPlugin() : EventPlugin<CommandType.Text> {
type : PluginType.Event,
execute([ctx, args], controller) {
return controller.next();
}
}

Enumeration Members

Command

Command = 1

The PluginType for CommandPlugins

Defined in

src/handler/structures/enums.ts:97


Event

Event = 2

The PluginType for EventPlugins

Defined in

src/handler/structures/enums.ts:101

- + \ No newline at end of file diff --git a/docs/api/interfaces/Controller.html b/docs/api/interfaces/Controller.html index eda748ca8..52afa8cf7 100644 --- a/docs/api/interfaces/Controller.html +++ b/docs/api/interfaces/Controller.html @@ -5,13 +5,13 @@ Interface: Controller | sern - Handlers. Redefined. - +
- + \ No newline at end of file diff --git a/docs/api/interfaces/Wrapper.html b/docs/api/interfaces/Wrapper.html index b9db737ad..87579ffb2 100644 --- a/docs/api/interfaces/Wrapper.html +++ b/docs/api/interfaces/Wrapper.html @@ -5,13 +5,13 @@ Interface: Wrapper | sern - Handlers. Redefined. - +

Interface: Wrapper

An object to be passed into Sern#init() function.

Properties

client

Readonly client: Client<boolean>

Defined in

src/handler/structures/wrapper.ts:10


commands

Readonly commands: string

Defined in

src/handler/structures/wrapper.ts:13


defaultPrefix

Optional Readonly defaultPrefix: string

Defined in

src/handler/structures/wrapper.ts:12


events

Optional Readonly events: string | { absPath: string ; mod: EventModule }[] | () => { absPath: string ; mod: EventModule }[]

Defined in

src/handler/structures/wrapper.ts:14


sernEmitter

Optional Readonly sernEmitter: SernEmitter

Defined in

src/handler/structures/wrapper.ts:11

- + \ No newline at end of file diff --git a/docs/api/modules.html b/docs/api/modules.html index 416525a27..c17512938 100644 --- a/docs/api/modules.html +++ b/docs/api/modules.html @@ -5,7 +5,7 @@ @sern/handler | sern - Handlers. Redefined. - + @@ -13,7 +13,7 @@

@sern/handler

Namespaces

Enumerations

Classes

Interfaces

Type Aliases

Args

Ƭ Args: ParseType<{ slash: SlashOptions ; text: string[] }>

Defined in

src/types/handler.ts:11


AutocompletePlugin

Ƭ AutocompletePlugin: Override<BaseModule, { execute: (autocmp: AutocompleteInteraction, controlller: Controller) => Awaitable<Result<void, void>> ; type: Event }>

Defined in

src/handler/plugins/plugin.ts:92


BaseOptions

Ƭ BaseOptions: ApplicationCommandChoicesData | ApplicationCommandNonOptionsData | ApplicationCommandChannelOptionData | ApplicationCommandNumericOptionData | ApplicationCommandAttachmentOption | SernAutocompleteData

Type that replaces autocomplete with SernAutocompleteData

Defined in

src/handler/structures/module.ts:181


BothCommand

Ƭ BothCommand: Override<BaseModule, { alias?: string[] ; execute: (ctx: Context, args: Args) => Awaitable<void | unknown> ; onEvent: EventPlugin<Both>[] ; options?: SernOptionsData[] ; plugins: CommandPlugin[] ; type: Both }>

Defined in

src/handler/structures/module.ts:55


CommandModuleNoPlugins

Ƭ CommandModuleNoPlugins: { [T in CommandType]: Omit<CommandModuleDefs[T], "plugins" | "onEvent"> }

Defined in

src/handler/plugins/plugin.ts:145


CommandModulePlugin

Ƭ CommandModulePlugin<T>: EventPlugin<T> | CommandPlugin<T>

Type parameters

NameType
Textends CommandType

Defined in

src/handler/plugins/plugin.ts:173


CommandPlugin

Ƭ CommandPlugin<T>: { [K in T]: Override<BasePlugin, Object> }[T]

Type parameters

NameType
Textends keyof CommandModuleDefs = keyof CommandModuleDefs

Defined in

src/handler/plugins/plugin.ts:40


DefinedCommandModule

Ƭ DefinedCommandModule: DefinitelyDefined<CommandModule, "name" | "description">

Defined in

src/types/handler.ts:48


DefinedEventModule

Ƭ DefinedEventModule: DefinitelyDefined<EventModule, "name" | "description">

Defined in

src/types/handler.ts:49


DefinedModule

Ƭ DefinedModule: DefinitelyDefined<Module, "name" | "description">

After modules are transformed, name and description are given default values if none are provided to Module. This type represents that transformation

Defined in

src/types/handler.ts:47


DefinitelyDefined

Ƭ DefinitelyDefined<T, K>: { [L in K]-?: T[L] extends Record<string, unknown> ? DefinitelyDefined<T[L], keyof T[L]> : Required<T>[L] } & T

Type parameters

NameType
TT
Kextends keyof T = keyof T

Defined in

src/types/handler.ts:18


DiscordEmitterPlugin

Ƭ DiscordEmitterPlugin: Override<BasePlugin, { execute: (wrapper: Client, module: DefinitelyDefined<DiscordEventCommand, "name" | "description">, controller: Controller) => Awaitable<Result<void, void>> ; type: Command }>

Defined in

src/handler/plugins/plugin.ts:57


DiscordEventPlugin

Ƭ DiscordEventPlugin<T>: Override<BasePlugin, { execute: (args: ClientEvents[T], controller: Controller) => Awaitable<Result<void, void>> ; name?: T ; type: Event }>

Type parameters

NameType
Textends keyof ClientEvents = keyof ClientEvents

Defined in

src/handler/plugins/plugin.ts:136


EventInput

Ƭ EventInput: string | { absPath: string ; mod: EventModule }[] | () => { absPath: string ; mod: EventModule }[]

Defined in

src/types/handler.ts:24


EventModuleCommandPluginDefs

Ƭ EventModuleCommandPluginDefs: Object

Event Module Command Plugins

Type declaration

NameType
1DiscordEmitterPlugin
2SernEmitterPlugin
3ExternalEmitterPlugin

Defined in

src/handler/plugins/plugin.ts:163


EventModuleEventPluginDefs

Ƭ EventModuleEventPluginDefs: Object

Event Module Event Plugins

Type declaration

NameType
1DiscordEventPlugin
2SernEventPlugin
3ExternalEventPlugin

Defined in

src/handler/plugins/plugin.ts:154


EventModulePlugin

Ƭ EventModulePlugin<T>: EventModuleEventPluginDefs[T] | EventModuleCommandPluginDefs[T]

Type parameters

NameType
Textends EventType

Defined in

src/handler/plugins/plugin.ts:169


EventModulesNoPlugins

Ƭ EventModulesNoPlugins: { [T in EventType]: Omit<EventModuleDefs[T], "plugins" | "onEvent"> }

Defined in

src/handler/plugins/plugin.ts:148


EventPlugin

Ƭ EventPlugin<T>: { [K in T]: Override<BasePlugin, Object> }[T]

Type parameters

NameType
Textends keyof CommandModuleDefs = keyof CommandModuleDefs

Defined in

src/handler/plugins/plugin.ts:103


ExternalEmitterPlugin

Ƭ ExternalEmitterPlugin<T>: Override<BasePlugin, { execute: (wrapper: T, module: DefinitelyDefined<ExternalEventCommand, "name" | "description">, controller: Controller) => Awaitable<Result<void, void>> ; type: Command }>

Type parameters

NameType
Textends EventEmitter = EventEmitter

Defined in

src/handler/plugins/plugin.ts:68


ExternalEventPlugin

Ƭ ExternalEventPlugin: Override<BasePlugin, { execute: (args: unknown[], controller: Controller) => Awaitable<Result<void, void>> ; type: Event }>

Defined in

src/handler/plugins/plugin.ts:128


InputCommandModule

Ƭ InputCommandModule: { [T in CommandType]: CommandModuleNoPlugins[T] & Object }[CommandType]

User inputs this type. Sern processes behind the scenes for better usage

Defined in

src/handler/plugins/plugin.ts:178


InputEventModule

Ƭ InputEventModule: { [T in EventType]: EventModulesNoPlugins[T] & Object }[EventType]

Defined in

src/handler/plugins/plugin.ts:182


IsOptional

Ƭ IsOptional<T>: { [K in keyof T]-?: T[K] extends Required<T>[K] ? false : true }

Type parameters

Name
T

Defined in

src/types/handler.ts:31


Module

Ƭ Module: CommandModule | EventModule

Defined in

src/handler/structures/module.ts:141


Nullish

Ƭ Nullish<T>: T | undefined | null

Type parameters

Name
T

Defined in

src/types/handler.ts:4


Override

Ƭ Override<T1, T2>: Omit<T1, keyof T2> & T2

Type parameters

Name
T1
T2

Defined in

src/types/handler.ts:16


ParseType

Ƭ ParseType<T>: { [K in keyof T]: T[K] extends unknown ? [k: K, args: T[K]] : never }[keyof T]

Type parameters

Name
T

Defined in

src/types/handler.ts:7


Payload

Ƭ Payload: { module: Module ; type: Success } | { module: Module | undefined ; reason: string | Error ; type: Failure }

Defined in

src/types/handler.ts:50


Reconstruct

Ƭ Reconstruct<T>: T extends Omit<infer O, never> ? O & Reconstruct<O> : T

Type parameters

Name
T

Defined in

src/types/handler.ts:29


SernAutocompleteData

Ƭ SernAutocompleteData: Override<BaseApplicationCommandOptionsData, { autocomplete: true ; command: AutocompleteCommand ; type: ApplicationCommandOptionType.String | ApplicationCommandOptionType.Number | ApplicationCommandOptionType.Integer }>

Defined in

src/handler/structures/module.ts:166


SernEmitterPlugin

Ƭ SernEmitterPlugin: Override<BasePlugin, { execute: (wrapper: SernEmitter, module: DefinitelyDefined<SernEventCommand, "name" | "description">, controller: Controller) => Awaitable<Result<void, void>> ; type: Command }>

Defined in

src/handler/plugins/plugin.ts:80


SernEventPlugin

Ƭ SernEventPlugin<T>: Override<BasePlugin, { execute: (args: SernEventsMapping[T], controller: Controller) => Awaitable<Result<void, void>> ; name?: T ; type: Event }>

Type parameters

NameType
Textends keyof SernEventsMapping = keyof SernEventsMapping

Defined in

src/handler/plugins/plugin.ts:116


SernEventsMapping

Ƭ SernEventsMapping: Object

Type declaration

NameType
error[Error | string]
module.activate[Payload]
module.register[Payload]
warning[string]

Defined in

src/types/handler.ts:53


SernOptionsData

Ƭ SernOptionsData<U>: U extends ApplicationCommandSubCommandData ? SernSubCommandData : U extends ApplicationCommandSubGroupData ? SernSubCommandGroupData : BaseOptions

Type parameters

NameType
Uextends ApplicationCommandOptionData = ApplicationCommandOptionData

Defined in

src/handler/structures/module.ts:205


SernSubCommandData

Ƭ SernSubCommandData: Override<Omit<BaseApplicationCommandOptionsData, "required">, { options?: BaseOptions[] ; type: ApplicationCommandOptionType.Subcommand }>

Defined in

src/handler/structures/module.ts:189


SernSubCommandGroupData

Ƭ SernSubCommandGroupData: Override<Omit<BaseApplicationCommandOptionsData, "required">, { options?: SernSubCommandData[] ; type: ApplicationCommandOptionType.SubcommandGroup }>

Defined in

src/handler/structures/module.ts:197


SlashCommand

Ƭ SlashCommand: Override<BaseModule, { execute: (ctx: Context, args: ["slash", SlashOptions]) => Awaitable<void | unknown> ; onEvent: EventPlugin<Slash>[] ; options?: SernOptionsData[] ; plugins: CommandPlugin[] ; type: Slash }>

Defined in

src/handler/structures/module.ts:44


SlashOptions

Ƭ SlashOptions: Omit<CommandInteractionOptionResolver, "getMessage" | "getFocused">

Defined in

src/types/handler.ts:13


SpreadParams

Ƭ SpreadParams<T>: (args: Parameters<T>[number]) => unknown

Type parameters

NameType
Textends (...args: never) => unknown

Type declaration

▸ (args): unknown

Turns a function with a union of array of args into a single union [ T , V , B ] | [ A ] => T | V | B | A

Parameters
NameType
argsParameters<T>[number]
Returns

unknown

Defined in

src/types/handler.ts:39


TextCommand

Ƭ TextCommand: Override<BaseModule, { alias?: string[] ; execute: (ctx: Context, args: ["text", string[]]) => Awaitable<void | unknown> ; onEvent: EventPlugin<Text>[] ; plugins: CommandPlugin[] ; type: Text }>

Defined in

src/handler/structures/module.ts:33

Functions

commandModule

commandModule(mod): CommandModule

The wrapper function to define command modules for sern

Parameters

NameType
modInputCommandModule

Returns

CommandModule

Defined in

src/handler/sern.ts:86


eventModule

eventModule(mod): EventModule

The wrapper function to define event modules for sern

Parameters

NameType
modInputEventModule

Returns

EventModule

Defined in

src/handler/sern.ts:107

- + \ No newline at end of file diff --git a/docs/api/namespaces/Sern.html b/docs/api/namespaces/Sern.html index e74870bd2..4082bb151 100644 --- a/docs/api/namespaces/Sern.html +++ b/docs/api/namespaces/Sern.html @@ -5,13 +5,13 @@ Namespace: Sern | sern - Handlers. Redefined. - +

Namespace: Sern

References

commandModule

Re-exports commandModule


eventModule

Re-exports eventModule

Variables

controller

Const controller: Object

The object passed into every plugin to control a command's behavior

Type declaration

NameType
next() => OkImpl<void>
stop() => ErrImpl<void>

Defined in

src/handler/sern.ts:77

Functions

addExternal

addExternal<T>(emitter): void

Example

src/index.ts
//Add this before initiating Sern!
Sern.addExternal(new Level())

Example

events/level.ts
 export default eventModule({
emitter: 'Level',
type : EventType.External,
name: 'error',
execute(args) {
console.log(args)
}
})

Type parameters

NameType
Textends __module

Parameters

NameTypeDescription
emitterTAny external event emitter. The object will be stored in a map, and then fetched by the name of the instance's class. As there are infinite possibilities to adding external event emitters, Most types aren't provided and are as narrow as possibly can.

Returns

void

Defined in

src/handler/sern.ts:67


init

init(wrapper): void

Example

src/index.ts
Sern.init({
client,
defaultPrefix: '!',
commands: 'dist/commands',
})

Parameters

NameTypeDescription
wrapperWrapperOptions to pass into sern. Function to start the handler up

Returns

void

Defined in

src/handler/sern.ts:34

- + \ No newline at end of file diff --git a/docs/guide.html b/docs/guide.html index eea656610..49da6d410 100644 --- a/docs/guide.html +++ b/docs/guide.html @@ -5,13 +5,13 @@ Introduction | sern - Handlers. Redefined. - +

Introduction

Welcome to our official guide. This guide will go through all the core features of the framework.

  • 💖 Thank you for choosing sern to be your framework!

  • Teaching the discord.js library and / or Javascript / Typescript is out of scope of this project, so the documentation assumes you already know these elements.

  • discord.js v14 is the only supported library at the moment

You will learn

Working with plugins

Events

Good to know

- + \ No newline at end of file diff --git a/docs/guide/getting-started/choose-ide.html b/docs/guide/getting-started/choose-ide.html index f599c751a..10018c159 100644 --- a/docs/guide/getting-started/choose-ide.html +++ b/docs/guide/getting-started/choose-ide.html @@ -5,14 +5,14 @@ Choosing an IDE | sern - Handlers. Redefined. - +
- + \ No newline at end of file diff --git a/docs/guide/getting-started/preparing.html b/docs/guide/getting-started/preparing.html index e5dde87e9..2225814ab 100644 --- a/docs/guide/getting-started/preparing.html +++ b/docs/guide/getting-started/preparing.html @@ -5,13 +5,13 @@ Preparing to Code | sern - Handlers. Redefined. - +

Preparing to Code

After installing and IDE you need to install node.

You can download the LTS version of node right here

- + \ No newline at end of file diff --git a/docs/guide/walkthrough/cli.html b/docs/guide/walkthrough/cli.html index f7d7e8e4f..11d8c7da2 100644 --- a/docs/guide/walkthrough/cli.html +++ b/docs/guide/walkthrough/cli.html @@ -5,7 +5,7 @@ CLI | sern - Handlers. Redefined. - + @@ -13,7 +13,7 @@

CLI

Setting up the CLI is easy.

  • To start a brand-new project, run :
sern init (-y)
tip

It creates a directory for you so you don't need to!

Include the -y flag if you want to set up defaults. The default langauge is Typescript

sern plugins
info

Make sure to have a correct sern.config.json

This will display a menu selection of all installable plugins.
Note: You must have a sern.config.json to use this command. If you want to view plugins, visit the repository linked above.

  • To install extra utilities into your project
sern extra
- + \ No newline at end of file diff --git a/docs/guide/walkthrough/conclusion.html b/docs/guide/walkthrough/conclusion.html index 5b02db802..d08fa7ff5 100644 --- a/docs/guide/walkthrough/conclusion.html +++ b/docs/guide/walkthrough/conclusion.html @@ -5,7 +5,7 @@ Conclusion | sern - Handlers. Redefined. - + @@ -13,7 +13,7 @@

Conclusion

If you reached this far, thank you for reading! We hope you have learned the necessities you need to create a bot with the sern framework. If you have any other questions, bugs, feature requests, concerns, please join our community server, and we'll be glad to answer your questions.

- + \ No newline at end of file diff --git a/docs/guide/walkthrough/first-command.html b/docs/guide/walkthrough/first-command.html index 89986059c..5fbda6e16 100644 --- a/docs/guide/walkthrough/first-command.html +++ b/docs/guide/walkthrough/first-command.html @@ -5,7 +5,7 @@ First Command | sern - Handlers. Redefined. - + @@ -14,7 +14,7 @@ If you installed a new project via the cli, This is the ping command located in src/commands folder.

Typescript

import { commandModule, CommandType } from '@sern/handler';

export default commandModule({
type: CommandType.Both,
plugins: [],
description: 'A ping command',
//alias : [],
execute: async (ctx, args) => {
await ctx.reply({ content: 'Pong 🏓' });
},
});

Javascript

const { CommandType, commandModule } = require('@sern/handler');

exports.default = commandModule({
type: CommandType.Both,
plugins: [],
description: 'A ping command',
//alias : [],
execute: async (ctx, args) => {
await ctx.reply('Pong 🏓');
},
})

To view what each of these properties mean in depth, visit the official documentation.

Types of command modules

Every command module type is part of an enum. This field allows type inference for the rest of a module's fields.
All the command types can be found in the official documentation!

So, lets say you want to make a command module that listens to modals.

Note: Keep in mind you'll need to send a modal with a custom id dm-me. This example below is the response to a modal being sent.


Typescript:

import { commandModule, CommandType } from '@sern/handler';
export default commandModule({
name: 'dm-me',
type: CommandType.Modal,
async execute (modal) {
const value = modal.fields.getTextInputValue('message');
modal.client.users.fetch('182326315813306368').then( u =>
u.send(value + ` from ${modal.user}`)
);
modal.reply( { ephemeral:true, content: 'Sent' })
}
});

Javascript:

const { CommandType, commandModule } = require('@sern/handler');
exports.default = commandModule({
name: 'dm-me',
type: CommandType.Modal,
async execute (modal) {
const value = modal.fields.getTextInputValue('message');
modal.client.users.fetch('182326315813306368').then( u =>
u.send(value + ` from ${modal.user}`)
);
modal.reply( { ephemeral:true, content: 'Sent' })
}
});

Commands are straight forward. Keep in mind, every other property on the commandModule object is optional except the type and execute function.

Context class

The provided Context class helps with modules of CommandType.Both (A mixture of slash / legacy commands).

The Context class is passed into modules with type :

  • CommandType.Both
  • CommandType.Slash
  • CommandType.Text

This data structure helps interop between legacy commands and slash commands with ease.

note

View the docs

Typescript:

export default commandModule({
name: 'ping',
type: CommandType.Both,
async execute(ctx: Context) {
await ctx.reply(`pong ${ctx.user}`)
// .reply is shared between both message and interaction!
// So is an User object!
}
});

Javascript:

exports.default = commandModule({
name: 'ping',
type: CommandType.Both,
async execute(ctx) { //ctx is a Context instance
await ctx.reply(`pong ${ctx.user}`)
// .reply is shared between both message and interaction!
// So is an User object!
}
});
- + \ No newline at end of file diff --git a/docs/guide/walkthrough/first-event.html b/docs/guide/walkthrough/first-event.html index 07c0d5870..dddf9128e 100644 --- a/docs/guide/walkthrough/first-event.html +++ b/docs/guide/walkthrough/first-event.html @@ -5,7 +5,7 @@ First Event Module | sern - Handlers. Redefined. - + @@ -13,7 +13,7 @@

First Event Module

We will dissect a basic event module.
Typescript:

export default eventModule({
type: EventType.Sern,
plugins : [], //NOT SUPPORTED YET!!
name: 'module.activate', //name of event.
execute(event) {
console.log(event);
}
})

Javascript:

exports.default = eventModule({
type: EventType.Sern,
plugins : [], //NOT SUPPORTED YET!!
name: 'module.activate',
execute(event) {
console.log(event);
}
})

Like command modules, the type property denotes what kind of event it is, which can be found here.

To view what each of these properties mean in depth, visit the official documentation.


Event modules are laid out similarly to command modules. These listen to any and all event you provide. In the current version 1.1.0-beta, plugins are not supported.

Another example of an event module

Typescript:

export default eventModule({
type: EventType.Discord,
plugins : [], //NOT SUPPORTED YET!!
name: 'guildMemberAdd', //name of event.
async execute(member) {
await member.client.channels.fetch('channel-id').send(`Welcome, ${member}`);
}
})

Javascript:


exports.default = eventModule({
type: EventType.Discord,
plugins : [], //NOT SUPPORTED YET!!
name: 'guildMemberAdd', //name of event.
async execute(member) {
await member.client.channels.fetch('channel-id').send(`Welcome, ${member}`);
}
})
- + \ No newline at end of file diff --git a/docs/guide/walkthrough/goal.html b/docs/guide/walkthrough/goal.html index 15089a4d2..7a1a6c079 100644 --- a/docs/guide/walkthrough/goal.html +++ b/docs/guide/walkthrough/goal.html @@ -5,7 +5,7 @@ Goal | sern - Handlers. Redefined. - + @@ -13,7 +13,7 @@

Goal

sern strives to be minimalist, but with all batteries included. Meaning, this framework provides the necessary tools to start up a bot in minutes, and leaves plenty room space to customize your experience and create an amazing project. It should include all the tools for any bot at any scale.

- + \ No newline at end of file diff --git a/docs/guide/walkthrough/good-to-know.html b/docs/guide/walkthrough/good-to-know.html index 6c3041e6e..44af3932a 100644 --- a/docs/guide/walkthrough/good-to-know.html +++ b/docs/guide/walkthrough/good-to-know.html @@ -5,7 +5,7 @@ Good to know | sern - Handlers. Redefined. - + @@ -13,7 +13,7 @@

Good to know

sern.config.json

A sern.config.json, although not necessary, allows your project to communicate with our cli.

For example, when installing typescript plugins, the language property is necessary to install from our open source repository.

Using the cli and running sern init --sync on pre-existing projects should install this json file in the root directory given. Or, if this is a brand-new project, sern init automatically installs it.

{
"language": "typescript",
"paths": {
"base": "src",
"commands": "commands"
}
}
- + \ No newline at end of file diff --git a/docs/guide/walkthrough/plugins.html b/docs/guide/walkthrough/plugins.html index e5de90a78..139b15ace 100644 --- a/docs/guide/walkthrough/plugins.html +++ b/docs/guide/walkthrough/plugins.html @@ -5,7 +5,7 @@ Plugins | sern - Handlers. Redefined. - + @@ -16,7 +16,7 @@ This controls whether a module is stored into sern.
Typescript:

export function inDir(dir : string) : CommandPlugin<CommandType.Both> {
return {
type: PluginType.Command,
async execute(wrapper, { absPath, module }, controller) {
if(path.dirname(absPath) !== dir) {
console.log(+new Date(), `${module.name} is not in the correct directory!`);
return controller.stop()
}
console.log(+new Date(), `${module.name} is in the correct directory!`);
return controller.next(); //continue
}
}
}

Javascript:

export function inDir(dir : string) {
return {
type: PluginType.Command,
async execute(wrapper, { absPath, module }, controller) {
if(path.dirname(absPath) !== dir) {
console.log(+new Date(), `${module.name} is not in the correct directory!`);
return controller.stop()
}
console.log(+new Date(), `${module.name} is in the correct directory!`);
return controller.next(); //continue
}
}
}

Above, this simple plugin logs that the module has been loaded along with a timestamp.
Again, it is up to you to define plugin logic! The possibilities to customize your bots are endless.

tip

Command Plugins are good for ensuring the shape, location, and preprocessing of your commands.

Event Plugins

event-plugins

  • An event is emitted by discord.js.
  • This event is passed to all plugins (in order!!),
  • If all are successful,

The command is executed. Calling controller.stop() notifies sern that this command should not be run, and this event is ignored.

So, what does a command module look like with plugins?

Typescript:

import { commandModule, CommandType } from '@sern/handler';

export default commandModule({
type: CommandType.Both,
plugins: [
inDir("other"),
serenOnly()
],
description: 'A ping command',
//alias : [],
execute: async (ctx, args) => {
await ctx.reply({ content: 'Pong 🏓' });
},
});

Javascript:

const { commandModule, CommandType } = require('@sern/handler');

exports.default = commandModule({
type: CommandType.Both,
plugins: [
inDir("other"),
serenOnly() //The plugins in this section applied to this module!
],
description: 'A ping command',
//alias : [],
execute: async (ctx, args) => {
await ctx.reply({ content: 'Pong 🏓' });
},
});

Can you predict the behavior of this command?

  • Before loading into sern, this command module will check if this module is in the correct directory other.
  • Before an event occurs, this command module will check if the user has the id 182326315813306368.
tip

Event Plugins are good for filtering, preconditions, parsing.

If all plugins return controller.next(), this command replies Pong 🏓

- + \ No newline at end of file diff --git a/docs/guide/walkthrough/sern-emitter.html b/docs/guide/walkthrough/sern-emitter.html index cd7eb3aa9..ec808542a 100644 --- a/docs/guide/walkthrough/sern-emitter.html +++ b/docs/guide/walkthrough/sern-emitter.html @@ -5,13 +5,13 @@ The SernEmitter class | sern - Handlers. Redefined. - +

The SernEmitter class

You're shipped with the SernEmitter. This EventEmitter listens to

  • command modules executing and its status, the module.activate event
  • command modules registered and its status, the module.register event
  • any error that occurs, the error event
  • warn events, where it is possible to throw errors

You can put these and other event listeners into event modules!


View all events
- + \ No newline at end of file diff --git a/docs/intro.html b/docs/intro.html index 346d9db61..90744526f 100644 --- a/docs/intro.html +++ b/docs/intro.html @@ -5,13 +5,13 @@ Welcome! | sern - Handlers. Redefined. - +

Welcome!

Content

  • /docs/api contains autogenerated documentation of our codebase using typedoc
  • /docs/guide contains a basic startup guide and details to get started with sern faster!
tip

This site is open source! Please do contribute if you find any bugs, typos, or sections in need of improvements.

- + \ No newline at end of file diff --git a/fr/404.html b/fr/404.html index d757521d7..70773f816 100644 --- a/fr/404.html +++ b/fr/404.html @@ -5,13 +5,13 @@ Page introuvable | sern - Handlers. Redefined. - +

Page introuvable

Nous n'avons pas trouvé ce que vous recherchez.

Veuillez contacter le propriétaire du site qui vous a lié à l'URL d'origine et leur faire savoir que leur lien est cassé.

- + \ No newline at end of file diff --git a/fr/assets/js/1ac1bfe9.76036e65.js b/fr/assets/js/1ac1bfe9.b0c567c5.js similarity index 98% rename from fr/assets/js/1ac1bfe9.76036e65.js rename to fr/assets/js/1ac1bfe9.b0c567c5.js index f248326c0..ed8218143 100644 --- a/fr/assets/js/1ac1bfe9.76036e65.js +++ b/fr/assets/js/1ac1bfe9.b0c567c5.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_sern_website=self.webpackChunk_sern_website||[]).push([[5],{3905:(e,n,t)=>{t.d(n,{Zo:()=>p,kt:()=>m});var r=t(7294);function o(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function a(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function l(e){for(var n=1;n=0||(o[t]=e[t]);return o}(e,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}var s=r.createContext({}),u=function(e){var n=r.useContext(s),t=n;return e&&(t="function"==typeof e?e(n):l(l({},n),e)),t},p=function(e){var n=u(e.components);return r.createElement(s.Provider,{value:n},e.children)},c={inlineCode:"code",wrapper:function(e){var n=e.children;return r.createElement(r.Fragment,{},n)}},d=r.forwardRef((function(e,n){var t=e.components,o=e.mdxType,a=e.originalType,s=e.parentName,p=i(e,["components","mdxType","originalType","parentName"]),d=u(t),m=o,g=d["".concat(s,".").concat(m)]||d[m]||c[m]||a;return t?r.createElement(g,l(l({ref:n},p),{},{components:t})):r.createElement(g,l({ref:n},p))}));function m(e,n){var t=arguments,o=n&&n.mdxType;if("string"==typeof e||o){var a=t.length,l=new Array(a);l[0]=d;var i={};for(var s in n)hasOwnProperty.call(n,s)&&(i[s]=n[s]);i.originalType=e,i.mdxType="string"==typeof e?e:o,l[1]=i;for(var u=2;u{t.r(n),t.d(n,{assets:()=>s,contentTitle:()=>l,default:()=>c,frontMatter:()=>a,metadata:()=>i,toc:()=>u});var r=t(7462),o=(t(7294),t(3905));const a={sidebar_position:5},l="Plugins",i={unversionedId:"guide/walkthrough/plugins",id:"guide/walkthrough/plugins",title:"Plugins",description:"As of now, modules seem a little underwhelming. It appears that sern doesn't have all the features of a standard handler,",source:"@site/docs/guide/walkthrough/plugins.md",sourceDirName:"guide/walkthrough",slug:"/guide/walkthrough/plugins",permalink:"/fr/docs/guide/walkthrough/plugins",draft:!1,editUrl:"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/guide/walkthrough/plugins.md",tags:[],version:"current",sidebarPosition:5,frontMatter:{sidebar_position:5},sidebar:"tutorialSidebar",previous:{title:"First Event Module",permalink:"/fr/docs/guide/walkthrough/first-event"},next:{title:"The SernEmitter class",permalink:"/fr/docs/guide/walkthrough/sern-emitter"}},s={},u=[{value:"Command Plugins",id:"command-plugins",level:2},{value:"The controller object",id:"the-controller-object",level:3},{value:"Event Plugins",id:"event-plugins",level:2}],p={toc:u};function c(e){let{components:n,...a}=e;return(0,o.kt)("wrapper",(0,r.Z)({},p,a,{components:n,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"plugins"},"Plugins"),(0,o.kt)("p",null,"As of now, modules seem a little underwhelming. It appears that sern doesn't have all the features of a standard handler, which manages permissions, categorizes, cool-downs, publishes application commands, role permissions, etc."),(0,o.kt)("p",null,"Many important parts that manage access and help streamline command creation to make are apparently absent. Below is an example of an event plugin, one of the types of plugins."),(0,o.kt)("p",null,"Typescript:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-typescript"},'export function serenOnly(): EventPlugin {\n return {\n type: PluginType.Event,\n async execute([ctx, args], controller) {\n if (ctx.user.id !== "182326315813306368") {\n await ctx.reply({content: "You cannot use this command"})\n return controller.stop()\n }\n return controller.next();\n }\n }\n}\n')),(0,o.kt)("p",null,"Javascript:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-javascript"},'export function serenOnly() {\n return {\n type: PluginType.Event,\n async execute([ctx, args], controller) {\n if (ctx.user.id !== "182326315813306368") {\n await ctx.reply({content: "You cannot use this command"})\n return controller.stop()\n }\n return controller.next();\n }\n }\n}\n')),(0,o.kt)("br",null)," As part of our extensibility, the plugins feature make sern just as powerful, if not more powerful than standard handlers. Plugins modify and add new behavior to standard modules, extending customizability and implementing automation.",(0,o.kt)("br",null)," At the moment, there are two types of plugins:",(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Command Plugins"),(0,o.kt)("li",{parentName:"ul"},"Event Plugins")),(0,o.kt)("h2",{id:"command-plugins"},"Command Plugins"),(0,o.kt)("p",null,"All modules are registered into sern's system. With command plugins, you can modify how commands are loaded,\nor do some kind of preprocessing before they are loaded into sern."),(0,o.kt)("h3",{id:"the-controller-object"},"The controller object"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-typescript"},"export interface Controller {\n next: () => Ok;\n stop: () => Err;\n}\n")),(0,o.kt)("p",null,"An instance of the above object is passed into every plugin. ",(0,o.kt)("br",null),"\nThis controls whether a module is stored into sern. ",(0,o.kt)("br",null),"\nTypescript:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-typescript"},"export function inDir(dir : string) : CommandPlugin {\n return {\n type: PluginType.Command,\n async execute(wrapper, { absPath, module }, controller) {\n if(path.dirname(absPath) !== dir) {\n console.log(+new Date(), `${module.name} is not in the correct directory!`);\n return controller.stop()\n }\n console.log(+new Date(), `${module.name} is in the correct directory!`);\n return controller.next(); //continue\n }\n }\n}\n")),(0,o.kt)("p",null,"Javascript:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-javascript"},"export function inDir(dir : string) {\n return {\n type: PluginType.Command,\n async execute(wrapper, { absPath, module }, controller) {\n if(path.dirname(absPath) !== dir) {\n console.log(+new Date(), `${module.name} is not in the correct directory!`);\n return controller.stop()\n }\n console.log(+new Date(), `${module.name} is in the correct directory!`);\n return controller.next(); //continue\n }\n }\n}\n")),(0,o.kt)("p",null,"Above, this simple plugin logs that the module has been loaded along with a timestamp. ",(0,o.kt)("br",null),"\nAgain, it is up to ",(0,o.kt)("strong",{parentName:"p"},"you")," to define plugin logic! The possibilities to customize your bots are endless."),(0,o.kt)("admonition",{type:"tip"},(0,o.kt)("p",{parentName:"admonition"},"Command Plugins are good for ensuring the shape, location, and preprocessing of your commands.")),(0,o.kt)("h2",{id:"event-plugins"},"Event Plugins"),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"event-plugins",src:t(1910).Z,width:"542",height:"377"})," ",(0,o.kt)("br",null)),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"An event is emitted by discord.js."),(0,o.kt)("li",{parentName:"ul"},"This event is passed to all plugins (",(0,o.kt)("strong",{parentName:"li"},"in order!!"),"),"),(0,o.kt)("li",{parentName:"ul"},"If all are successful,")),(0,o.kt)("p",null,"The command is executed. Calling ",(0,o.kt)("inlineCode",{parentName:"p"},"controller.stop()")," notifies sern that this command should not be run,\nand this event is ignored."),(0,o.kt)("p",null,"So, what does a command module look like with plugins?"),(0,o.kt)("p",null,"Typescript:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-typescript"},"import { commandModule, CommandType } from '@sern/handler';\n\nexport default commandModule({\n type: CommandType.Both,\n plugins: [\n inDir(\"other\"), \n serenOnly()\n ],\n description: 'A ping command',\n //alias : [],\n execute: async (ctx, args) => {\n await ctx.reply({ content: 'Pong \ud83c\udfd3' });\n },\n});\n")),(0,o.kt)("p",null,"Javascript:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-typescript"},"const { commandModule, CommandType } = require('@sern/handler');\n\nexports.default = commandModule({\n type: CommandType.Both,\n plugins: [\n inDir(\"other\"), \n serenOnly() //The plugins in this section applied to this module!\n ],\n description: 'A ping command',\n //alias : [],\n execute: async (ctx, args) => {\n await ctx.reply({ content: 'Pong \ud83c\udfd3' });\n },\n});\n")),(0,o.kt)("p",null,"Can you predict the behavior of this command?"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Before loading into sern, this command module will check if this module is in the correct directory ",(0,o.kt)("inlineCode",{parentName:"li"},"other"),"."),(0,o.kt)("li",{parentName:"ul"},"Before an event occurs, this command module will check if the user has the id ",(0,o.kt)("inlineCode",{parentName:"li"},"182326315813306368"),".")),(0,o.kt)("admonition",{type:"tip"},(0,o.kt)("p",{parentName:"admonition"},"Event Plugins are good for filtering, preconditions, parsing.")),(0,o.kt)("p",null,"If all plugins return ",(0,o.kt)("inlineCode",{parentName:"p"},"controller.next()"),", this command replies ",(0,o.kt)("inlineCode",{parentName:"p"},"Pong \ud83c\udfd3")))}c.isMDXComponent=!0},1910:(e,n,t)=>{t.d(n,{Z:()=>r});const r=t.p+"assets/images/eventplugins.drawio-f22ee78041e60a62a45024f542a2b104.svg"}}]); \ No newline at end of file +"use strict";(self.webpackChunk_sern_website=self.webpackChunk_sern_website||[]).push([[5],{3905:(e,n,t)=>{t.d(n,{Zo:()=>p,kt:()=>m});var r=t(7294);function o(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function a(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function l(e){for(var n=1;n=0||(o[t]=e[t]);return o}(e,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}var s=r.createContext({}),u=function(e){var n=r.useContext(s),t=n;return e&&(t="function"==typeof e?e(n):l(l({},n),e)),t},p=function(e){var n=u(e.components);return r.createElement(s.Provider,{value:n},e.children)},c={inlineCode:"code",wrapper:function(e){var n=e.children;return r.createElement(r.Fragment,{},n)}},d=r.forwardRef((function(e,n){var t=e.components,o=e.mdxType,a=e.originalType,s=e.parentName,p=i(e,["components","mdxType","originalType","parentName"]),d=u(t),m=o,g=d["".concat(s,".").concat(m)]||d[m]||c[m]||a;return t?r.createElement(g,l(l({ref:n},p),{},{components:t})):r.createElement(g,l({ref:n},p))}));function m(e,n){var t=arguments,o=n&&n.mdxType;if("string"==typeof e||o){var a=t.length,l=new Array(a);l[0]=d;var i={};for(var s in n)hasOwnProperty.call(n,s)&&(i[s]=n[s]);i.originalType=e,i.mdxType="string"==typeof e?e:o,l[1]=i;for(var u=2;u{t.r(n),t.d(n,{assets:()=>s,contentTitle:()=>l,default:()=>c,frontMatter:()=>a,metadata:()=>i,toc:()=>u});var r=t(7462),o=(t(7294),t(3905));const a={sidebar_position:5},l="Plugins",i={unversionedId:"guide/walkthrough/plugins",id:"guide/walkthrough/plugins",title:"Plugins",description:"As of now, modules seem a little underwhelming. It appears that sern doesn't have all the features of a standard handler,",source:"@site/docs/guide/walkthrough/plugins.md",sourceDirName:"guide/walkthrough",slug:"/guide/walkthrough/plugins",permalink:"/fr/docs/guide/walkthrough/plugins",draft:!1,editUrl:"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/guide/walkthrough/plugins.md",tags:[],version:"current",sidebarPosition:5,frontMatter:{sidebar_position:5},sidebar:"tutorialSidebar",previous:{title:"First Event Module",permalink:"/fr/docs/guide/walkthrough/first-event"},next:{title:"The SernEmitter class",permalink:"/fr/docs/guide/walkthrough/sern-emitter"}},s={},u=[{value:"Command Plugins",id:"command-plugins",level:2},{value:"The controller object",id:"the-controller-object",level:3},{value:"Event Plugins",id:"event-plugins",level:2}],p={toc:u};function c(e){let{components:n,...a}=e;return(0,o.kt)("wrapper",(0,r.Z)({},p,a,{components:n,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"plugins"},"Plugins"),(0,o.kt)("p",null,"As of now, modules seem a little underwhelming. It appears that sern doesn't have all the features of a standard handler, which manages permissions, categorizes, cool-downs, publishes application commands, role permissions, etc."),(0,o.kt)("p",null,"Many important parts that manage access and help streamline command creation to make are apparently absent. Below is an example of an event plugin, one of the types of plugins."),(0,o.kt)("p",null,"Typescript:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-typescript"},'export function serenOnly(): EventPlugin {\n return {\n type: PluginType.Event,\n async execute([ctx, args], controller) {\n if (ctx.user.id !== "182326315813306368") {\n await ctx.reply({content: "You cannot use this command"})\n return controller.stop()\n }\n return controller.next();\n }\n }\n}\n')),(0,o.kt)("p",null,"Javascript:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-javascript"},'export function serenOnly() {\n return {\n type: PluginType.Event,\n async execute([ctx, args], controller) {\n if (ctx.user.id !== "182326315813306368") {\n await ctx.reply({content: "You cannot use this command"})\n return controller.stop()\n }\n return controller.next();\n }\n }\n}\n')),(0,o.kt)("br",null)," As part of our extensibility, the plugins feature make sern just as powerful, if not more powerful than standard handlers. Plugins modify and add new behavior to standard modules, extending customizability and implementing automation.",(0,o.kt)("br",null)," At the moment, there are two types of plugins:",(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Command Plugins"),(0,o.kt)("li",{parentName:"ul"},"Event Plugins")),(0,o.kt)("h2",{id:"command-plugins"},"Command Plugins"),(0,o.kt)("p",null,"All modules are registered into sern's system. With command plugins, you can modify how commands are loaded,\nor do some kind of preprocessing before they are loaded into sern."),(0,o.kt)("h3",{id:"the-controller-object"},"The controller object"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-typescript"},"export interface Controller {\n next: () => Ok;\n stop: () => Err;\n}\n")),(0,o.kt)("p",null,"An instance of the above object is passed into every plugin. ",(0,o.kt)("br",null),"\nThis controls whether a module is stored into sern. ",(0,o.kt)("br",null),"\nTypescript:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-typescript"},"export function inDir(dir : string) : CommandPlugin {\n return {\n type: PluginType.Command,\n async execute(wrapper, { absPath, module }, controller) {\n if(path.dirname(absPath) !== dir) {\n console.log(+new Date(), `${module.name} is not in the correct directory!`);\n return controller.stop()\n }\n console.log(+new Date(), `${module.name} is in the correct directory!`);\n return controller.next(); //continue\n }\n }\n}\n")),(0,o.kt)("p",null,"Javascript:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-javascript"},"export function inDir(dir : string) {\n return {\n type: PluginType.Command,\n async execute(wrapper, { absPath, module }, controller) {\n if(path.dirname(absPath) !== dir) {\n console.log(+new Date(), `${module.name} is not in the correct directory!`);\n return controller.stop()\n }\n console.log(+new Date(), `${module.name} is in the correct directory!`);\n return controller.next(); //continue\n }\n }\n}\n")),(0,o.kt)("p",null,"Above, this simple plugin logs that the module has been loaded along with a timestamp. ",(0,o.kt)("br",null),"\nAgain, it is up to ",(0,o.kt)("strong",{parentName:"p"},"you")," to define plugin logic! The possibilities to customize your bots are endless."),(0,o.kt)("admonition",{type:"tip"},(0,o.kt)("p",{parentName:"admonition"},"Command Plugins are good for ensuring the shape, location, and preprocessing of your commands.")),(0,o.kt)("h2",{id:"event-plugins"},"Event Plugins"),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"event-plugins",src:t(6061).Z,width:"542",height:"377"})," ",(0,o.kt)("br",null)),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"An event is emitted by discord.js."),(0,o.kt)("li",{parentName:"ul"},"This event is passed to all plugins (",(0,o.kt)("strong",{parentName:"li"},"in order!!"),"),"),(0,o.kt)("li",{parentName:"ul"},"If all are successful,")),(0,o.kt)("p",null,"The command is executed. Calling ",(0,o.kt)("inlineCode",{parentName:"p"},"controller.stop()")," notifies sern that this command should not be run,\nand this event is ignored."),(0,o.kt)("p",null,"So, what does a command module look like with plugins?"),(0,o.kt)("p",null,"Typescript:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-typescript"},"import { commandModule, CommandType } from '@sern/handler';\n\nexport default commandModule({\n type: CommandType.Both,\n plugins: [\n inDir(\"other\"), \n serenOnly()\n ],\n description: 'A ping command',\n //alias : [],\n execute: async (ctx, args) => {\n await ctx.reply({ content: 'Pong \ud83c\udfd3' });\n },\n});\n")),(0,o.kt)("p",null,"Javascript:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-typescript"},"const { commandModule, CommandType } = require('@sern/handler');\n\nexports.default = commandModule({\n type: CommandType.Both,\n plugins: [\n inDir(\"other\"), \n serenOnly() //The plugins in this section applied to this module!\n ],\n description: 'A ping command',\n //alias : [],\n execute: async (ctx, args) => {\n await ctx.reply({ content: 'Pong \ud83c\udfd3' });\n },\n});\n")),(0,o.kt)("p",null,"Can you predict the behavior of this command?"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Before loading into sern, this command module will check if this module is in the correct directory ",(0,o.kt)("inlineCode",{parentName:"li"},"other"),"."),(0,o.kt)("li",{parentName:"ul"},"Before an event occurs, this command module will check if the user has the id ",(0,o.kt)("inlineCode",{parentName:"li"},"182326315813306368"),".")),(0,o.kt)("admonition",{type:"tip"},(0,o.kt)("p",{parentName:"admonition"},"Event Plugins are good for filtering, preconditions, parsing.")),(0,o.kt)("p",null,"If all plugins return ",(0,o.kt)("inlineCode",{parentName:"p"},"controller.next()"),", this command replies ",(0,o.kt)("inlineCode",{parentName:"p"},"Pong \ud83c\udfd3")))}c.isMDXComponent=!0},6061:(e,n,t)=>{t.d(n,{Z:()=>r});const r=t.p+"assets/images/eventplugins.drawio-f22ee78041e60a62a45024f542a2b104.svg"}}]); \ No newline at end of file diff --git a/fr/assets/js/runtime~main.3ca44381.js b/fr/assets/js/runtime~main.5db61f60.js similarity index 98% rename from fr/assets/js/runtime~main.3ca44381.js rename to fr/assets/js/runtime~main.5db61f60.js index 6251f93a4..3dc80ae19 100644 --- a/fr/assets/js/runtime~main.3ca44381.js +++ b/fr/assets/js/runtime~main.5db61f60.js @@ -1 +1 @@ -(()=>{"use strict";var e,t,r,a,f,c={},o={};function d(e){var t=o[e];if(void 0!==t)return t.exports;var r=o[e]={id:e,loaded:!1,exports:{}};return c[e].call(r.exports,r,r.exports,d),r.loaded=!0,r.exports}d.m=c,d.c=o,e=[],d.O=(t,r,a,f)=>{if(!r){var c=1/0;for(i=0;i=f)&&Object.keys(d.O).every((e=>d.O[e](r[n])))?r.splice(n--,1):(o=!1,f0&&e[i-1][2]>f;i--)e[i]=e[i-1];e[i]=[r,a,f]},d.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return d.d(t,{a:t}),t},r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,d.t=function(e,a){if(1&a&&(e=this(e)),8&a)return e;if("object"==typeof e&&e){if(4&a&&e.__esModule)return e;if(16&a&&"function"==typeof e.then)return e}var f=Object.create(null);d.r(f);var c={};t=t||[null,r({}),r([]),r(r)];for(var o=2&a&&e;"object"==typeof o&&!~t.indexOf(o);o=r(o))Object.getOwnPropertyNames(o).forEach((t=>c[t]=()=>e[t]));return c.default=()=>e,d.d(f,c),f},d.d=(e,t)=>{for(var r in t)d.o(t,r)&&!d.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},d.f={},d.e=e=>Promise.all(Object.keys(d.f).reduce(((t,r)=>(d.f[r](e,t),t)),[])),d.u=e=>"assets/js/"+({5:"1ac1bfe9",45:"888566f1",53:"5bc4ccbc",62:"69369ae2",85:"1f391b9e",127:"7e205c4a",137:"1aef51bd",146:"608ca171",195:"c4f5d8e4",197:"935f2afb",226:"707baeff",270:"e4877132",277:"c4348237",306:"f6aebfbf",322:"a5467962",332:"73bd57bd",363:"26f1f3a5",397:"312c2bc5",414:"393be207",429:"eea0bf40",472:"cf183316",514:"1be78505",597:"5e8c322a",640:"a96c96b0",652:"bcd9df7e",671:"0e384e19",703:"981f6151",712:"3dc7c79a",750:"3a2d3092",803:"9201de17",865:"e8e3d8c7",918:"17896441"}[e]||e)+"."+{5:"76036e65",45:"6e075084",53:"51b676b7",62:"1291f58b",85:"d7ab1744",127:"4131c3c4",137:"19a812fc",146:"0d01d94f",195:"5e4ab8ce",197:"3b551e23",226:"00e5aa3b",270:"b7490350",277:"bbd90c09",306:"06105970",322:"7b61a3f2",332:"cde4e056",363:"7d199635",397:"1f24705a",414:"387b15e8",429:"41d2f7a6",472:"eeb9cd73",503:"668d49f6",514:"f852ff9f",597:"47df5c24",640:"42a6d824",652:"d5194af7",671:"3335ebfb",703:"8d323aab",712:"16650433",750:"966c746d",803:"b6d7200c",865:"db18c8a4",918:"15289f85",972:"61be9a41"}[e]+".js",d.miniCssF=e=>{},d.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),d.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),a={},f="@sern/website:",d.l=(e,t,r,c)=>{if(a[e])a[e].push(t);else{var o,n;if(void 0!==r)for(var b=document.getElementsByTagName("script"),i=0;i{o.onerror=o.onload=null,clearTimeout(s);var f=a[e];if(delete a[e],o.parentNode&&o.parentNode.removeChild(o),f&&f.forEach((e=>e(r))),t)return t(r)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:o}),12e4);o.onerror=l.bind(null,o.onerror),o.onload=l.bind(null,o.onload),n&&document.head.appendChild(o)}},d.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},d.p="/fr/",d.gca=function(e){return e={17896441:"918","1ac1bfe9":"5","888566f1":"45","5bc4ccbc":"53","69369ae2":"62","1f391b9e":"85","7e205c4a":"127","1aef51bd":"137","608ca171":"146",c4f5d8e4:"195","935f2afb":"197","707baeff":"226",e4877132:"270",c4348237:"277",f6aebfbf:"306",a5467962:"322","73bd57bd":"332","26f1f3a5":"363","312c2bc5":"397","393be207":"414",eea0bf40:"429",cf183316:"472","1be78505":"514","5e8c322a":"597",a96c96b0:"640",bcd9df7e:"652","0e384e19":"671","981f6151":"703","3dc7c79a":"712","3a2d3092":"750","9201de17":"803",e8e3d8c7:"865"}[e]||e,d.p+d.u(e)},(()=>{var e={303:0,532:0};d.f.j=(t,r)=>{var a=d.o(e,t)?e[t]:void 0;if(0!==a)if(a)r.push(a[2]);else if(/^(303|532)$/.test(t))e[t]=0;else{var f=new Promise(((r,f)=>a=e[t]=[r,f]));r.push(a[2]=f);var c=d.p+d.u(t),o=new Error;d.l(c,(r=>{if(d.o(e,t)&&(0!==(a=e[t])&&(e[t]=void 0),a)){var f=r&&("load"===r.type?"missing":r.type),c=r&&r.target&&r.target.src;o.message="Loading chunk "+t+" failed.\n("+f+": "+c+")",o.name="ChunkLoadError",o.type=f,o.request=c,a[1](o)}}),"chunk-"+t,t)}},d.O.j=t=>0===e[t];var t=(t,r)=>{var a,f,c=r[0],o=r[1],n=r[2],b=0;if(c.some((t=>0!==e[t]))){for(a in o)d.o(o,a)&&(d.m[a]=o[a]);if(n)var i=n(d)}for(t&&t(r);b{"use strict";var e,t,r,a,f,c={},o={};function d(e){var t=o[e];if(void 0!==t)return t.exports;var r=o[e]={id:e,loaded:!1,exports:{}};return c[e].call(r.exports,r,r.exports,d),r.loaded=!0,r.exports}d.m=c,d.c=o,e=[],d.O=(t,r,a,f)=>{if(!r){var c=1/0;for(i=0;i=f)&&Object.keys(d.O).every((e=>d.O[e](r[n])))?r.splice(n--,1):(o=!1,f0&&e[i-1][2]>f;i--)e[i]=e[i-1];e[i]=[r,a,f]},d.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return d.d(t,{a:t}),t},r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,d.t=function(e,a){if(1&a&&(e=this(e)),8&a)return e;if("object"==typeof e&&e){if(4&a&&e.__esModule)return e;if(16&a&&"function"==typeof e.then)return e}var f=Object.create(null);d.r(f);var c={};t=t||[null,r({}),r([]),r(r)];for(var o=2&a&&e;"object"==typeof o&&!~t.indexOf(o);o=r(o))Object.getOwnPropertyNames(o).forEach((t=>c[t]=()=>e[t]));return c.default=()=>e,d.d(f,c),f},d.d=(e,t)=>{for(var r in t)d.o(t,r)&&!d.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},d.f={},d.e=e=>Promise.all(Object.keys(d.f).reduce(((t,r)=>(d.f[r](e,t),t)),[])),d.u=e=>"assets/js/"+({5:"1ac1bfe9",45:"888566f1",53:"5bc4ccbc",62:"69369ae2",85:"1f391b9e",127:"7e205c4a",137:"1aef51bd",146:"608ca171",195:"c4f5d8e4",197:"935f2afb",226:"707baeff",270:"e4877132",277:"c4348237",306:"f6aebfbf",322:"a5467962",332:"73bd57bd",363:"26f1f3a5",397:"312c2bc5",414:"393be207",429:"eea0bf40",472:"cf183316",514:"1be78505",597:"5e8c322a",640:"a96c96b0",652:"bcd9df7e",671:"0e384e19",703:"981f6151",712:"3dc7c79a",750:"3a2d3092",803:"9201de17",865:"e8e3d8c7",918:"17896441"}[e]||e)+"."+{5:"b0c567c5",45:"6e075084",53:"51b676b7",62:"1291f58b",85:"d7ab1744",127:"4131c3c4",137:"19a812fc",146:"0d01d94f",195:"5e4ab8ce",197:"3b551e23",226:"00e5aa3b",270:"b7490350",277:"bbd90c09",306:"06105970",322:"7b61a3f2",332:"cde4e056",363:"7d199635",397:"1f24705a",414:"387b15e8",429:"41d2f7a6",472:"eeb9cd73",503:"668d49f6",514:"f852ff9f",597:"47df5c24",640:"42a6d824",652:"d5194af7",671:"3335ebfb",703:"8d323aab",712:"16650433",750:"966c746d",803:"b6d7200c",865:"db18c8a4",918:"15289f85",972:"61be9a41"}[e]+".js",d.miniCssF=e=>{},d.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),d.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),a={},f="@sern/website:",d.l=(e,t,r,c)=>{if(a[e])a[e].push(t);else{var o,n;if(void 0!==r)for(var b=document.getElementsByTagName("script"),i=0;i{o.onerror=o.onload=null,clearTimeout(s);var f=a[e];if(delete a[e],o.parentNode&&o.parentNode.removeChild(o),f&&f.forEach((e=>e(r))),t)return t(r)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:o}),12e4);o.onerror=l.bind(null,o.onerror),o.onload=l.bind(null,o.onload),n&&document.head.appendChild(o)}},d.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},d.p="/fr/",d.gca=function(e){return e={17896441:"918","1ac1bfe9":"5","888566f1":"45","5bc4ccbc":"53","69369ae2":"62","1f391b9e":"85","7e205c4a":"127","1aef51bd":"137","608ca171":"146",c4f5d8e4:"195","935f2afb":"197","707baeff":"226",e4877132:"270",c4348237:"277",f6aebfbf:"306",a5467962:"322","73bd57bd":"332","26f1f3a5":"363","312c2bc5":"397","393be207":"414",eea0bf40:"429",cf183316:"472","1be78505":"514","5e8c322a":"597",a96c96b0:"640",bcd9df7e:"652","0e384e19":"671","981f6151":"703","3dc7c79a":"712","3a2d3092":"750","9201de17":"803",e8e3d8c7:"865"}[e]||e,d.p+d.u(e)},(()=>{var e={303:0,532:0};d.f.j=(t,r)=>{var a=d.o(e,t)?e[t]:void 0;if(0!==a)if(a)r.push(a[2]);else if(/^(303|532)$/.test(t))e[t]=0;else{var f=new Promise(((r,f)=>a=e[t]=[r,f]));r.push(a[2]=f);var c=d.p+d.u(t),o=new Error;d.l(c,(r=>{if(d.o(e,t)&&(0!==(a=e[t])&&(e[t]=void 0),a)){var f=r&&("load"===r.type?"missing":r.type),c=r&&r.target&&r.target.src;o.message="Loading chunk "+t+" failed.\n("+f+": "+c+")",o.name="ChunkLoadError",o.type=f,o.request=c,a[1](o)}}),"chunk-"+t,t)}},d.O.j=t=>0===e[t];var t=(t,r)=>{var a,f,c=r[0],o=r[1],n=r[2],b=0;if(c.some((t=>0!==e[t]))){for(a in o)d.o(o,a)&&(d.m[a]=o[a]);if(n)var i=n(d)}for(t&&t(r);b @sern/handler | sern - Handlers. Redefined. - +

SernHandler

NPM versionNPM downloads[![License: MIT](https://img.shields.io/badge/License-MIT-blavk.svg)](https://opensource.org/licenses/MIT)

A customizable, batteries-included, powerful discord.js framework to automate and streamline your bot development.

Installation

npm install @sern/handler
yarn add @sern/handler
pnpm add @sern/handler

Basic Usage

index.js (CommonJS)

const { Client, GatewayIntentBits } = require('discord.js');
const { Sern } = require('@sern/handler');
const { defaultPrefix, token } = require('./config.json');

const client = new Client({
intents: [
GatewayIntentBits.Guilds,
GatewayIntentBits.GuildMembers,
GatewayIntentBits.GuildMessages
]
});

Sern.init({
client,
defaultPrefix,
commands : 'src/commands',
});

client.login(token);

ping.js (CommonJS)

const { Sern, CommandType } = require('@sern/handler');

exports.default = {
description: 'A ping pong command',
type: CommandType.Slash,
execute(ctx) {
ctx.reply('pong!');
}
};

See our templates for TypeScript examples and more

CLI

It is highly encouraged to use the command line interface for your project. Don't forget to view it.

Contribute

  • Read our contribution guidelines carefully
  • Pull up on issues and report bugs
  • All kinds of contributions are welcomed.

Roadmap

You can check our roadmap to see what's going to be added or patched in the future.

- + \ No newline at end of file diff --git a/fr/docs/api/classes/Context.html b/fr/docs/api/classes/Context.html index 3a7dbcb0c..c6c7d74c5 100644 --- a/fr/docs/api/classes/Context.html +++ b/fr/docs/api/classes/Context.html @@ -5,7 +5,7 @@ Class: Context | sern - Handlers. Redefined. - + @@ -16,7 +16,7 @@ CommandType.Text or the event fired in a Both command was Message

Returns

ChatInputCommandInteraction<CacheType>

Defined in

src/handler/structures/context.ts:52


member

get member(): Nullish<GuildMember | APIGuildMember>

Returns

Nullish<GuildMember | APIGuildMember>

Defined in

src/handler/structures/context.ts:101


message

get message(): Message<boolean>

Getting the Message object. Crashes if module type is CommandType.Slash or the event fired in a Both command was ChatInputCommandInteraction

Returns

Message<boolean>

Defined in

src/handler/structures/context.ts:44


user

get user(): User

Returns

User

Defined in

src/handler/structures/context.ts:70

Methods

isEmpty

isEmpty(): boolean

Returns

boolean

Defined in

src/handler/structures/context.ts:129


reply

reply(content): Promise<Message<boolean>>

Parameters

NameType
contentstring | Omit<InteractionReplyOptions, "fetchReply"> | ReplyMessageOptions

Returns

Promise<Message<boolean>>

Defined in

src/handler/structures/context.ts:133


wrap

Static wrap(wrappable): Context

Parameters

NameType
wrappableMessage<boolean> | ChatInputCommandInteraction<CacheType>

Returns

Context

Defined in

src/handler/structures/context.ts:122

- + \ No newline at end of file diff --git a/fr/docs/api/classes/SernEmitter.html b/fr/docs/api/classes/SernEmitter.html index f46d57a89..12e728f55 100644 --- a/fr/docs/api/classes/SernEmitter.html +++ b/fr/docs/api/classes/SernEmitter.html @@ -5,7 +5,7 @@ Class: SernEmitter | sern - Handlers. Redefined. - + @@ -49,7 +49,7 @@ given event.

This method is intentionally generic and works with the web p semantics and does not listen to the 'error' event.

const { once, EventEmitter } = require('events');

async function run() {
const ee = new EventEmitter();

process.nextTick(() => {
ee.emit('myevent', 42);
});

const [value] = await once(ee, 'myevent');
console.log(value);

const err = new Error('kaboom');
process.nextTick(() => {
ee.emit('error', err);
});

try {
await once(ee, 'myevent');
} catch (err) {
console.log('error happened', err);
}
}

run();

The special handling of the 'error' event is only used when events.once()is used to wait for another event. If events.once() is used to wait for the 'error' event itself, then it is treated as any other kind of event without special handling:

const { EventEmitter, once } = require('events');

const ee = new EventEmitter();

once(ee, 'error')
.then(([err]) => console.log('ok', err.message))
.catch((err) => console.log('error', err.message));

ee.emit('error', new Error('boom'));

// Prints: ok boom

An AbortSignal can be used to cancel waiting for the event:

const { EventEmitter, once } = require('events');

const ee = new EventEmitter();
const ac = new AbortController();

async function foo(emitter, event, signal) {
try {
await once(emitter, event, { signal });
console.log('event emitted!');
} catch (error) {
if (error.name === 'AbortError') {
console.error('Waiting for the event was canceled!');
} else {
console.error('There was an error', error.message);
}
}
}

foo(ee, 'foo', ac.signal);
ac.abort(); // Abort waiting for the event
ee.emit('foo'); // Prints: Waiting for the event was canceled!

Since

v11.13.0, v10.16.0

Parameters

NameType
emitterNodeEventTarget
eventNamestring | symbol
options?StaticEventEmitterOptions

Returns

Promise<any[]>

Inherited from

EventEmitter.once

Defined in

node_modules/@types/node/events.d.ts:157

Static once(emitter, eventName, options?): Promise<any[]>

Parameters

NameType
emitterDOMEventTarget
eventNamestring
options?StaticEventEmitterOptions

Returns

Promise<any[]>

Inherited from

EventEmitter.once

Defined in

node_modules/@types/node/events.d.ts:158

Static once<K>(eventEmitter, eventName): Promise<ClientEvents[K]>

Type parameters

NameType
Kextends keyof ClientEvents

Parameters

NameType
eventEmitterClient<boolean>
eventNameK

Returns

Promise<ClientEvents[K]>

Inherited from

EventEmitter.once

Defined in

node_modules/discord.js/typings/index.d.ts:194


setMaxListeners

Static setMaxListeners(n?, ...eventTargets): void

const {
setMaxListeners,
EventEmitter
} = require('events');

const target = new EventTarget();
const emitter = new EventEmitter();

setMaxListeners(5, target, emitter);

Since

v15.4.0

Parameters

NameTypeDescription
n?numberA non-negative number. The maximum number of listeners per EventTarget event.
...eventTargets(EventEmitter | DOMEventTarget)[]-

Returns

void

Inherited from

EventEmitter.setMaxListeners

Defined in

node_modules/@types/node/events.d.ts:280

- + \ No newline at end of file diff --git a/fr/docs/api/enums/CommandType.html b/fr/docs/api/enums/CommandType.html index ae521c177..36e00f148 100644 --- a/fr/docs/api/enums/CommandType.html +++ b/fr/docs/api/enums/CommandType.html @@ -5,13 +5,13 @@ Enumeration: CommandType | sern - Handlers. Redefined. - +

Enumeration: CommandType

Example

export default commandModule({
type : CommandType.Text,
name : 'a text command'
execute(message) {
console.log(message.content)
}
})

Enumeration Members

Both

Both = 3

The CommandType for hybrid commands, text and slash

Defined in

src/handler/structures/enums.ts:27


Button

Button = 16

The CommandType for ButtonInteraction commands

Defined in

src/handler/structures/enums.ts:39


MenuMsg = 8

The CommandType for MessageContextMenuInteraction commands

Defined in

src/handler/structures/enums.ts:35


MenuSelect = 32

The CommandType for SelectMenuInteraction commands

Defined in

src/handler/structures/enums.ts:43


MenuUser = 4

The CommandType for UserContextMenuInteraction commands

Defined in

src/handler/structures/enums.ts:31


Modal = 64

The CommandType for ModalSubmitInteraction commands

Defined in

src/handler/structures/enums.ts:47


Slash

Slash = 2

The CommandType for slash commands

Defined in

src/handler/structures/enums.ts:23


Text

Text = 1

The CommandType for text commands

Defined in

src/handler/structures/enums.ts:19

- + \ No newline at end of file diff --git a/fr/docs/api/enums/EventType.html b/fr/docs/api/enums/EventType.html index 2e40f41e2..9daf5f81d 100644 --- a/fr/docs/api/enums/EventType.html +++ b/fr/docs/api/enums/EventType.html @@ -5,14 +5,14 @@ Enumeration: EventType | sern - Handlers. Redefined. - +

Enumeration: EventType

Example

export default eventModule({
type : EventType.Discord,
name : 'guildMemberAdd'
execute(member : GuildMember) {
console.log(member)
}
})

Enumeration Members

Discord

Discord = 1

The EventType for handling discord events

Defined in

src/handler/structures/enums.ts:68


External

External = 3

The EventType for handling external events. Could be for example, process events, database events

Defined in

src/handler/structures/enums.ts:77


Sern

Sern = 2

The EventType for handling sern events

Defined in

src/handler/structures/enums.ts:72

- + \ No newline at end of file diff --git a/fr/docs/api/enums/PayloadType.html b/fr/docs/api/enums/PayloadType.html index 5574f9317..4fd222e8e 100644 --- a/fr/docs/api/enums/PayloadType.html +++ b/fr/docs/api/enums/PayloadType.html @@ -5,13 +5,13 @@ Enumeration: PayloadType | sern - Handlers. Redefined. - +
- + \ No newline at end of file diff --git a/fr/docs/api/enums/PluginType.html b/fr/docs/api/enums/PluginType.html index c93a6fa76..6f503881a 100644 --- a/fr/docs/api/enums/PluginType.html +++ b/fr/docs/api/enums/PluginType.html @@ -5,13 +5,13 @@ Enumeration: PluginType | sern - Handlers. Redefined. - +

Enumeration: PluginType

Example

export default function myPlugin() : EventPlugin<CommandType.Text> {
type : PluginType.Event,
execute([ctx, args], controller) {
return controller.next();
}
}

Enumeration Members

Command

Command = 1

The PluginType for CommandPlugins

Defined in

src/handler/structures/enums.ts:97


Event

Event = 2

The PluginType for EventPlugins

Defined in

src/handler/structures/enums.ts:101

- + \ No newline at end of file diff --git a/fr/docs/api/interfaces/Controller.html b/fr/docs/api/interfaces/Controller.html index 6c464fedf..4271a3b49 100644 --- a/fr/docs/api/interfaces/Controller.html +++ b/fr/docs/api/interfaces/Controller.html @@ -5,13 +5,13 @@ Interface: Controller | sern - Handlers. Redefined. - +
- + \ No newline at end of file diff --git a/fr/docs/api/interfaces/Wrapper.html b/fr/docs/api/interfaces/Wrapper.html index 5579898b6..52d3e8792 100644 --- a/fr/docs/api/interfaces/Wrapper.html +++ b/fr/docs/api/interfaces/Wrapper.html @@ -5,13 +5,13 @@ Interface: Wrapper | sern - Handlers. Redefined. - +

Interface: Wrapper

An object to be passed into Sern#init() function.

Properties

client

Readonly client: Client<boolean>

Defined in

src/handler/structures/wrapper.ts:10


commands

Readonly commands: string

Defined in

src/handler/structures/wrapper.ts:13


defaultPrefix

Optional Readonly defaultPrefix: string

Defined in

src/handler/structures/wrapper.ts:12


events

Optional Readonly events: string | { absPath: string ; mod: EventModule }[] | () => { absPath: string ; mod: EventModule }[]

Defined in

src/handler/structures/wrapper.ts:14


sernEmitter

Optional Readonly sernEmitter: SernEmitter

Defined in

src/handler/structures/wrapper.ts:11

- + \ No newline at end of file diff --git a/fr/docs/api/modules.html b/fr/docs/api/modules.html index 58e8d4248..9cb03131c 100644 --- a/fr/docs/api/modules.html +++ b/fr/docs/api/modules.html @@ -5,7 +5,7 @@ @sern/handler | sern - Handlers. Redefined. - + @@ -13,7 +13,7 @@

@sern/handler

Namespaces

Enumerations

Classes

Interfaces

Type Aliases

Args

Ƭ Args: ParseType<{ slash: SlashOptions ; text: string[] }>

Defined in

src/types/handler.ts:11


AutocompletePlugin

Ƭ AutocompletePlugin: Override<BaseModule, { execute: (autocmp: AutocompleteInteraction, controlller: Controller) => Awaitable<Result<void, void>> ; type: Event }>

Defined in

src/handler/plugins/plugin.ts:92


BaseOptions

Ƭ BaseOptions: ApplicationCommandChoicesData | ApplicationCommandNonOptionsData | ApplicationCommandChannelOptionData | ApplicationCommandNumericOptionData | ApplicationCommandAttachmentOption | SernAutocompleteData

Type that replaces autocomplete with SernAutocompleteData

Defined in

src/handler/structures/module.ts:181


BothCommand

Ƭ BothCommand: Override<BaseModule, { alias?: string[] ; execute: (ctx: Context, args: Args) => Awaitable<void | unknown> ; onEvent: EventPlugin<Both>[] ; options?: SernOptionsData[] ; plugins: CommandPlugin[] ; type: Both }>

Defined in

src/handler/structures/module.ts:55


CommandModuleNoPlugins

Ƭ CommandModuleNoPlugins: { [T in CommandType]: Omit<CommandModuleDefs[T], "plugins" | "onEvent"> }

Defined in

src/handler/plugins/plugin.ts:145


CommandModulePlugin

Ƭ CommandModulePlugin<T>: EventPlugin<T> | CommandPlugin<T>

Type parameters

NameType
Textends CommandType

Defined in

src/handler/plugins/plugin.ts:173


CommandPlugin

Ƭ CommandPlugin<T>: { [K in T]: Override<BasePlugin, Object> }[T]

Type parameters

NameType
Textends keyof CommandModuleDefs = keyof CommandModuleDefs

Defined in

src/handler/plugins/plugin.ts:40


DefinedCommandModule

Ƭ DefinedCommandModule: DefinitelyDefined<CommandModule, "name" | "description">

Defined in

src/types/handler.ts:48


DefinedEventModule

Ƭ DefinedEventModule: DefinitelyDefined<EventModule, "name" | "description">

Defined in

src/types/handler.ts:49


DefinedModule

Ƭ DefinedModule: DefinitelyDefined<Module, "name" | "description">

After modules are transformed, name and description are given default values if none are provided to Module. This type represents that transformation

Defined in

src/types/handler.ts:47


DefinitelyDefined

Ƭ DefinitelyDefined<T, K>: { [L in K]-?: T[L] extends Record<string, unknown> ? DefinitelyDefined<T[L], keyof T[L]> : Required<T>[L] } & T

Type parameters

NameType
TT
Kextends keyof T = keyof T

Defined in

src/types/handler.ts:18


DiscordEmitterPlugin

Ƭ DiscordEmitterPlugin: Override<BasePlugin, { execute: (wrapper: Client, module: DefinitelyDefined<DiscordEventCommand, "name" | "description">, controller: Controller) => Awaitable<Result<void, void>> ; type: Command }>

Defined in

src/handler/plugins/plugin.ts:57


DiscordEventPlugin

Ƭ DiscordEventPlugin<T>: Override<BasePlugin, { execute: (args: ClientEvents[T], controller: Controller) => Awaitable<Result<void, void>> ; name?: T ; type: Event }>

Type parameters

NameType
Textends keyof ClientEvents = keyof ClientEvents

Defined in

src/handler/plugins/plugin.ts:136


EventInput

Ƭ EventInput: string | { absPath: string ; mod: EventModule }[] | () => { absPath: string ; mod: EventModule }[]

Defined in

src/types/handler.ts:24


EventModuleCommandPluginDefs

Ƭ EventModuleCommandPluginDefs: Object

Event Module Command Plugins

Type declaration

NameType
1DiscordEmitterPlugin
2SernEmitterPlugin
3ExternalEmitterPlugin

Defined in

src/handler/plugins/plugin.ts:163


EventModuleEventPluginDefs

Ƭ EventModuleEventPluginDefs: Object

Event Module Event Plugins

Type declaration

NameType
1DiscordEventPlugin
2SernEventPlugin
3ExternalEventPlugin

Defined in

src/handler/plugins/plugin.ts:154


EventModulePlugin

Ƭ EventModulePlugin<T>: EventModuleEventPluginDefs[T] | EventModuleCommandPluginDefs[T]

Type parameters

NameType
Textends EventType

Defined in

src/handler/plugins/plugin.ts:169


EventModulesNoPlugins

Ƭ EventModulesNoPlugins: { [T in EventType]: Omit<EventModuleDefs[T], "plugins" | "onEvent"> }

Defined in

src/handler/plugins/plugin.ts:148


EventPlugin

Ƭ EventPlugin<T>: { [K in T]: Override<BasePlugin, Object> }[T]

Type parameters

NameType
Textends keyof CommandModuleDefs = keyof CommandModuleDefs

Defined in

src/handler/plugins/plugin.ts:103


ExternalEmitterPlugin

Ƭ ExternalEmitterPlugin<T>: Override<BasePlugin, { execute: (wrapper: T, module: DefinitelyDefined<ExternalEventCommand, "name" | "description">, controller: Controller) => Awaitable<Result<void, void>> ; type: Command }>

Type parameters

NameType
Textends EventEmitter = EventEmitter

Defined in

src/handler/plugins/plugin.ts:68


ExternalEventPlugin

Ƭ ExternalEventPlugin: Override<BasePlugin, { execute: (args: unknown[], controller: Controller) => Awaitable<Result<void, void>> ; type: Event }>

Defined in

src/handler/plugins/plugin.ts:128


InputCommandModule

Ƭ InputCommandModule: { [T in CommandType]: CommandModuleNoPlugins[T] & Object }[CommandType]

User inputs this type. Sern processes behind the scenes for better usage

Defined in

src/handler/plugins/plugin.ts:178


InputEventModule

Ƭ InputEventModule: { [T in EventType]: EventModulesNoPlugins[T] & Object }[EventType]

Defined in

src/handler/plugins/plugin.ts:182


IsOptional

Ƭ IsOptional<T>: { [K in keyof T]-?: T[K] extends Required<T>[K] ? false : true }

Type parameters

Name
T

Defined in

src/types/handler.ts:31


Module

Ƭ Module: CommandModule | EventModule

Defined in

src/handler/structures/module.ts:141


Nullish

Ƭ Nullish<T>: T | undefined | null

Type parameters

Name
T

Defined in

src/types/handler.ts:4


Override

Ƭ Override<T1, T2>: Omit<T1, keyof T2> & T2

Type parameters

Name
T1
T2

Defined in

src/types/handler.ts:16


ParseType

Ƭ ParseType<T>: { [K in keyof T]: T[K] extends unknown ? [k: K, args: T[K]] : never }[keyof T]

Type parameters

Name
T

Defined in

src/types/handler.ts:7


Payload

Ƭ Payload: { module: Module ; type: Success } | { module: Module | undefined ; reason: string | Error ; type: Failure }

Defined in

src/types/handler.ts:50


Reconstruct

Ƭ Reconstruct<T>: T extends Omit<infer O, never> ? O & Reconstruct<O> : T

Type parameters

Name
T

Defined in

src/types/handler.ts:29


SernAutocompleteData

Ƭ SernAutocompleteData: Override<BaseApplicationCommandOptionsData, { autocomplete: true ; command: AutocompleteCommand ; type: ApplicationCommandOptionType.String | ApplicationCommandOptionType.Number | ApplicationCommandOptionType.Integer }>

Defined in

src/handler/structures/module.ts:166


SernEmitterPlugin

Ƭ SernEmitterPlugin: Override<BasePlugin, { execute: (wrapper: SernEmitter, module: DefinitelyDefined<SernEventCommand, "name" | "description">, controller: Controller) => Awaitable<Result<void, void>> ; type: Command }>

Defined in

src/handler/plugins/plugin.ts:80


SernEventPlugin

Ƭ SernEventPlugin<T>: Override<BasePlugin, { execute: (args: SernEventsMapping[T], controller: Controller) => Awaitable<Result<void, void>> ; name?: T ; type: Event }>

Type parameters

NameType
Textends keyof SernEventsMapping = keyof SernEventsMapping

Defined in

src/handler/plugins/plugin.ts:116


SernEventsMapping

Ƭ SernEventsMapping: Object

Type declaration

NameType
error[Error | string]
module.activate[Payload]
module.register[Payload]
warning[string]

Defined in

src/types/handler.ts:53


SernOptionsData

Ƭ SernOptionsData<U>: U extends ApplicationCommandSubCommandData ? SernSubCommandData : U extends ApplicationCommandSubGroupData ? SernSubCommandGroupData : BaseOptions

Type parameters

NameType
Uextends ApplicationCommandOptionData = ApplicationCommandOptionData

Defined in

src/handler/structures/module.ts:205


SernSubCommandData

Ƭ SernSubCommandData: Override<Omit<BaseApplicationCommandOptionsData, "required">, { options?: BaseOptions[] ; type: ApplicationCommandOptionType.Subcommand }>

Defined in

src/handler/structures/module.ts:189


SernSubCommandGroupData

Ƭ SernSubCommandGroupData: Override<Omit<BaseApplicationCommandOptionsData, "required">, { options?: SernSubCommandData[] ; type: ApplicationCommandOptionType.SubcommandGroup }>

Defined in

src/handler/structures/module.ts:197


SlashCommand

Ƭ SlashCommand: Override<BaseModule, { execute: (ctx: Context, args: ["slash", SlashOptions]) => Awaitable<void | unknown> ; onEvent: EventPlugin<Slash>[] ; options?: SernOptionsData[] ; plugins: CommandPlugin[] ; type: Slash }>

Defined in

src/handler/structures/module.ts:44


SlashOptions

Ƭ SlashOptions: Omit<CommandInteractionOptionResolver, "getMessage" | "getFocused">

Defined in

src/types/handler.ts:13


SpreadParams

Ƭ SpreadParams<T>: (args: Parameters<T>[number]) => unknown

Type parameters

NameType
Textends (...args: never) => unknown

Type declaration

▸ (args): unknown

Turns a function with a union of array of args into a single union [ T , V , B ] | [ A ] => T | V | B | A

Parameters
NameType
argsParameters<T>[number]
Returns

unknown

Defined in

src/types/handler.ts:39


TextCommand

Ƭ TextCommand: Override<BaseModule, { alias?: string[] ; execute: (ctx: Context, args: ["text", string[]]) => Awaitable<void | unknown> ; onEvent: EventPlugin<Text>[] ; plugins: CommandPlugin[] ; type: Text }>

Defined in

src/handler/structures/module.ts:33

Functions

commandModule

commandModule(mod): CommandModule

The wrapper function to define command modules for sern

Parameters

NameType
modInputCommandModule

Returns

CommandModule

Defined in

src/handler/sern.ts:86


eventModule

eventModule(mod): EventModule

The wrapper function to define event modules for sern

Parameters

NameType
modInputEventModule

Returns

EventModule

Defined in

src/handler/sern.ts:107

- + \ No newline at end of file diff --git a/fr/docs/api/namespaces/Sern.html b/fr/docs/api/namespaces/Sern.html index bba540268..297995232 100644 --- a/fr/docs/api/namespaces/Sern.html +++ b/fr/docs/api/namespaces/Sern.html @@ -5,13 +5,13 @@ Namespace: Sern | sern - Handlers. Redefined. - +

Namespace: Sern

References

commandModule

Re-exports commandModule


eventModule

Re-exports eventModule

Variables

controller

Const controller: Object

The object passed into every plugin to control a command's behavior

Type declaration

NameType
next() => OkImpl<void>
stop() => ErrImpl<void>

Defined in

src/handler/sern.ts:77

Functions

addExternal

addExternal<T>(emitter): void

Example

src/index.ts
//Add this before initiating Sern!
Sern.addExternal(new Level())

Example

events/level.ts
 export default eventModule({
emitter: 'Level',
type : EventType.External,
name: 'error',
execute(args) {
console.log(args)
}
})

Type parameters

NameType
Textends __module

Parameters

NameTypeDescription
emitterTAny external event emitter. The object will be stored in a map, and then fetched by the name of the instance's class. As there are infinite possibilities to adding external event emitters, Most types aren't provided and are as narrow as possibly can.

Returns

void

Defined in

src/handler/sern.ts:67


init

init(wrapper): void

Example

src/index.ts
Sern.init({
client,
defaultPrefix: '!',
commands: 'dist/commands',
})

Parameters

NameTypeDescription
wrapperWrapperOptions to pass into sern. Function to start the handler up

Returns

void

Defined in

src/handler/sern.ts:34

- + \ No newline at end of file diff --git a/fr/docs/guide.html b/fr/docs/guide.html index f2a0845f7..5dbed0bb4 100644 --- a/fr/docs/guide.html +++ b/fr/docs/guide.html @@ -5,13 +5,13 @@ Introduction | sern - Handlers. Redefined. - +

Introduction

Welcome to our official guide. This guide will go through all the core features of the framework.

  • 💖 Thank you for choosing sern to be your framework!

  • Teaching the discord.js library and / or Javascript / Typescript is out of scope of this project, so the documentation assumes you already know these elements.

  • discord.js v14 is the only supported library at the moment

You will learn

Working with plugins

Events

Good to know

- + \ No newline at end of file diff --git a/fr/docs/guide/getting-started/choose-ide.html b/fr/docs/guide/getting-started/choose-ide.html index 11d83b775..cd03213f1 100644 --- a/fr/docs/guide/getting-started/choose-ide.html +++ b/fr/docs/guide/getting-started/choose-ide.html @@ -5,14 +5,14 @@ Choosing an IDE | sern - Handlers. Redefined. - +
- + \ No newline at end of file diff --git a/fr/docs/guide/getting-started/preparing.html b/fr/docs/guide/getting-started/preparing.html index 4fc579be8..5c4f79055 100644 --- a/fr/docs/guide/getting-started/preparing.html +++ b/fr/docs/guide/getting-started/preparing.html @@ -5,13 +5,13 @@ Preparing to Code | sern - Handlers. Redefined. - +

Preparing to Code

After installing and IDE you need to install node.

You can download the LTS version of node right here

- + \ No newline at end of file diff --git a/fr/docs/guide/walkthrough/cli.html b/fr/docs/guide/walkthrough/cli.html index 81e0b97a9..2b828e9a0 100644 --- a/fr/docs/guide/walkthrough/cli.html +++ b/fr/docs/guide/walkthrough/cli.html @@ -5,7 +5,7 @@ CLI | sern - Handlers. Redefined. - + @@ -13,7 +13,7 @@

CLI

Setting up the CLI is easy.

  • To start a brand-new project, run :
sern init (-y)
astuce

It creates a directory for you so you don't need to!

Include the -y flag if you want to set up defaults. The default langauge is Typescript

sern plugins
info

Make sure to have a correct sern.config.json

This will display a menu selection of all installable plugins.
Note: You must have a sern.config.json to use this command. If you want to view plugins, visit the repository linked above.

  • To install extra utilities into your project
sern extra
- + \ No newline at end of file diff --git a/fr/docs/guide/walkthrough/conclusion.html b/fr/docs/guide/walkthrough/conclusion.html index a3a37e37a..ce5449240 100644 --- a/fr/docs/guide/walkthrough/conclusion.html +++ b/fr/docs/guide/walkthrough/conclusion.html @@ -5,7 +5,7 @@ Conclusion | sern - Handlers. Redefined. - + @@ -13,7 +13,7 @@

Conclusion

If you reached this far, thank you for reading! We hope you have learned the necessities you need to create a bot with the sern framework. If you have any other questions, bugs, feature requests, concerns, please join our community server, and we'll be glad to answer your questions.

- + \ No newline at end of file diff --git a/fr/docs/guide/walkthrough/first-command.html b/fr/docs/guide/walkthrough/first-command.html index 7e09934ad..85f6a5277 100644 --- a/fr/docs/guide/walkthrough/first-command.html +++ b/fr/docs/guide/walkthrough/first-command.html @@ -5,7 +5,7 @@ First Command | sern - Handlers. Redefined. - + @@ -14,7 +14,7 @@ If you installed a new project via the cli, This is the ping command located in src/commands folder.

Typescript

import { commandModule, CommandType } from '@sern/handler';

export default commandModule({
type: CommandType.Both,
plugins: [],
description: 'A ping command',
//alias : [],
execute: async (ctx, args) => {
await ctx.reply({ content: 'Pong 🏓' });
},
});

Javascript

const { CommandType, commandModule } = require('@sern/handler');

exports.default = commandModule({
type: CommandType.Both,
plugins: [],
description: 'A ping command',
//alias : [],
execute: async (ctx, args) => {
await ctx.reply('Pong 🏓');
},
})

To view what each of these properties mean in depth, visit the official documentation.

Types of command modules

Every command module type is part of an enum. This field allows type inference for the rest of a module's fields.
All the command types can be found in the official documentation!

So, lets say you want to make a command module that listens to modals.

Note: Keep in mind you'll need to send a modal with a custom id dm-me. This example below is the response to a modal being sent.


Typescript:

import { commandModule, CommandType } from '@sern/handler';
export default commandModule({
name: 'dm-me',
type: CommandType.Modal,
async execute (modal) {
const value = modal.fields.getTextInputValue('message');
modal.client.users.fetch('182326315813306368').then( u =>
u.send(value + ` from ${modal.user}`)
);
modal.reply( { ephemeral:true, content: 'Sent' })
}
});

Javascript:

const { CommandType, commandModule } = require('@sern/handler');
exports.default = commandModule({
name: 'dm-me',
type: CommandType.Modal,
async execute (modal) {
const value = modal.fields.getTextInputValue('message');
modal.client.users.fetch('182326315813306368').then( u =>
u.send(value + ` from ${modal.user}`)
);
modal.reply( { ephemeral:true, content: 'Sent' })
}
});

Commands are straight forward. Keep in mind, every other property on the commandModule object is optional except the type and execute function.

Context class

The provided Context class helps with modules of CommandType.Both (A mixture of slash / legacy commands).

The Context class is passed into modules with type :

  • CommandType.Both
  • CommandType.Slash
  • CommandType.Text

This data structure helps interop between legacy commands and slash commands with ease.

remarque

View the docs

Typescript:

export default commandModule({
name: 'ping',
type: CommandType.Both,
async execute(ctx: Context) {
await ctx.reply(`pong ${ctx.user}`)
// .reply is shared between both message and interaction!
// So is an User object!
}
});

Javascript:

exports.default = commandModule({
name: 'ping',
type: CommandType.Both,
async execute(ctx) { //ctx is a Context instance
await ctx.reply(`pong ${ctx.user}`)
// .reply is shared between both message and interaction!
// So is an User object!
}
});
- + \ No newline at end of file diff --git a/fr/docs/guide/walkthrough/first-event.html b/fr/docs/guide/walkthrough/first-event.html index e4fc3fdba..43330a5cd 100644 --- a/fr/docs/guide/walkthrough/first-event.html +++ b/fr/docs/guide/walkthrough/first-event.html @@ -5,7 +5,7 @@ First Event Module | sern - Handlers. Redefined. - + @@ -13,7 +13,7 @@

First Event Module

We will dissect a basic event module.
Typescript:

export default eventModule({
type: EventType.Sern,
plugins : [], //NOT SUPPORTED YET!!
name: 'module.activate', //name of event.
execute(event) {
console.log(event);
}
})

Javascript:

exports.default = eventModule({
type: EventType.Sern,
plugins : [], //NOT SUPPORTED YET!!
name: 'module.activate',
execute(event) {
console.log(event);
}
})

Like command modules, the type property denotes what kind of event it is, which can be found here.

To view what each of these properties mean in depth, visit the official documentation.


Event modules are laid out similarly to command modules. These listen to any and all event you provide. In the current version 1.1.0-beta, plugins are not supported.

Another example of an event module

Typescript:

export default eventModule({
type: EventType.Discord,
plugins : [], //NOT SUPPORTED YET!!
name: 'guildMemberAdd', //name of event.
async execute(member) {
await member.client.channels.fetch('channel-id').send(`Welcome, ${member}`);
}
})

Javascript:


exports.default = eventModule({
type: EventType.Discord,
plugins : [], //NOT SUPPORTED YET!!
name: 'guildMemberAdd', //name of event.
async execute(member) {
await member.client.channels.fetch('channel-id').send(`Welcome, ${member}`);
}
})
- + \ No newline at end of file diff --git a/fr/docs/guide/walkthrough/goal.html b/fr/docs/guide/walkthrough/goal.html index de740e1f8..b11be8a08 100644 --- a/fr/docs/guide/walkthrough/goal.html +++ b/fr/docs/guide/walkthrough/goal.html @@ -5,7 +5,7 @@ Goal | sern - Handlers. Redefined. - + @@ -13,7 +13,7 @@

Goal

sern strives to be minimalist, but with all batteries included. Meaning, this framework provides the necessary tools to start up a bot in minutes, and leaves plenty room space to customize your experience and create an amazing project. It should include all the tools for any bot at any scale.

- + \ No newline at end of file diff --git a/fr/docs/guide/walkthrough/good-to-know.html b/fr/docs/guide/walkthrough/good-to-know.html index f68519fd6..2e4da10c2 100644 --- a/fr/docs/guide/walkthrough/good-to-know.html +++ b/fr/docs/guide/walkthrough/good-to-know.html @@ -5,7 +5,7 @@ Good to know | sern - Handlers. Redefined. - + @@ -13,7 +13,7 @@

Good to know

sern.config.json

A sern.config.json, although not necessary, allows your project to communicate with our cli.

For example, when installing typescript plugins, the language property is necessary to install from our open source repository.

Using the cli and running sern init --sync on pre-existing projects should install this json file in the root directory given. Or, if this is a brand-new project, sern init automatically installs it.

{
"language": "typescript",
"paths": {
"base": "src",
"commands": "commands"
}
}
- + \ No newline at end of file diff --git a/fr/docs/guide/walkthrough/plugins.html b/fr/docs/guide/walkthrough/plugins.html index 113f21f22..19a3caee1 100644 --- a/fr/docs/guide/walkthrough/plugins.html +++ b/fr/docs/guide/walkthrough/plugins.html @@ -5,7 +5,7 @@ Plugins | sern - Handlers. Redefined. - + @@ -16,7 +16,7 @@ This controls whether a module is stored into sern.
Typescript:

export function inDir(dir : string) : CommandPlugin<CommandType.Both> {
return {
type: PluginType.Command,
async execute(wrapper, { absPath, module }, controller) {
if(path.dirname(absPath) !== dir) {
console.log(+new Date(), `${module.name} is not in the correct directory!`);
return controller.stop()
}
console.log(+new Date(), `${module.name} is in the correct directory!`);
return controller.next(); //continue
}
}
}

Javascript:

export function inDir(dir : string) {
return {
type: PluginType.Command,
async execute(wrapper, { absPath, module }, controller) {
if(path.dirname(absPath) !== dir) {
console.log(+new Date(), `${module.name} is not in the correct directory!`);
return controller.stop()
}
console.log(+new Date(), `${module.name} is in the correct directory!`);
return controller.next(); //continue
}
}
}

Above, this simple plugin logs that the module has been loaded along with a timestamp.
Again, it is up to you to define plugin logic! The possibilities to customize your bots are endless.

astuce

Command Plugins are good for ensuring the shape, location, and preprocessing of your commands.

Event Plugins

event-plugins

  • An event is emitted by discord.js.
  • This event is passed to all plugins (in order!!),
  • If all are successful,

The command is executed. Calling controller.stop() notifies sern that this command should not be run, and this event is ignored.

So, what does a command module look like with plugins?

Typescript:

import { commandModule, CommandType } from '@sern/handler';

export default commandModule({
type: CommandType.Both,
plugins: [
inDir("other"),
serenOnly()
],
description: 'A ping command',
//alias : [],
execute: async (ctx, args) => {
await ctx.reply({ content: 'Pong 🏓' });
},
});

Javascript:

const { commandModule, CommandType } = require('@sern/handler');

exports.default = commandModule({
type: CommandType.Both,
plugins: [
inDir("other"),
serenOnly() //The plugins in this section applied to this module!
],
description: 'A ping command',
//alias : [],
execute: async (ctx, args) => {
await ctx.reply({ content: 'Pong 🏓' });
},
});

Can you predict the behavior of this command?

  • Before loading into sern, this command module will check if this module is in the correct directory other.
  • Before an event occurs, this command module will check if the user has the id 182326315813306368.
astuce

Event Plugins are good for filtering, preconditions, parsing.

If all plugins return controller.next(), this command replies Pong 🏓

- + \ No newline at end of file diff --git a/fr/docs/guide/walkthrough/sern-emitter.html b/fr/docs/guide/walkthrough/sern-emitter.html index 688339aab..8591358fd 100644 --- a/fr/docs/guide/walkthrough/sern-emitter.html +++ b/fr/docs/guide/walkthrough/sern-emitter.html @@ -5,13 +5,13 @@ The SernEmitter class | sern - Handlers. Redefined. - +

The SernEmitter class

You're shipped with the SernEmitter. This EventEmitter listens to

  • command modules executing and its status, the module.activate event
  • command modules registered and its status, the module.register event
  • any error that occurs, the error event
  • warn events, where it is possible to throw errors

You can put these and other event listeners into event modules!


View all events
- + \ No newline at end of file diff --git a/fr/docs/intro.html b/fr/docs/intro.html index bf3a63ba0..81edc94cf 100644 --- a/fr/docs/intro.html +++ b/fr/docs/intro.html @@ -5,13 +5,13 @@ Welcome! | sern - Handlers. Redefined. - +

Welcome!

Content

  • /docs/api contains autogenerated documentation of our codebase using typedoc
  • /docs/guide contains a basic startup guide and details to get started with sern faster!
astuce

This site is open source! Please do contribute if you find any bugs, typos, or sections in need of improvements.

- + \ No newline at end of file diff --git a/fr/img/R.png b/fr/img/R.png new file mode 100644 index 0000000000000000000000000000000000000000..ad1a862c52558a262e58451a41ec5e57b3fd2332 GIT binary patch literal 21551 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 literal 0 HcmV?d00001 diff --git a/fr/img/eventplugins.drawio.svg b/fr/img/eventplugins.drawio.svg new file mode 100644 index 000000000..b97d518a3 --- /dev/null +++ b/fr/img/eventplugins.drawio.svg @@ -0,0 +1,4 @@ + + + +
Event
Event
Plugin 1
Plugin 1
Plugin 2
Plugin 2
Plugin 3
Plugin 3
Is successful
Is successful
Command Executes
Command Executes
Ignore
Ignore
True
True
False
False
Text is not SVG - cannot display
\ No newline at end of file diff --git a/fr/img/icon.png b/fr/img/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..6859fda10d6ba0e08dfaafd0ad9df8113c206095 GIT binary patch literal 29892 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�`=<-jOJ$=igNd@9R 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 literal 0 HcmV?d00001 diff --git a/fr/img/logo.svg b/fr/img/logo.svg deleted file mode 100644 index 9db6d0d06..000000000 --- a/fr/img/logo.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/fr/index.html b/fr/index.html index a2d29ec14..4ca67f28e 100644 --- a/fr/index.html +++ b/fr/index.html @@ -5,13 +5,13 @@ sern - Handlers. Redefined. | sern - Handlers. Redefined. - +

Handlers. Redefined.

With the support of the community made plugins and powerful a CLI, it's more than just a handler.

sern init
logo

Batteries included

Start or integrate a new project in minutes.

Customizable

Extend or customize with community-based plugins to provide utilities, filters, and more.

Modern

Uses modern and powerful tooling such as swc, tsup, typescript, and rxjs to future-proof and ensure project quality.

- + \ No newline at end of file diff --git a/fr/markdown-page.html b/fr/markdown-page.html index d6e662553..67d74c991 100644 --- a/fr/markdown-page.html +++ b/fr/markdown-page.html @@ -5,13 +5,13 @@ Markdown page example | sern - Handlers. Redefined. - +

Markdown page example

You don't need React to write simple standalone pages.

- + \ No newline at end of file diff --git a/fr/plugins.html b/fr/plugins.html index 7d9e983a1..020be2359 100644 --- a/fr/plugins.html +++ b/fr/plugins.html @@ -5,13 +5,13 @@ sern - Handlers. Redefined. - +

Coming soon

- + \ No newline at end of file diff --git a/img/R.png b/img/R.png new file mode 100644 index 0000000000000000000000000000000000000000..ad1a862c52558a262e58451a41ec5e57b3fd2332 GIT binary patch literal 21551 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 literal 0 HcmV?d00001 diff --git a/img/eventplugins.drawio.svg b/img/eventplugins.drawio.svg new file mode 100644 index 000000000..b97d518a3 --- /dev/null +++ b/img/eventplugins.drawio.svg @@ -0,0 +1,4 @@ + + + +
Event
Event
Plugin 1
Plugin 1
Plugin 2
Plugin 2
Plugin 3
Plugin 3
Is successful
Is successful
Command Executes
Command Executes
Ignore
Ignore
True
True
False
False
Text is not SVG - cannot display
\ No newline at end of file diff --git a/img/icon.png b/img/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..6859fda10d6ba0e08dfaafd0ad9df8113c206095 GIT binary patch literal 29892 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�`=<-jOJ$=igNd@9R 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 literal 0 HcmV?d00001 diff --git a/img/logo.svg b/img/logo.svg deleted file mode 100644 index 9db6d0d06..000000000 --- a/img/logo.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/index.html b/index.html index 713293d4a..224e7d1ec 100644 --- a/index.html +++ b/index.html @@ -5,13 +5,13 @@ sern - Handlers. Redefined. | sern - Handlers. Redefined. - +

Handlers. Redefined.

With the support of the community made plugins and powerful a CLI, it's more than just a handler.

sern init
logo

Batteries included

Start or integrate a new project in minutes.

Customizable

Extend or customize with community-based plugins to provide utilities, filters, and more.

Modern

Uses modern and powerful tooling such as swc, tsup, typescript, and rxjs to future-proof and ensure project quality.

- + \ No newline at end of file diff --git a/markdown-page.html b/markdown-page.html index c8d30bd8d..fddbb3b09 100644 --- a/markdown-page.html +++ b/markdown-page.html @@ -5,13 +5,13 @@ Markdown page example | sern - Handlers. Redefined. - +

Markdown page example

You don't need React to write simple standalone pages.

- + \ No newline at end of file diff --git a/plugins.html b/plugins.html index 80b38363b..e627e9a5b 100644 --- a/plugins.html +++ b/plugins.html @@ -5,13 +5,13 @@ sern - Handlers. Redefined. - +

Coming soon

- + \ No newline at end of file diff --git a/tr/404.html b/tr/404.html index fb2dfc98f..81acc8fd0 100644 --- a/tr/404.html +++ b/tr/404.html @@ -5,13 +5,13 @@ Sayfa Bulunamadı | sern - Handlers. Redefined. - +

Sayfa Bulunamadı

Aradığınız şeyi bulamadık.

Lütfen sizi orijinal URL'ye yönlendiren sitenin sahibiyle iletişime geçin ve bağlantısının bozuk olduğunu bildirin.

- + \ No newline at end of file diff --git a/tr/assets/js/1ac1bfe9.1dbf1ab5.js b/tr/assets/js/1ac1bfe9.685616df.js similarity index 98% rename from tr/assets/js/1ac1bfe9.1dbf1ab5.js rename to tr/assets/js/1ac1bfe9.685616df.js index 4d14d2812..b36742063 100644 --- a/tr/assets/js/1ac1bfe9.1dbf1ab5.js +++ b/tr/assets/js/1ac1bfe9.685616df.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_sern_website=self.webpackChunk_sern_website||[]).push([[5],{3905:(e,n,t)=>{t.d(n,{Zo:()=>p,kt:()=>m});var r=t(7294);function o(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function a(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function l(e){for(var n=1;n=0||(o[t]=e[t]);return o}(e,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}var s=r.createContext({}),u=function(e){var n=r.useContext(s),t=n;return e&&(t="function"==typeof e?e(n):l(l({},n),e)),t},p=function(e){var n=u(e.components);return r.createElement(s.Provider,{value:n},e.children)},c={inlineCode:"code",wrapper:function(e){var n=e.children;return r.createElement(r.Fragment,{},n)}},d=r.forwardRef((function(e,n){var t=e.components,o=e.mdxType,a=e.originalType,s=e.parentName,p=i(e,["components","mdxType","originalType","parentName"]),d=u(t),m=o,g=d["".concat(s,".").concat(m)]||d[m]||c[m]||a;return t?r.createElement(g,l(l({ref:n},p),{},{components:t})):r.createElement(g,l({ref:n},p))}));function m(e,n){var t=arguments,o=n&&n.mdxType;if("string"==typeof e||o){var a=t.length,l=new Array(a);l[0]=d;var i={};for(var s in n)hasOwnProperty.call(n,s)&&(i[s]=n[s]);i.originalType=e,i.mdxType="string"==typeof e?e:o,l[1]=i;for(var u=2;u{t.r(n),t.d(n,{assets:()=>s,contentTitle:()=>l,default:()=>c,frontMatter:()=>a,metadata:()=>i,toc:()=>u});var r=t(7462),o=(t(7294),t(3905));const a={sidebar_position:5},l="Plugins",i={unversionedId:"guide/walkthrough/plugins",id:"guide/walkthrough/plugins",title:"Plugins",description:"As of now, modules seem a little underwhelming. It appears that sern doesn't have all the features of a standard handler,",source:"@site/docs/guide/walkthrough/plugins.md",sourceDirName:"guide/walkthrough",slug:"/guide/walkthrough/plugins",permalink:"/tr/docs/guide/walkthrough/plugins",draft:!1,editUrl:"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/guide/walkthrough/plugins.md",tags:[],version:"current",sidebarPosition:5,frontMatter:{sidebar_position:5},sidebar:"tutorialSidebar",previous:{title:"First Event Module",permalink:"/tr/docs/guide/walkthrough/first-event"},next:{title:"The SernEmitter class",permalink:"/tr/docs/guide/walkthrough/sern-emitter"}},s={},u=[{value:"Command Plugins",id:"command-plugins",level:2},{value:"The controller object",id:"the-controller-object",level:3},{value:"Event Plugins",id:"event-plugins",level:2}],p={toc:u};function c(e){let{components:n,...a}=e;return(0,o.kt)("wrapper",(0,r.Z)({},p,a,{components:n,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"plugins"},"Plugins"),(0,o.kt)("p",null,"As of now, modules seem a little underwhelming. It appears that sern doesn't have all the features of a standard handler, which manages permissions, categorizes, cool-downs, publishes application commands, role permissions, etc."),(0,o.kt)("p",null,"Many important parts that manage access and help streamline command creation to make are apparently absent. Below is an example of an event plugin, one of the types of plugins."),(0,o.kt)("p",null,"Typescript:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-typescript"},'export function serenOnly(): EventPlugin {\n return {\n type: PluginType.Event,\n async execute([ctx, args], controller) {\n if (ctx.user.id !== "182326315813306368") {\n await ctx.reply({content: "You cannot use this command"})\n return controller.stop()\n }\n return controller.next();\n }\n }\n}\n')),(0,o.kt)("p",null,"Javascript:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-javascript"},'export function serenOnly() {\n return {\n type: PluginType.Event,\n async execute([ctx, args], controller) {\n if (ctx.user.id !== "182326315813306368") {\n await ctx.reply({content: "You cannot use this command"})\n return controller.stop()\n }\n return controller.next();\n }\n }\n}\n')),(0,o.kt)("br",null)," As part of our extensibility, the plugins feature make sern just as powerful, if not more powerful than standard handlers. Plugins modify and add new behavior to standard modules, extending customizability and implementing automation.",(0,o.kt)("br",null)," At the moment, there are two types of plugins:",(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Command Plugins"),(0,o.kt)("li",{parentName:"ul"},"Event Plugins")),(0,o.kt)("h2",{id:"command-plugins"},"Command Plugins"),(0,o.kt)("p",null,"All modules are registered into sern's system. With command plugins, you can modify how commands are loaded,\nor do some kind of preprocessing before they are loaded into sern."),(0,o.kt)("h3",{id:"the-controller-object"},"The controller object"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-typescript"},"export interface Controller {\n next: () => Ok;\n stop: () => Err;\n}\n")),(0,o.kt)("p",null,"An instance of the above object is passed into every plugin. ",(0,o.kt)("br",null),"\nThis controls whether a module is stored into sern. ",(0,o.kt)("br",null),"\nTypescript:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-typescript"},"export function inDir(dir : string) : CommandPlugin {\n return {\n type: PluginType.Command,\n async execute(wrapper, { absPath, module }, controller) {\n if(path.dirname(absPath) !== dir) {\n console.log(+new Date(), `${module.name} is not in the correct directory!`);\n return controller.stop()\n }\n console.log(+new Date(), `${module.name} is in the correct directory!`);\n return controller.next(); //continue\n }\n }\n}\n")),(0,o.kt)("p",null,"Javascript:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-javascript"},"export function inDir(dir : string) {\n return {\n type: PluginType.Command,\n async execute(wrapper, { absPath, module }, controller) {\n if(path.dirname(absPath) !== dir) {\n console.log(+new Date(), `${module.name} is not in the correct directory!`);\n return controller.stop()\n }\n console.log(+new Date(), `${module.name} is in the correct directory!`);\n return controller.next(); //continue\n }\n }\n}\n")),(0,o.kt)("p",null,"Above, this simple plugin logs that the module has been loaded along with a timestamp. ",(0,o.kt)("br",null),"\nAgain, it is up to ",(0,o.kt)("strong",{parentName:"p"},"you")," to define plugin logic! The possibilities to customize your bots are endless."),(0,o.kt)("admonition",{type:"tip"},(0,o.kt)("p",{parentName:"admonition"},"Command Plugins are good for ensuring the shape, location, and preprocessing of your commands.")),(0,o.kt)("h2",{id:"event-plugins"},"Event Plugins"),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"event-plugins",src:t(1910).Z,width:"542",height:"377"})," ",(0,o.kt)("br",null)),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"An event is emitted by discord.js."),(0,o.kt)("li",{parentName:"ul"},"This event is passed to all plugins (",(0,o.kt)("strong",{parentName:"li"},"in order!!"),"),"),(0,o.kt)("li",{parentName:"ul"},"If all are successful,")),(0,o.kt)("p",null,"The command is executed. Calling ",(0,o.kt)("inlineCode",{parentName:"p"},"controller.stop()")," notifies sern that this command should not be run,\nand this event is ignored."),(0,o.kt)("p",null,"So, what does a command module look like with plugins?"),(0,o.kt)("p",null,"Typescript:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-typescript"},"import { commandModule, CommandType } from '@sern/handler';\n\nexport default commandModule({\n type: CommandType.Both,\n plugins: [\n inDir(\"other\"), \n serenOnly()\n ],\n description: 'A ping command',\n //alias : [],\n execute: async (ctx, args) => {\n await ctx.reply({ content: 'Pong \ud83c\udfd3' });\n },\n});\n")),(0,o.kt)("p",null,"Javascript:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-typescript"},"const { commandModule, CommandType } = require('@sern/handler');\n\nexports.default = commandModule({\n type: CommandType.Both,\n plugins: [\n inDir(\"other\"), \n serenOnly() //The plugins in this section applied to this module!\n ],\n description: 'A ping command',\n //alias : [],\n execute: async (ctx, args) => {\n await ctx.reply({ content: 'Pong \ud83c\udfd3' });\n },\n});\n")),(0,o.kt)("p",null,"Can you predict the behavior of this command?"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Before loading into sern, this command module will check if this module is in the correct directory ",(0,o.kt)("inlineCode",{parentName:"li"},"other"),"."),(0,o.kt)("li",{parentName:"ul"},"Before an event occurs, this command module will check if the user has the id ",(0,o.kt)("inlineCode",{parentName:"li"},"182326315813306368"),".")),(0,o.kt)("admonition",{type:"tip"},(0,o.kt)("p",{parentName:"admonition"},"Event Plugins are good for filtering, preconditions, parsing.")),(0,o.kt)("p",null,"If all plugins return ",(0,o.kt)("inlineCode",{parentName:"p"},"controller.next()"),", this command replies ",(0,o.kt)("inlineCode",{parentName:"p"},"Pong \ud83c\udfd3")))}c.isMDXComponent=!0},1910:(e,n,t)=>{t.d(n,{Z:()=>r});const r=t.p+"assets/images/eventplugins.drawio-f22ee78041e60a62a45024f542a2b104.svg"}}]); \ No newline at end of file +"use strict";(self.webpackChunk_sern_website=self.webpackChunk_sern_website||[]).push([[5],{3905:(e,n,t)=>{t.d(n,{Zo:()=>p,kt:()=>m});var r=t(7294);function o(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function a(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function l(e){for(var n=1;n=0||(o[t]=e[t]);return o}(e,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}var s=r.createContext({}),u=function(e){var n=r.useContext(s),t=n;return e&&(t="function"==typeof e?e(n):l(l({},n),e)),t},p=function(e){var n=u(e.components);return r.createElement(s.Provider,{value:n},e.children)},c={inlineCode:"code",wrapper:function(e){var n=e.children;return r.createElement(r.Fragment,{},n)}},d=r.forwardRef((function(e,n){var t=e.components,o=e.mdxType,a=e.originalType,s=e.parentName,p=i(e,["components","mdxType","originalType","parentName"]),d=u(t),m=o,g=d["".concat(s,".").concat(m)]||d[m]||c[m]||a;return t?r.createElement(g,l(l({ref:n},p),{},{components:t})):r.createElement(g,l({ref:n},p))}));function m(e,n){var t=arguments,o=n&&n.mdxType;if("string"==typeof e||o){var a=t.length,l=new Array(a);l[0]=d;var i={};for(var s in n)hasOwnProperty.call(n,s)&&(i[s]=n[s]);i.originalType=e,i.mdxType="string"==typeof e?e:o,l[1]=i;for(var u=2;u{t.r(n),t.d(n,{assets:()=>s,contentTitle:()=>l,default:()=>c,frontMatter:()=>a,metadata:()=>i,toc:()=>u});var r=t(7462),o=(t(7294),t(3905));const a={sidebar_position:5},l="Plugins",i={unversionedId:"guide/walkthrough/plugins",id:"guide/walkthrough/plugins",title:"Plugins",description:"As of now, modules seem a little underwhelming. It appears that sern doesn't have all the features of a standard handler,",source:"@site/docs/guide/walkthrough/plugins.md",sourceDirName:"guide/walkthrough",slug:"/guide/walkthrough/plugins",permalink:"/tr/docs/guide/walkthrough/plugins",draft:!1,editUrl:"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/guide/walkthrough/plugins.md",tags:[],version:"current",sidebarPosition:5,frontMatter:{sidebar_position:5},sidebar:"tutorialSidebar",previous:{title:"First Event Module",permalink:"/tr/docs/guide/walkthrough/first-event"},next:{title:"The SernEmitter class",permalink:"/tr/docs/guide/walkthrough/sern-emitter"}},s={},u=[{value:"Command Plugins",id:"command-plugins",level:2},{value:"The controller object",id:"the-controller-object",level:3},{value:"Event Plugins",id:"event-plugins",level:2}],p={toc:u};function c(e){let{components:n,...a}=e;return(0,o.kt)("wrapper",(0,r.Z)({},p,a,{components:n,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"plugins"},"Plugins"),(0,o.kt)("p",null,"As of now, modules seem a little underwhelming. It appears that sern doesn't have all the features of a standard handler, which manages permissions, categorizes, cool-downs, publishes application commands, role permissions, etc."),(0,o.kt)("p",null,"Many important parts that manage access and help streamline command creation to make are apparently absent. Below is an example of an event plugin, one of the types of plugins."),(0,o.kt)("p",null,"Typescript:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-typescript"},'export function serenOnly(): EventPlugin {\n return {\n type: PluginType.Event,\n async execute([ctx, args], controller) {\n if (ctx.user.id !== "182326315813306368") {\n await ctx.reply({content: "You cannot use this command"})\n return controller.stop()\n }\n return controller.next();\n }\n }\n}\n')),(0,o.kt)("p",null,"Javascript:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-javascript"},'export function serenOnly() {\n return {\n type: PluginType.Event,\n async execute([ctx, args], controller) {\n if (ctx.user.id !== "182326315813306368") {\n await ctx.reply({content: "You cannot use this command"})\n return controller.stop()\n }\n return controller.next();\n }\n }\n}\n')),(0,o.kt)("br",null)," As part of our extensibility, the plugins feature make sern just as powerful, if not more powerful than standard handlers. Plugins modify and add new behavior to standard modules, extending customizability and implementing automation.",(0,o.kt)("br",null)," At the moment, there are two types of plugins:",(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Command Plugins"),(0,o.kt)("li",{parentName:"ul"},"Event Plugins")),(0,o.kt)("h2",{id:"command-plugins"},"Command Plugins"),(0,o.kt)("p",null,"All modules are registered into sern's system. With command plugins, you can modify how commands are loaded,\nor do some kind of preprocessing before they are loaded into sern."),(0,o.kt)("h3",{id:"the-controller-object"},"The controller object"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-typescript"},"export interface Controller {\n next: () => Ok;\n stop: () => Err;\n}\n")),(0,o.kt)("p",null,"An instance of the above object is passed into every plugin. ",(0,o.kt)("br",null),"\nThis controls whether a module is stored into sern. ",(0,o.kt)("br",null),"\nTypescript:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-typescript"},"export function inDir(dir : string) : CommandPlugin {\n return {\n type: PluginType.Command,\n async execute(wrapper, { absPath, module }, controller) {\n if(path.dirname(absPath) !== dir) {\n console.log(+new Date(), `${module.name} is not in the correct directory!`);\n return controller.stop()\n }\n console.log(+new Date(), `${module.name} is in the correct directory!`);\n return controller.next(); //continue\n }\n }\n}\n")),(0,o.kt)("p",null,"Javascript:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-javascript"},"export function inDir(dir : string) {\n return {\n type: PluginType.Command,\n async execute(wrapper, { absPath, module }, controller) {\n if(path.dirname(absPath) !== dir) {\n console.log(+new Date(), `${module.name} is not in the correct directory!`);\n return controller.stop()\n }\n console.log(+new Date(), `${module.name} is in the correct directory!`);\n return controller.next(); //continue\n }\n }\n}\n")),(0,o.kt)("p",null,"Above, this simple plugin logs that the module has been loaded along with a timestamp. ",(0,o.kt)("br",null),"\nAgain, it is up to ",(0,o.kt)("strong",{parentName:"p"},"you")," to define plugin logic! The possibilities to customize your bots are endless."),(0,o.kt)("admonition",{type:"tip"},(0,o.kt)("p",{parentName:"admonition"},"Command Plugins are good for ensuring the shape, location, and preprocessing of your commands.")),(0,o.kt)("h2",{id:"event-plugins"},"Event Plugins"),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"event-plugins",src:t(6061).Z,width:"542",height:"377"})," ",(0,o.kt)("br",null)),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"An event is emitted by discord.js."),(0,o.kt)("li",{parentName:"ul"},"This event is passed to all plugins (",(0,o.kt)("strong",{parentName:"li"},"in order!!"),"),"),(0,o.kt)("li",{parentName:"ul"},"If all are successful,")),(0,o.kt)("p",null,"The command is executed. Calling ",(0,o.kt)("inlineCode",{parentName:"p"},"controller.stop()")," notifies sern that this command should not be run,\nand this event is ignored."),(0,o.kt)("p",null,"So, what does a command module look like with plugins?"),(0,o.kt)("p",null,"Typescript:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-typescript"},"import { commandModule, CommandType } from '@sern/handler';\n\nexport default commandModule({\n type: CommandType.Both,\n plugins: [\n inDir(\"other\"), \n serenOnly()\n ],\n description: 'A ping command',\n //alias : [],\n execute: async (ctx, args) => {\n await ctx.reply({ content: 'Pong \ud83c\udfd3' });\n },\n});\n")),(0,o.kt)("p",null,"Javascript:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-typescript"},"const { commandModule, CommandType } = require('@sern/handler');\n\nexports.default = commandModule({\n type: CommandType.Both,\n plugins: [\n inDir(\"other\"), \n serenOnly() //The plugins in this section applied to this module!\n ],\n description: 'A ping command',\n //alias : [],\n execute: async (ctx, args) => {\n await ctx.reply({ content: 'Pong \ud83c\udfd3' });\n },\n});\n")),(0,o.kt)("p",null,"Can you predict the behavior of this command?"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Before loading into sern, this command module will check if this module is in the correct directory ",(0,o.kt)("inlineCode",{parentName:"li"},"other"),"."),(0,o.kt)("li",{parentName:"ul"},"Before an event occurs, this command module will check if the user has the id ",(0,o.kt)("inlineCode",{parentName:"li"},"182326315813306368"),".")),(0,o.kt)("admonition",{type:"tip"},(0,o.kt)("p",{parentName:"admonition"},"Event Plugins are good for filtering, preconditions, parsing.")),(0,o.kt)("p",null,"If all plugins return ",(0,o.kt)("inlineCode",{parentName:"p"},"controller.next()"),", this command replies ",(0,o.kt)("inlineCode",{parentName:"p"},"Pong \ud83c\udfd3")))}c.isMDXComponent=!0},6061:(e,n,t)=>{t.d(n,{Z:()=>r});const r=t.p+"assets/images/eventplugins.drawio-f22ee78041e60a62a45024f542a2b104.svg"}}]); \ No newline at end of file diff --git a/tr/assets/js/runtime~main.10d5e230.js b/tr/assets/js/runtime~main.eef9e2a1.js similarity index 98% rename from tr/assets/js/runtime~main.10d5e230.js rename to tr/assets/js/runtime~main.eef9e2a1.js index c006feea4..14885bd1a 100644 --- a/tr/assets/js/runtime~main.10d5e230.js +++ b/tr/assets/js/runtime~main.eef9e2a1.js @@ -1 +1 @@ -(()=>{"use strict";var e,t,r,a,f,o={},c={};function n(e){var t=c[e];if(void 0!==t)return t.exports;var r=c[e]={id:e,loaded:!1,exports:{}};return o[e].call(r.exports,r,r.exports,n),r.loaded=!0,r.exports}n.m=o,n.c=c,e=[],n.O=(t,r,a,f)=>{if(!r){var o=1/0;for(i=0;i=f)&&Object.keys(n.O).every((e=>n.O[e](r[d])))?r.splice(d--,1):(c=!1,f0&&e[i-1][2]>f;i--)e[i]=e[i-1];e[i]=[r,a,f]},n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,n.t=function(e,a){if(1&a&&(e=this(e)),8&a)return e;if("object"==typeof e&&e){if(4&a&&e.__esModule)return e;if(16&a&&"function"==typeof e.then)return e}var f=Object.create(null);n.r(f);var o={};t=t||[null,r({}),r([]),r(r)];for(var c=2&a&&e;"object"==typeof c&&!~t.indexOf(c);c=r(c))Object.getOwnPropertyNames(c).forEach((t=>o[t]=()=>e[t]));return o.default=()=>e,n.d(f,o),f},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.f={},n.e=e=>Promise.all(Object.keys(n.f).reduce(((t,r)=>(n.f[r](e,t),t)),[])),n.u=e=>"assets/js/"+({5:"1ac1bfe9",45:"888566f1",53:"5bc4ccbc",62:"69369ae2",85:"1f391b9e",127:"7e205c4a",137:"1aef51bd",146:"608ca171",195:"c4f5d8e4",197:"935f2afb",226:"707baeff",270:"e4877132",277:"c4348237",306:"f6aebfbf",322:"a5467962",332:"73bd57bd",363:"26f1f3a5",397:"312c2bc5",414:"393be207",429:"eea0bf40",472:"cf183316",514:"1be78505",597:"5e8c322a",640:"a96c96b0",652:"bcd9df7e",671:"0e384e19",703:"981f6151",712:"3dc7c79a",750:"3a2d3092",803:"9201de17",865:"e8e3d8c7",918:"17896441"}[e]||e)+"."+{5:"1dbf1ab5",45:"f5f1dc29",53:"543d4652",62:"1291f58b",85:"d7ab1744",127:"5580539a",137:"375e49c6",146:"34dcba19",195:"5e4ab8ce",197:"21602fd8",226:"ec3c22a7",270:"b1ecf932",277:"bbd90c09",306:"5ba63757",322:"4d983a8a",332:"91bccb31",363:"f89eebba",397:"1f24705a",414:"d0baab28",429:"1da99ada",472:"156f4214",503:"668d49f6",514:"f852ff9f",597:"1768faa6",640:"a0d55f12",652:"0ecd6450",671:"eab1cd86",703:"d14fc527",712:"7e7409ec",750:"dd1d79d2",803:"9ddf3be0",865:"7f14c2ac",918:"15289f85",972:"61be9a41"}[e]+".js",n.miniCssF=e=>{},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),a={},f="@sern/website:",n.l=(e,t,r,o)=>{if(a[e])a[e].push(t);else{var c,d;if(void 0!==r)for(var b=document.getElementsByTagName("script"),i=0;i{c.onerror=c.onload=null,clearTimeout(s);var f=a[e];if(delete a[e],c.parentNode&&c.parentNode.removeChild(c),f&&f.forEach((e=>e(r))),t)return t(r)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:c}),12e4);c.onerror=l.bind(null,c.onerror),c.onload=l.bind(null,c.onload),d&&document.head.appendChild(c)}},n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.p="/tr/",n.gca=function(e){return e={17896441:"918","1ac1bfe9":"5","888566f1":"45","5bc4ccbc":"53","69369ae2":"62","1f391b9e":"85","7e205c4a":"127","1aef51bd":"137","608ca171":"146",c4f5d8e4:"195","935f2afb":"197","707baeff":"226",e4877132:"270",c4348237:"277",f6aebfbf:"306",a5467962:"322","73bd57bd":"332","26f1f3a5":"363","312c2bc5":"397","393be207":"414",eea0bf40:"429",cf183316:"472","1be78505":"514","5e8c322a":"597",a96c96b0:"640",bcd9df7e:"652","0e384e19":"671","981f6151":"703","3dc7c79a":"712","3a2d3092":"750","9201de17":"803",e8e3d8c7:"865"}[e]||e,n.p+n.u(e)},(()=>{var e={303:0,532:0};n.f.j=(t,r)=>{var a=n.o(e,t)?e[t]:void 0;if(0!==a)if(a)r.push(a[2]);else if(/^(303|532)$/.test(t))e[t]=0;else{var f=new Promise(((r,f)=>a=e[t]=[r,f]));r.push(a[2]=f);var o=n.p+n.u(t),c=new Error;n.l(o,(r=>{if(n.o(e,t)&&(0!==(a=e[t])&&(e[t]=void 0),a)){var f=r&&("load"===r.type?"missing":r.type),o=r&&r.target&&r.target.src;c.message="Loading chunk "+t+" failed.\n("+f+": "+o+")",c.name="ChunkLoadError",c.type=f,c.request=o,a[1](c)}}),"chunk-"+t,t)}},n.O.j=t=>0===e[t];var t=(t,r)=>{var a,f,o=r[0],c=r[1],d=r[2],b=0;if(o.some((t=>0!==e[t]))){for(a in c)n.o(c,a)&&(n.m[a]=c[a]);if(d)var i=d(n)}for(t&&t(r);b{"use strict";var e,t,r,a,f,o={},c={};function n(e){var t=c[e];if(void 0!==t)return t.exports;var r=c[e]={id:e,loaded:!1,exports:{}};return o[e].call(r.exports,r,r.exports,n),r.loaded=!0,r.exports}n.m=o,n.c=c,e=[],n.O=(t,r,a,f)=>{if(!r){var o=1/0;for(i=0;i=f)&&Object.keys(n.O).every((e=>n.O[e](r[d])))?r.splice(d--,1):(c=!1,f0&&e[i-1][2]>f;i--)e[i]=e[i-1];e[i]=[r,a,f]},n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,n.t=function(e,a){if(1&a&&(e=this(e)),8&a)return e;if("object"==typeof e&&e){if(4&a&&e.__esModule)return e;if(16&a&&"function"==typeof e.then)return e}var f=Object.create(null);n.r(f);var o={};t=t||[null,r({}),r([]),r(r)];for(var c=2&a&&e;"object"==typeof c&&!~t.indexOf(c);c=r(c))Object.getOwnPropertyNames(c).forEach((t=>o[t]=()=>e[t]));return o.default=()=>e,n.d(f,o),f},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.f={},n.e=e=>Promise.all(Object.keys(n.f).reduce(((t,r)=>(n.f[r](e,t),t)),[])),n.u=e=>"assets/js/"+({5:"1ac1bfe9",45:"888566f1",53:"5bc4ccbc",62:"69369ae2",85:"1f391b9e",127:"7e205c4a",137:"1aef51bd",146:"608ca171",195:"c4f5d8e4",197:"935f2afb",226:"707baeff",270:"e4877132",277:"c4348237",306:"f6aebfbf",322:"a5467962",332:"73bd57bd",363:"26f1f3a5",397:"312c2bc5",414:"393be207",429:"eea0bf40",472:"cf183316",514:"1be78505",597:"5e8c322a",640:"a96c96b0",652:"bcd9df7e",671:"0e384e19",703:"981f6151",712:"3dc7c79a",750:"3a2d3092",803:"9201de17",865:"e8e3d8c7",918:"17896441"}[e]||e)+"."+{5:"685616df",45:"f5f1dc29",53:"543d4652",62:"1291f58b",85:"d7ab1744",127:"5580539a",137:"375e49c6",146:"34dcba19",195:"5e4ab8ce",197:"21602fd8",226:"ec3c22a7",270:"b1ecf932",277:"bbd90c09",306:"5ba63757",322:"4d983a8a",332:"91bccb31",363:"f89eebba",397:"1f24705a",414:"d0baab28",429:"1da99ada",472:"156f4214",503:"668d49f6",514:"f852ff9f",597:"1768faa6",640:"a0d55f12",652:"0ecd6450",671:"eab1cd86",703:"d14fc527",712:"7e7409ec",750:"dd1d79d2",803:"9ddf3be0",865:"7f14c2ac",918:"15289f85",972:"61be9a41"}[e]+".js",n.miniCssF=e=>{},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),a={},f="@sern/website:",n.l=(e,t,r,o)=>{if(a[e])a[e].push(t);else{var c,d;if(void 0!==r)for(var b=document.getElementsByTagName("script"),i=0;i{c.onerror=c.onload=null,clearTimeout(s);var f=a[e];if(delete a[e],c.parentNode&&c.parentNode.removeChild(c),f&&f.forEach((e=>e(r))),t)return t(r)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:c}),12e4);c.onerror=l.bind(null,c.onerror),c.onload=l.bind(null,c.onload),d&&document.head.appendChild(c)}},n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.p="/tr/",n.gca=function(e){return e={17896441:"918","1ac1bfe9":"5","888566f1":"45","5bc4ccbc":"53","69369ae2":"62","1f391b9e":"85","7e205c4a":"127","1aef51bd":"137","608ca171":"146",c4f5d8e4:"195","935f2afb":"197","707baeff":"226",e4877132:"270",c4348237:"277",f6aebfbf:"306",a5467962:"322","73bd57bd":"332","26f1f3a5":"363","312c2bc5":"397","393be207":"414",eea0bf40:"429",cf183316:"472","1be78505":"514","5e8c322a":"597",a96c96b0:"640",bcd9df7e:"652","0e384e19":"671","981f6151":"703","3dc7c79a":"712","3a2d3092":"750","9201de17":"803",e8e3d8c7:"865"}[e]||e,n.p+n.u(e)},(()=>{var e={303:0,532:0};n.f.j=(t,r)=>{var a=n.o(e,t)?e[t]:void 0;if(0!==a)if(a)r.push(a[2]);else if(/^(303|532)$/.test(t))e[t]=0;else{var f=new Promise(((r,f)=>a=e[t]=[r,f]));r.push(a[2]=f);var o=n.p+n.u(t),c=new Error;n.l(o,(r=>{if(n.o(e,t)&&(0!==(a=e[t])&&(e[t]=void 0),a)){var f=r&&("load"===r.type?"missing":r.type),o=r&&r.target&&r.target.src;c.message="Loading chunk "+t+" failed.\n("+f+": "+o+")",c.name="ChunkLoadError",c.type=f,c.request=o,a[1](c)}}),"chunk-"+t,t)}},n.O.j=t=>0===e[t];var t=(t,r)=>{var a,f,o=r[0],c=r[1],d=r[2],b=0;if(o.some((t=>0!==e[t]))){for(a in c)n.o(c,a)&&(n.m[a]=c[a]);if(d)var i=d(n)}for(t&&t(r);b @sern/handler | sern - Handlers. Redefined. - +

SernHandler

NPM versionNPM downloads[![License: MIT](https://img.shields.io/badge/License-MIT-blavk.svg)](https://opensource.org/licenses/MIT)

A customizable, batteries-included, powerful discord.js framework to automate and streamline your bot development.

Installation

npm install @sern/handler
yarn add @sern/handler
pnpm add @sern/handler

Basic Usage

index.js (CommonJS)

const { Client, GatewayIntentBits } = require('discord.js');
const { Sern } = require('@sern/handler');
const { defaultPrefix, token } = require('./config.json');

const client = new Client({
intents: [
GatewayIntentBits.Guilds,
GatewayIntentBits.GuildMembers,
GatewayIntentBits.GuildMessages
]
});

Sern.init({
client,
defaultPrefix,
commands : 'src/commands',
});

client.login(token);

ping.js (CommonJS)

const { Sern, CommandType } = require('@sern/handler');

exports.default = {
description: 'A ping pong command',
type: CommandType.Slash,
execute(ctx) {
ctx.reply('pong!');
}
};

See our templates for TypeScript examples and more

CLI

It is highly encouraged to use the command line interface for your project. Don't forget to view it.

Contribute

  • Read our contribution guidelines carefully
  • Pull up on issues and report bugs
  • All kinds of contributions are welcomed.

Roadmap

You can check our roadmap to see what's going to be added or patched in the future.

- + \ No newline at end of file diff --git a/tr/docs/api/classes/Context.html b/tr/docs/api/classes/Context.html index b971aae72..3be74b5a0 100644 --- a/tr/docs/api/classes/Context.html +++ b/tr/docs/api/classes/Context.html @@ -5,7 +5,7 @@ Class: Context | sern - Handlers. Redefined. - + @@ -16,7 +16,7 @@ CommandType.Text or the event fired in a Both command was Message

Returns

ChatInputCommandInteraction<CacheType>

Defined in

src/handler/structures/context.ts:52


member

get member(): Nullish<GuildMember | APIGuildMember>

Returns

Nullish<GuildMember | APIGuildMember>

Defined in

src/handler/structures/context.ts:101


message

get message(): Message<boolean>

Getting the Message object. Crashes if module type is CommandType.Slash or the event fired in a Both command was ChatInputCommandInteraction

Returns

Message<boolean>

Defined in

src/handler/structures/context.ts:44


user

get user(): User

Returns

User

Defined in

src/handler/structures/context.ts:70

Methods

isEmpty

isEmpty(): boolean

Returns

boolean

Defined in

src/handler/structures/context.ts:129


reply

reply(content): Promise<Message<boolean>>

Parameters

NameType
contentstring | Omit<InteractionReplyOptions, "fetchReply"> | ReplyMessageOptions

Returns

Promise<Message<boolean>>

Defined in

src/handler/structures/context.ts:133


wrap

Static wrap(wrappable): Context

Parameters

NameType
wrappableMessage<boolean> | ChatInputCommandInteraction<CacheType>

Returns

Context

Defined in

src/handler/structures/context.ts:122

- + \ No newline at end of file diff --git a/tr/docs/api/classes/SernEmitter.html b/tr/docs/api/classes/SernEmitter.html index 8e836c3ce..a63aa8fe4 100644 --- a/tr/docs/api/classes/SernEmitter.html +++ b/tr/docs/api/classes/SernEmitter.html @@ -5,7 +5,7 @@ Class: SernEmitter | sern - Handlers. Redefined. - + @@ -49,7 +49,7 @@ given event.

This method is intentionally generic and works with the web p semantics and does not listen to the 'error' event.

const { once, EventEmitter } = require('events');

async function run() {
const ee = new EventEmitter();

process.nextTick(() => {
ee.emit('myevent', 42);
});

const [value] = await once(ee, 'myevent');
console.log(value);

const err = new Error('kaboom');
process.nextTick(() => {
ee.emit('error', err);
});

try {
await once(ee, 'myevent');
} catch (err) {
console.log('error happened', err);
}
}

run();

The special handling of the 'error' event is only used when events.once()is used to wait for another event. If events.once() is used to wait for the 'error' event itself, then it is treated as any other kind of event without special handling:

const { EventEmitter, once } = require('events');

const ee = new EventEmitter();

once(ee, 'error')
.then(([err]) => console.log('ok', err.message))
.catch((err) => console.log('error', err.message));

ee.emit('error', new Error('boom'));

// Prints: ok boom

An AbortSignal can be used to cancel waiting for the event:

const { EventEmitter, once } = require('events');

const ee = new EventEmitter();
const ac = new AbortController();

async function foo(emitter, event, signal) {
try {
await once(emitter, event, { signal });
console.log('event emitted!');
} catch (error) {
if (error.name === 'AbortError') {
console.error('Waiting for the event was canceled!');
} else {
console.error('There was an error', error.message);
}
}
}

foo(ee, 'foo', ac.signal);
ac.abort(); // Abort waiting for the event
ee.emit('foo'); // Prints: Waiting for the event was canceled!

Since

v11.13.0, v10.16.0

Parameters

NameType
emitterNodeEventTarget
eventNamestring | symbol
options?StaticEventEmitterOptions

Returns

Promise<any[]>

Inherited from

EventEmitter.once

Defined in

node_modules/@types/node/events.d.ts:157

Static once(emitter, eventName, options?): Promise<any[]>

Parameters

NameType
emitterDOMEventTarget
eventNamestring
options?StaticEventEmitterOptions

Returns

Promise<any[]>

Inherited from

EventEmitter.once

Defined in

node_modules/@types/node/events.d.ts:158

Static once<K>(eventEmitter, eventName): Promise<ClientEvents[K]>

Type parameters

NameType
Kextends keyof ClientEvents

Parameters

NameType
eventEmitterClient<boolean>
eventNameK

Returns

Promise<ClientEvents[K]>

Inherited from

EventEmitter.once

Defined in

node_modules/discord.js/typings/index.d.ts:194


setMaxListeners

Static setMaxListeners(n?, ...eventTargets): void

const {
setMaxListeners,
EventEmitter
} = require('events');

const target = new EventTarget();
const emitter = new EventEmitter();

setMaxListeners(5, target, emitter);

Since

v15.4.0

Parameters

NameTypeDescription
n?numberA non-negative number. The maximum number of listeners per EventTarget event.
...eventTargets(EventEmitter | DOMEventTarget)[]-

Returns

void

Inherited from

EventEmitter.setMaxListeners

Defined in

node_modules/@types/node/events.d.ts:280

- + \ No newline at end of file diff --git a/tr/docs/api/enums/CommandType.html b/tr/docs/api/enums/CommandType.html index 154b09ea9..335e8d05b 100644 --- a/tr/docs/api/enums/CommandType.html +++ b/tr/docs/api/enums/CommandType.html @@ -5,13 +5,13 @@ Enumeration: CommandType | sern - Handlers. Redefined. - +

Enumeration: CommandType

Example

export default commandModule({
type : CommandType.Text,
name : 'a text command'
execute(message) {
console.log(message.content)
}
})

Enumeration Members

Both

Both = 3

The CommandType for hybrid commands, text and slash

Defined in

src/handler/structures/enums.ts:27


Button

Button = 16

The CommandType for ButtonInteraction commands

Defined in

src/handler/structures/enums.ts:39


MenuMsg = 8

The CommandType for MessageContextMenuInteraction commands

Defined in

src/handler/structures/enums.ts:35


MenuSelect = 32

The CommandType for SelectMenuInteraction commands

Defined in

src/handler/structures/enums.ts:43


MenuUser = 4

The CommandType for UserContextMenuInteraction commands

Defined in

src/handler/structures/enums.ts:31


Modal = 64

The CommandType for ModalSubmitInteraction commands

Defined in

src/handler/structures/enums.ts:47


Slash

Slash = 2

The CommandType for slash commands

Defined in

src/handler/structures/enums.ts:23


Text

Text = 1

The CommandType for text commands

Defined in

src/handler/structures/enums.ts:19

- + \ No newline at end of file diff --git a/tr/docs/api/enums/EventType.html b/tr/docs/api/enums/EventType.html index ade082d57..9071ec023 100644 --- a/tr/docs/api/enums/EventType.html +++ b/tr/docs/api/enums/EventType.html @@ -5,14 +5,14 @@ Enumeration: EventType | sern - Handlers. Redefined. - +

Enumeration: EventType

Example

export default eventModule({
type : EventType.Discord,
name : 'guildMemberAdd'
execute(member : GuildMember) {
console.log(member)
}
})

Enumeration Members

Discord

Discord = 1

The EventType for handling discord events

Defined in

src/handler/structures/enums.ts:68


External

External = 3

The EventType for handling external events. Could be for example, process events, database events

Defined in

src/handler/structures/enums.ts:77


Sern

Sern = 2

The EventType for handling sern events

Defined in

src/handler/structures/enums.ts:72

- + \ No newline at end of file diff --git a/tr/docs/api/enums/PayloadType.html b/tr/docs/api/enums/PayloadType.html index 1b88f5082..6e527313b 100644 --- a/tr/docs/api/enums/PayloadType.html +++ b/tr/docs/api/enums/PayloadType.html @@ -5,13 +5,13 @@ Enumeration: PayloadType | sern - Handlers. Redefined. - +
- + \ No newline at end of file diff --git a/tr/docs/api/enums/PluginType.html b/tr/docs/api/enums/PluginType.html index d85fbe027..b1ece562a 100644 --- a/tr/docs/api/enums/PluginType.html +++ b/tr/docs/api/enums/PluginType.html @@ -5,13 +5,13 @@ Enumeration: PluginType | sern - Handlers. Redefined. - +

Enumeration: PluginType

Example

export default function myPlugin() : EventPlugin<CommandType.Text> {
type : PluginType.Event,
execute([ctx, args], controller) {
return controller.next();
}
}

Enumeration Members

Command

Command = 1

The PluginType for CommandPlugins

Defined in

src/handler/structures/enums.ts:97


Event

Event = 2

The PluginType for EventPlugins

Defined in

src/handler/structures/enums.ts:101

- + \ No newline at end of file diff --git a/tr/docs/api/interfaces/Controller.html b/tr/docs/api/interfaces/Controller.html index ab1b150c6..8d6e57ed5 100644 --- a/tr/docs/api/interfaces/Controller.html +++ b/tr/docs/api/interfaces/Controller.html @@ -5,13 +5,13 @@ Interface: Controller | sern - Handlers. Redefined. - +
- + \ No newline at end of file diff --git a/tr/docs/api/interfaces/Wrapper.html b/tr/docs/api/interfaces/Wrapper.html index dd95c9eac..37936420f 100644 --- a/tr/docs/api/interfaces/Wrapper.html +++ b/tr/docs/api/interfaces/Wrapper.html @@ -5,13 +5,13 @@ Interface: Wrapper | sern - Handlers. Redefined. - +

Interface: Wrapper

An object to be passed into Sern#init() function.

Properties

client

Readonly client: Client<boolean>

Defined in

src/handler/structures/wrapper.ts:10


commands

Readonly commands: string

Defined in

src/handler/structures/wrapper.ts:13


defaultPrefix

Optional Readonly defaultPrefix: string

Defined in

src/handler/structures/wrapper.ts:12


events

Optional Readonly events: string | { absPath: string ; mod: EventModule }[] | () => { absPath: string ; mod: EventModule }[]

Defined in

src/handler/structures/wrapper.ts:14


sernEmitter

Optional Readonly sernEmitter: SernEmitter

Defined in

src/handler/structures/wrapper.ts:11

- + \ No newline at end of file diff --git a/tr/docs/api/modules.html b/tr/docs/api/modules.html index 7247eb9ea..fb29e871c 100644 --- a/tr/docs/api/modules.html +++ b/tr/docs/api/modules.html @@ -5,7 +5,7 @@ @sern/handler | sern - Handlers. Redefined. - + @@ -13,7 +13,7 @@

@sern/handler

Namespaces

Enumerations

Classes

Interfaces

Type Aliases

Args

Ƭ Args: ParseType<{ slash: SlashOptions ; text: string[] }>

Defined in

src/types/handler.ts:11


AutocompletePlugin

Ƭ AutocompletePlugin: Override<BaseModule, { execute: (autocmp: AutocompleteInteraction, controlller: Controller) => Awaitable<Result<void, void>> ; type: Event }>

Defined in

src/handler/plugins/plugin.ts:92


BaseOptions

Ƭ BaseOptions: ApplicationCommandChoicesData | ApplicationCommandNonOptionsData | ApplicationCommandChannelOptionData | ApplicationCommandNumericOptionData | ApplicationCommandAttachmentOption | SernAutocompleteData

Type that replaces autocomplete with SernAutocompleteData

Defined in

src/handler/structures/module.ts:181


BothCommand

Ƭ BothCommand: Override<BaseModule, { alias?: string[] ; execute: (ctx: Context, args: Args) => Awaitable<void | unknown> ; onEvent: EventPlugin<Both>[] ; options?: SernOptionsData[] ; plugins: CommandPlugin[] ; type: Both }>

Defined in

src/handler/structures/module.ts:55


CommandModuleNoPlugins

Ƭ CommandModuleNoPlugins: { [T in CommandType]: Omit<CommandModuleDefs[T], "plugins" | "onEvent"> }

Defined in

src/handler/plugins/plugin.ts:145


CommandModulePlugin

Ƭ CommandModulePlugin<T>: EventPlugin<T> | CommandPlugin<T>

Type parameters

NameType
Textends CommandType

Defined in

src/handler/plugins/plugin.ts:173


CommandPlugin

Ƭ CommandPlugin<T>: { [K in T]: Override<BasePlugin, Object> }[T]

Type parameters

NameType
Textends keyof CommandModuleDefs = keyof CommandModuleDefs

Defined in

src/handler/plugins/plugin.ts:40


DefinedCommandModule

Ƭ DefinedCommandModule: DefinitelyDefined<CommandModule, "name" | "description">

Defined in

src/types/handler.ts:48


DefinedEventModule

Ƭ DefinedEventModule: DefinitelyDefined<EventModule, "name" | "description">

Defined in

src/types/handler.ts:49


DefinedModule

Ƭ DefinedModule: DefinitelyDefined<Module, "name" | "description">

After modules are transformed, name and description are given default values if none are provided to Module. This type represents that transformation

Defined in

src/types/handler.ts:47


DefinitelyDefined

Ƭ DefinitelyDefined<T, K>: { [L in K]-?: T[L] extends Record<string, unknown> ? DefinitelyDefined<T[L], keyof T[L]> : Required<T>[L] } & T

Type parameters

NameType
TT
Kextends keyof T = keyof T

Defined in

src/types/handler.ts:18


DiscordEmitterPlugin

Ƭ DiscordEmitterPlugin: Override<BasePlugin, { execute: (wrapper: Client, module: DefinitelyDefined<DiscordEventCommand, "name" | "description">, controller: Controller) => Awaitable<Result<void, void>> ; type: Command }>

Defined in

src/handler/plugins/plugin.ts:57


DiscordEventPlugin

Ƭ DiscordEventPlugin<T>: Override<BasePlugin, { execute: (args: ClientEvents[T], controller: Controller) => Awaitable<Result<void, void>> ; name?: T ; type: Event }>

Type parameters

NameType
Textends keyof ClientEvents = keyof ClientEvents

Defined in

src/handler/plugins/plugin.ts:136


EventInput

Ƭ EventInput: string | { absPath: string ; mod: EventModule }[] | () => { absPath: string ; mod: EventModule }[]

Defined in

src/types/handler.ts:24


EventModuleCommandPluginDefs

Ƭ EventModuleCommandPluginDefs: Object

Event Module Command Plugins

Type declaration

NameType
1DiscordEmitterPlugin
2SernEmitterPlugin
3ExternalEmitterPlugin

Defined in

src/handler/plugins/plugin.ts:163


EventModuleEventPluginDefs

Ƭ EventModuleEventPluginDefs: Object

Event Module Event Plugins

Type declaration

NameType
1DiscordEventPlugin
2SernEventPlugin
3ExternalEventPlugin

Defined in

src/handler/plugins/plugin.ts:154


EventModulePlugin

Ƭ EventModulePlugin<T>: EventModuleEventPluginDefs[T] | EventModuleCommandPluginDefs[T]

Type parameters

NameType
Textends EventType

Defined in

src/handler/plugins/plugin.ts:169


EventModulesNoPlugins

Ƭ EventModulesNoPlugins: { [T in EventType]: Omit<EventModuleDefs[T], "plugins" | "onEvent"> }

Defined in

src/handler/plugins/plugin.ts:148


EventPlugin

Ƭ EventPlugin<T>: { [K in T]: Override<BasePlugin, Object> }[T]

Type parameters

NameType
Textends keyof CommandModuleDefs = keyof CommandModuleDefs

Defined in

src/handler/plugins/plugin.ts:103


ExternalEmitterPlugin

Ƭ ExternalEmitterPlugin<T>: Override<BasePlugin, { execute: (wrapper: T, module: DefinitelyDefined<ExternalEventCommand, "name" | "description">, controller: Controller) => Awaitable<Result<void, void>> ; type: Command }>

Type parameters

NameType
Textends EventEmitter = EventEmitter

Defined in

src/handler/plugins/plugin.ts:68


ExternalEventPlugin

Ƭ ExternalEventPlugin: Override<BasePlugin, { execute: (args: unknown[], controller: Controller) => Awaitable<Result<void, void>> ; type: Event }>

Defined in

src/handler/plugins/plugin.ts:128


InputCommandModule

Ƭ InputCommandModule: { [T in CommandType]: CommandModuleNoPlugins[T] & Object }[CommandType]

User inputs this type. Sern processes behind the scenes for better usage

Defined in

src/handler/plugins/plugin.ts:178


InputEventModule

Ƭ InputEventModule: { [T in EventType]: EventModulesNoPlugins[T] & Object }[EventType]

Defined in

src/handler/plugins/plugin.ts:182


IsOptional

Ƭ IsOptional<T>: { [K in keyof T]-?: T[K] extends Required<T>[K] ? false : true }

Type parameters

Name
T

Defined in

src/types/handler.ts:31


Module

Ƭ Module: CommandModule | EventModule

Defined in

src/handler/structures/module.ts:141


Nullish

Ƭ Nullish<T>: T | undefined | null

Type parameters

Name
T

Defined in

src/types/handler.ts:4


Override

Ƭ Override<T1, T2>: Omit<T1, keyof T2> & T2

Type parameters

Name
T1
T2

Defined in

src/types/handler.ts:16


ParseType

Ƭ ParseType<T>: { [K in keyof T]: T[K] extends unknown ? [k: K, args: T[K]] : never }[keyof T]

Type parameters

Name
T

Defined in

src/types/handler.ts:7


Payload

Ƭ Payload: { module: Module ; type: Success } | { module: Module | undefined ; reason: string | Error ; type: Failure }

Defined in

src/types/handler.ts:50


Reconstruct

Ƭ Reconstruct<T>: T extends Omit<infer O, never> ? O & Reconstruct<O> : T

Type parameters

Name
T

Defined in

src/types/handler.ts:29


SernAutocompleteData

Ƭ SernAutocompleteData: Override<BaseApplicationCommandOptionsData, { autocomplete: true ; command: AutocompleteCommand ; type: ApplicationCommandOptionType.String | ApplicationCommandOptionType.Number | ApplicationCommandOptionType.Integer }>

Defined in

src/handler/structures/module.ts:166


SernEmitterPlugin

Ƭ SernEmitterPlugin: Override<BasePlugin, { execute: (wrapper: SernEmitter, module: DefinitelyDefined<SernEventCommand, "name" | "description">, controller: Controller) => Awaitable<Result<void, void>> ; type: Command }>

Defined in

src/handler/plugins/plugin.ts:80


SernEventPlugin

Ƭ SernEventPlugin<T>: Override<BasePlugin, { execute: (args: SernEventsMapping[T], controller: Controller) => Awaitable<Result<void, void>> ; name?: T ; type: Event }>

Type parameters

NameType
Textends keyof SernEventsMapping = keyof SernEventsMapping

Defined in

src/handler/plugins/plugin.ts:116


SernEventsMapping

Ƭ SernEventsMapping: Object

Type declaration

NameType
error[Error | string]
module.activate[Payload]
module.register[Payload]
warning[string]

Defined in

src/types/handler.ts:53


SernOptionsData

Ƭ SernOptionsData<U>: U extends ApplicationCommandSubCommandData ? SernSubCommandData : U extends ApplicationCommandSubGroupData ? SernSubCommandGroupData : BaseOptions

Type parameters

NameType
Uextends ApplicationCommandOptionData = ApplicationCommandOptionData

Defined in

src/handler/structures/module.ts:205


SernSubCommandData

Ƭ SernSubCommandData: Override<Omit<BaseApplicationCommandOptionsData, "required">, { options?: BaseOptions[] ; type: ApplicationCommandOptionType.Subcommand }>

Defined in

src/handler/structures/module.ts:189


SernSubCommandGroupData

Ƭ SernSubCommandGroupData: Override<Omit<BaseApplicationCommandOptionsData, "required">, { options?: SernSubCommandData[] ; type: ApplicationCommandOptionType.SubcommandGroup }>

Defined in

src/handler/structures/module.ts:197


SlashCommand

Ƭ SlashCommand: Override<BaseModule, { execute: (ctx: Context, args: ["slash", SlashOptions]) => Awaitable<void | unknown> ; onEvent: EventPlugin<Slash>[] ; options?: SernOptionsData[] ; plugins: CommandPlugin[] ; type: Slash }>

Defined in

src/handler/structures/module.ts:44


SlashOptions

Ƭ SlashOptions: Omit<CommandInteractionOptionResolver, "getMessage" | "getFocused">

Defined in

src/types/handler.ts:13


SpreadParams

Ƭ SpreadParams<T>: (args: Parameters<T>[number]) => unknown

Type parameters

NameType
Textends (...args: never) => unknown

Type declaration

▸ (args): unknown

Turns a function with a union of array of args into a single union [ T , V , B ] | [ A ] => T | V | B | A

Parameters
NameType
argsParameters<T>[number]
Returns

unknown

Defined in

src/types/handler.ts:39


TextCommand

Ƭ TextCommand: Override<BaseModule, { alias?: string[] ; execute: (ctx: Context, args: ["text", string[]]) => Awaitable<void | unknown> ; onEvent: EventPlugin<Text>[] ; plugins: CommandPlugin[] ; type: Text }>

Defined in

src/handler/structures/module.ts:33

Functions

commandModule

commandModule(mod): CommandModule

The wrapper function to define command modules for sern

Parameters

NameType
modInputCommandModule

Returns

CommandModule

Defined in

src/handler/sern.ts:86


eventModule

eventModule(mod): EventModule

The wrapper function to define event modules for sern

Parameters

NameType
modInputEventModule

Returns

EventModule

Defined in

src/handler/sern.ts:107

- + \ No newline at end of file diff --git a/tr/docs/api/namespaces/Sern.html b/tr/docs/api/namespaces/Sern.html index ee945b481..169672784 100644 --- a/tr/docs/api/namespaces/Sern.html +++ b/tr/docs/api/namespaces/Sern.html @@ -5,13 +5,13 @@ Namespace: Sern | sern - Handlers. Redefined. - +

Namespace: Sern

References

commandModule

Re-exports commandModule


eventModule

Re-exports eventModule

Variables

controller

Const controller: Object

The object passed into every plugin to control a command's behavior

Type declaration

NameType
next() => OkImpl<void>
stop() => ErrImpl<void>

Defined in

src/handler/sern.ts:77

Functions

addExternal

addExternal<T>(emitter): void

Example

src/index.ts
//Add this before initiating Sern!
Sern.addExternal(new Level())

Example

events/level.ts
 export default eventModule({
emitter: 'Level',
type : EventType.External,
name: 'error',
execute(args) {
console.log(args)
}
})

Type parameters

NameType
Textends __module

Parameters

NameTypeDescription
emitterTAny external event emitter. The object will be stored in a map, and then fetched by the name of the instance's class. As there are infinite possibilities to adding external event emitters, Most types aren't provided and are as narrow as possibly can.

Returns

void

Defined in

src/handler/sern.ts:67


init

init(wrapper): void

Example

src/index.ts
Sern.init({
client,
defaultPrefix: '!',
commands: 'dist/commands',
})

Parameters

NameTypeDescription
wrapperWrapperOptions to pass into sern. Function to start the handler up

Returns

void

Defined in

src/handler/sern.ts:34

- + \ No newline at end of file diff --git a/tr/docs/guide.html b/tr/docs/guide.html index 02ed75a84..da04b4da9 100644 --- a/tr/docs/guide.html +++ b/tr/docs/guide.html @@ -5,13 +5,13 @@ Introduction | sern - Handlers. Redefined. - +

Introduction

Welcome to our official guide. This guide will go through all the core features of the framework.

  • 💖 Thank you for choosing sern to be your framework!

  • Teaching the discord.js library and / or Javascript / Typescript is out of scope of this project, so the documentation assumes you already know these elements.

  • discord.js v14 is the only supported library at the moment

You will learn

Working with plugins

Events

Good to know

- + \ No newline at end of file diff --git a/tr/docs/guide/getting-started/choose-ide.html b/tr/docs/guide/getting-started/choose-ide.html index 8c5030c0b..ca141aa34 100644 --- a/tr/docs/guide/getting-started/choose-ide.html +++ b/tr/docs/guide/getting-started/choose-ide.html @@ -5,14 +5,14 @@ Choosing an IDE | sern - Handlers. Redefined. - +
- + \ No newline at end of file diff --git a/tr/docs/guide/getting-started/preparing.html b/tr/docs/guide/getting-started/preparing.html index c502bed77..e1c6538f3 100644 --- a/tr/docs/guide/getting-started/preparing.html +++ b/tr/docs/guide/getting-started/preparing.html @@ -5,13 +5,13 @@ Preparing to Code | sern - Handlers. Redefined. - +

Preparing to Code

After installing and IDE you need to install node.

You can download the LTS version of node right here

- + \ No newline at end of file diff --git a/tr/docs/guide/walkthrough/cli.html b/tr/docs/guide/walkthrough/cli.html index fea9cbb99..99370e477 100644 --- a/tr/docs/guide/walkthrough/cli.html +++ b/tr/docs/guide/walkthrough/cli.html @@ -5,7 +5,7 @@ CLI | sern - Handlers. Redefined. - + @@ -13,7 +13,7 @@

CLI

Setting up the CLI is easy.

  • To start a brand-new project, run :
sern init (-y)
tip

It creates a directory for you so you don't need to!

Include the -y flag if you want to set up defaults. The default langauge is Typescript

sern plugins
info

Make sure to have a correct sern.config.json

This will display a menu selection of all installable plugins.
Note: You must have a sern.config.json to use this command. If you want to view plugins, visit the repository linked above.

  • To install extra utilities into your project
sern extra
- + \ No newline at end of file diff --git a/tr/docs/guide/walkthrough/conclusion.html b/tr/docs/guide/walkthrough/conclusion.html index 6b2a15038..e64fabec1 100644 --- a/tr/docs/guide/walkthrough/conclusion.html +++ b/tr/docs/guide/walkthrough/conclusion.html @@ -5,7 +5,7 @@ Conclusion | sern - Handlers. Redefined. - + @@ -13,7 +13,7 @@

Conclusion

If you reached this far, thank you for reading! We hope you have learned the necessities you need to create a bot with the sern framework. If you have any other questions, bugs, feature requests, concerns, please join our community server, and we'll be glad to answer your questions.

- + \ No newline at end of file diff --git a/tr/docs/guide/walkthrough/first-command.html b/tr/docs/guide/walkthrough/first-command.html index bfc35b8fa..0ae67b2a9 100644 --- a/tr/docs/guide/walkthrough/first-command.html +++ b/tr/docs/guide/walkthrough/first-command.html @@ -5,7 +5,7 @@ First Command | sern - Handlers. Redefined. - + @@ -14,7 +14,7 @@ If you installed a new project via the cli, This is the ping command located in src/commands folder.

Typescript

import { commandModule, CommandType } from '@sern/handler';

export default commandModule({
type: CommandType.Both,
plugins: [],
description: 'A ping command',
//alias : [],
execute: async (ctx, args) => {
await ctx.reply({ content: 'Pong 🏓' });
},
});

Javascript

const { CommandType, commandModule } = require('@sern/handler');

exports.default = commandModule({
type: CommandType.Both,
plugins: [],
description: 'A ping command',
//alias : [],
execute: async (ctx, args) => {
await ctx.reply('Pong 🏓');
},
})

To view what each of these properties mean in depth, visit the official documentation.

Types of command modules

Every command module type is part of an enum. This field allows type inference for the rest of a module's fields.
All the command types can be found in the official documentation!

So, lets say you want to make a command module that listens to modals.

Note: Keep in mind you'll need to send a modal with a custom id dm-me. This example below is the response to a modal being sent.


Typescript:

import { commandModule, CommandType } from '@sern/handler';
export default commandModule({
name: 'dm-me',
type: CommandType.Modal,
async execute (modal) {
const value = modal.fields.getTextInputValue('message');
modal.client.users.fetch('182326315813306368').then( u =>
u.send(value + ` from ${modal.user}`)
);
modal.reply( { ephemeral:true, content: 'Sent' })
}
});

Javascript:

const { CommandType, commandModule } = require('@sern/handler');
exports.default = commandModule({
name: 'dm-me',
type: CommandType.Modal,
async execute (modal) {
const value = modal.fields.getTextInputValue('message');
modal.client.users.fetch('182326315813306368').then( u =>
u.send(value + ` from ${modal.user}`)
);
modal.reply( { ephemeral:true, content: 'Sent' })
}
});

Commands are straight forward. Keep in mind, every other property on the commandModule object is optional except the type and execute function.

Context class

The provided Context class helps with modules of CommandType.Both (A mixture of slash / legacy commands).

The Context class is passed into modules with type :

  • CommandType.Both
  • CommandType.Slash
  • CommandType.Text

This data structure helps interop between legacy commands and slash commands with ease.

note

View the docs

Typescript:

export default commandModule({
name: 'ping',
type: CommandType.Both,
async execute(ctx: Context) {
await ctx.reply(`pong ${ctx.user}`)
// .reply is shared between both message and interaction!
// So is an User object!
}
});

Javascript:

exports.default = commandModule({
name: 'ping',
type: CommandType.Both,
async execute(ctx) { //ctx is a Context instance
await ctx.reply(`pong ${ctx.user}`)
// .reply is shared between both message and interaction!
// So is an User object!
}
});
- + \ No newline at end of file diff --git a/tr/docs/guide/walkthrough/first-event.html b/tr/docs/guide/walkthrough/first-event.html index 385894e22..286fe1735 100644 --- a/tr/docs/guide/walkthrough/first-event.html +++ b/tr/docs/guide/walkthrough/first-event.html @@ -5,7 +5,7 @@ First Event Module | sern - Handlers. Redefined. - + @@ -13,7 +13,7 @@

First Event Module

We will dissect a basic event module.
Typescript:

export default eventModule({
type: EventType.Sern,
plugins : [], //NOT SUPPORTED YET!!
name: 'module.activate', //name of event.
execute(event) {
console.log(event);
}
})

Javascript:

exports.default = eventModule({
type: EventType.Sern,
plugins : [], //NOT SUPPORTED YET!!
name: 'module.activate',
execute(event) {
console.log(event);
}
})

Like command modules, the type property denotes what kind of event it is, which can be found here.

To view what each of these properties mean in depth, visit the official documentation.


Event modules are laid out similarly to command modules. These listen to any and all event you provide. In the current version 1.1.0-beta, plugins are not supported.

Another example of an event module

Typescript:

export default eventModule({
type: EventType.Discord,
plugins : [], //NOT SUPPORTED YET!!
name: 'guildMemberAdd', //name of event.
async execute(member) {
await member.client.channels.fetch('channel-id').send(`Welcome, ${member}`);
}
})

Javascript:


exports.default = eventModule({
type: EventType.Discord,
plugins : [], //NOT SUPPORTED YET!!
name: 'guildMemberAdd', //name of event.
async execute(member) {
await member.client.channels.fetch('channel-id').send(`Welcome, ${member}`);
}
})
- + \ No newline at end of file diff --git a/tr/docs/guide/walkthrough/goal.html b/tr/docs/guide/walkthrough/goal.html index 9dd0c70c6..01808fc09 100644 --- a/tr/docs/guide/walkthrough/goal.html +++ b/tr/docs/guide/walkthrough/goal.html @@ -5,7 +5,7 @@ Goal | sern - Handlers. Redefined. - + @@ -13,7 +13,7 @@

Goal

sern strives to be minimalist, but with all batteries included. Meaning, this framework provides the necessary tools to start up a bot in minutes, and leaves plenty room space to customize your experience and create an amazing project. It should include all the tools for any bot at any scale.

- + \ No newline at end of file diff --git a/tr/docs/guide/walkthrough/good-to-know.html b/tr/docs/guide/walkthrough/good-to-know.html index 8e627da91..867751322 100644 --- a/tr/docs/guide/walkthrough/good-to-know.html +++ b/tr/docs/guide/walkthrough/good-to-know.html @@ -5,7 +5,7 @@ Good to know | sern - Handlers. Redefined. - + @@ -13,7 +13,7 @@

Good to know

sern.config.json

A sern.config.json, although not necessary, allows your project to communicate with our cli.

For example, when installing typescript plugins, the language property is necessary to install from our open source repository.

Using the cli and running sern init --sync on pre-existing projects should install this json file in the root directory given. Or, if this is a brand-new project, sern init automatically installs it.

{
"language": "typescript",
"paths": {
"base": "src",
"commands": "commands"
}
}
- + \ No newline at end of file diff --git a/tr/docs/guide/walkthrough/plugins.html b/tr/docs/guide/walkthrough/plugins.html index 2d1229781..5a0a65da0 100644 --- a/tr/docs/guide/walkthrough/plugins.html +++ b/tr/docs/guide/walkthrough/plugins.html @@ -5,7 +5,7 @@ Plugins | sern - Handlers. Redefined. - + @@ -16,7 +16,7 @@ This controls whether a module is stored into sern.
Typescript:

export function inDir(dir : string) : CommandPlugin<CommandType.Both> {
return {
type: PluginType.Command,
async execute(wrapper, { absPath, module }, controller) {
if(path.dirname(absPath) !== dir) {
console.log(+new Date(), `${module.name} is not in the correct directory!`);
return controller.stop()
}
console.log(+new Date(), `${module.name} is in the correct directory!`);
return controller.next(); //continue
}
}
}

Javascript:

export function inDir(dir : string) {
return {
type: PluginType.Command,
async execute(wrapper, { absPath, module }, controller) {
if(path.dirname(absPath) !== dir) {
console.log(+new Date(), `${module.name} is not in the correct directory!`);
return controller.stop()
}
console.log(+new Date(), `${module.name} is in the correct directory!`);
return controller.next(); //continue
}
}
}

Above, this simple plugin logs that the module has been loaded along with a timestamp.
Again, it is up to you to define plugin logic! The possibilities to customize your bots are endless.

tip

Command Plugins are good for ensuring the shape, location, and preprocessing of your commands.

Event Plugins

event-plugins

  • An event is emitted by discord.js.
  • This event is passed to all plugins (in order!!),
  • If all are successful,

The command is executed. Calling controller.stop() notifies sern that this command should not be run, and this event is ignored.

So, what does a command module look like with plugins?

Typescript:

import { commandModule, CommandType } from '@sern/handler';

export default commandModule({
type: CommandType.Both,
plugins: [
inDir("other"),
serenOnly()
],
description: 'A ping command',
//alias : [],
execute: async (ctx, args) => {
await ctx.reply({ content: 'Pong 🏓' });
},
});

Javascript:

const { commandModule, CommandType } = require('@sern/handler');

exports.default = commandModule({
type: CommandType.Both,
plugins: [
inDir("other"),
serenOnly() //The plugins in this section applied to this module!
],
description: 'A ping command',
//alias : [],
execute: async (ctx, args) => {
await ctx.reply({ content: 'Pong 🏓' });
},
});

Can you predict the behavior of this command?

  • Before loading into sern, this command module will check if this module is in the correct directory other.
  • Before an event occurs, this command module will check if the user has the id 182326315813306368.
tip

Event Plugins are good for filtering, preconditions, parsing.

If all plugins return controller.next(), this command replies Pong 🏓

- + \ No newline at end of file diff --git a/tr/docs/guide/walkthrough/sern-emitter.html b/tr/docs/guide/walkthrough/sern-emitter.html index 9f64b3d6d..85192dc9d 100644 --- a/tr/docs/guide/walkthrough/sern-emitter.html +++ b/tr/docs/guide/walkthrough/sern-emitter.html @@ -5,13 +5,13 @@ The SernEmitter class | sern - Handlers. Redefined. - +

The SernEmitter class

You're shipped with the SernEmitter. This EventEmitter listens to

  • command modules executing and its status, the module.activate event
  • command modules registered and its status, the module.register event
  • any error that occurs, the error event
  • warn events, where it is possible to throw errors

You can put these and other event listeners into event modules!


View all events
- + \ No newline at end of file diff --git a/tr/docs/intro.html b/tr/docs/intro.html index ef68a2697..c856a1fb7 100644 --- a/tr/docs/intro.html +++ b/tr/docs/intro.html @@ -5,13 +5,13 @@ Welcome! | sern - Handlers. Redefined. - +

Welcome!

Content

  • /docs/api contains autogenerated documentation of our codebase using typedoc
  • /docs/guide contains a basic startup guide and details to get started with sern faster!
tip

This site is open source! Please do contribute if you find any bugs, typos, or sections in need of improvements.

- + \ No newline at end of file diff --git a/tr/img/R.png b/tr/img/R.png new file mode 100644 index 0000000000000000000000000000000000000000..ad1a862c52558a262e58451a41ec5e57b3fd2332 GIT binary patch literal 21551 zcmZ{Mdmz*M|G#oVA)TWVijz)Fbuzlib=~B2qmqP7LW)>OcEKtnA;~GqExO2cN)k2; zx#eEDSxp|?zvm>nbEF3oZ|{cTd4G8_R`cp^?C#5}ni6M&9{4_0 z{j%*1?CRIEg-d?7x0V0*#G4b3U%%chzg+wJ!nN71xQ&Nx7lu9{5tlFV{DOS*{BPIA z3l?q%e>kfBTa88nPbsBOBXY}{i?3H7baaTzeWtB8~ zOzm>$H&101>2bTSg^7RqNMs?()OT1}N&G_*iC!gl&SkYG9yN&|UDZU-{VI4^4Cf2@ za3eR-fq{^b48DbgqfFb~cO1@ObQ_BFB!l-&fWarSTDudm589@q%PPb_^|ZKnTgSIA zTiqYn=g=Q~&hK{Lp+7lQ^?ik%?^P7N>SyTob~)$QbGu(P;uSQ+KgwlN|HAS{#oa>< zSs8AwNuu~Al0O_HDQ1+&bm~iuMbu@8uIG&5+d0t(6LaP_GImd1PXC$OHN_F+nL}%^ zFUFnvXwWa}SzPyy%dZyubuUN6c~s&@!DJ31ik zi-(UdgO9_I{d!1lIFf6uIhaox;_PEO{(<2Y#^e(elJI^m-5yCF79l5g=rp$*#E^Mu zs4Le?D>F(P!iA11gGM<+2waT6QLDc}i$7Wq<)4X)$eyi!#6?9V;(Qy5^+Vdo6xG1{ z@)M|>_&CE>mD$~n{qK#b8K&*wn48KR8;knBGmoQvu4Ce@1cB*TO;kOqeILGQK)aaZ zv!&SK$w~qJ4%X9gRY(kVRE5Y(Z*wn5Sg|BD>a)BC(vkFZfp%d7XDa&q37*^^LNt0K z;fwL*kKfW+wwJa)@DDj)>96HBYvyaS*~c+`#@wR+C6as5Tf6jQM5*4=HYI~r(L|b~ zw-$AA6lv3TdR23W;|5DuCuiHpk!$`1%7Rp7Qg=iUCA_FPT$r$8+8jP(mp*>4W}4AX zLJ;WX)$J8*%Lf4y*P7#vurY$vntOWZ?Vq%C>^JG7?Z|qVOFO(n%B)-yb&qsD)pmJ| z{q&y~;>~=U;g3oTTV*k==0-6b=uTSn4O(~ys)9CLne<3~iC7v%3eVHfY`QHh4-cpg zM-J~t`1H$#l~#otH$@~eBQaNF5!iIK6oppqcP+ueTcwr> z(awwz-d0m3&&2zs10_jHiOiCi#tOzYmMjUj~=E5!;j2MLWsr zHPbjJ9eCR+@R?O$+zP={Wx-8l(j#`cdW?TfxKMjL{a#IR^yh4xeLw%O7E82sISvJX zMYU7kE)RRldNeHschk^ZN_j^LmgS`o-Ku>8FJ=TKUE7EpT z%_AMXM{j^hgQ(%tk@6Esr|Rp7HAOnQO0V}^zN7cNZCAl@r=YTR{IM#E$I3^Qk8XKu z6^>~sd22CndMJe)fy;$@|4%Aqzb{3j%}FVtZ9(f_2}yvyvyJ?7tw`xAUve^GdgR{U zg=h?W=YDzlF3+<{Q}2x5$;>PVZw{Mrg3TO-VU=SIG>}wM%ITJf#6hF%c$K&Bj6cdu zHk!(*aX1`T`ex&DO#+-E6wF%K+GeusZkOX)v++c0&Q_H{TwevJUGHHZZJ=>BMrp!o z2a|G&Cp0K%7SViOUzzOe99=|5fbUry)iUHB_^z0)U9AWocjPL=Swd<-+|4RvQ-4I5 zz8)nyF<#!`F`i+aa=~o$Vx+C@>C+wc0f(kIv?Ff{%U0!oJ*f%!>(gz%a{zv#^~eJ> z+G=EtsZZAvAwp%4TE%qg*1Me+`_K|*#NS30REL=aAw9jlDYuO~GD=&+&y=}@hlRC= z`dbYSyLmJs@EbF!v_w)v?86jT)!_%iCgMNGLY0g}$$IBglsS>>>RxOu0>X~lFdJ?a zn6RSAQQ!YBT?At*KjNXTomiBDMfBMi+`z7; zSeeHi-&XJ0*eZ32R-uubp1FSW_*ocMFZOp04azE9`>rR1C1wxeS>|8Yt0r%k${$%O zQ0ZH`_M+5>fQ||d5Lnn&&b_Y5cw;u3y`f5eg0wSl3w<^fQ`<88bV0m_ig25^f8IvF z(rZdMx#Y~u6`T_=tYWMzm^=iR!o5D7v^O;`hQI2C4G{a!EK~%~)UOrQXZ<$j#2YSJ z#OOPE#p~?&yNZg04NVb2m9q2&p?jTf@>ku8+b%Wm2BRTrIWnZNryPGR+1INjoOs)T z1Ge$JCqn%?j*vSVzZNkwWWCLyBFI4tSq!%(&NhEM5r~-9`-{-t%cvL~wvEBr zwGcS2)j%=V4X^RZBwT6ixo51FTpjiaW@*i|sF$671!+p|u;6n9|KiNvJ>$37O*w^m zd3j%CX0n|L!;HE+KrgoE^9)KZ@a~z1;Jr-LJ02*L65&Qbl>$cGXVH&ROW(Pv|94u7 zdXrsAYeeZy@!x<FMcL zDuD)$7LY2988Mv78PF!0(5SIR*Ok&`n<9oM(;R7afFZ*4eOSl(hkaF43Y-2Aez}1_ z@?adTJuAvZx7?%!+hACexjD{YL{2%1a-usl$NJAwPbZagEpSuz9)*T2_^;x5;_O-Y zOJ`X}rc!kIv4WsEvto=O8rmL4);qt0IT9FP0A1;Up*54&O-p*d?y*u6`i^;#^F8B) z(T-1x+Lybcw8 z{W@v8nZ79CA()q4)mGB2(~)GQA^e%PAHHEnrwzKmW>AuGJ+UdX@48(NRUm5FfKWaC z2g$4azR*+9yDYcg@7_Z#I!{eyuYrRodhMGxN^b^L4SsOvz3 zd!;A~OdU5s_q%u^5#I{Q#)tPjI{#<2=*D60KVG~TPr$-9&&bcs8Ott z0vO4YV=R2~@UzJcs};i34%uBX>eE}nW73XZPoL4VHn~{N$$9imt@NbyvBY9W;W^EL z{Yo5H!21;m8h|M%IQ-CW4EtvZ13_-jN8`wPjPbcY+Oe`)%F8D+ka~ITy_y_0-mo$n zdTK6Z0M@zh+LjwI&JD8LF}~Q+8{?=~?_3ZfauJRrqQ62^U2zzZGuSS;O5QzXIUFdY z!#4(rO|m{yYq(!ygR(GorLc;>SUhJ~J7rtkFom=!MD#R~qfh504z9he30b&=SQXpZ zj8B$S-_7Ot?xtyboGc70J@--Em;6bATS{B^_6%Ce^eB0Z)N9$ESkoj~$jbyi)47=c zGVyOg3MS_9hYrtg>ie%N3v?t)mbfJwJAEg_J62N!U=t(_RxU?CmM8^lk~M=<{zF(B zgcwo3HdQ$Qgs9)8+)4lE7pz4O=Z?sX_4j;%t%?s5ogsFyE_FQ<^{K>tbrjwIOerrS zt9_K2`TONw5+sX$Q{a%Ia`Mg!8Z>M+{Q~TC8Bkqqrm}MiVGT0)ElD-$4H|PVCqHh zo6@)NJPE89?Nj2r-h-pW%SP>)f|;{oWzOb0Of|jlDSQ5T`o_!C3u+@uW6o7V52b$3 zzoGG2r>X(jDEE=O)S)DunZx>0z7K5{t6`=R!cJt1Uw9ukTQF1_=#f4!wQ%}JyYi0N zRG8LbiwU*4qoO*HE+f=|sedp#KJ5qq*7q(Q8uh~Vowh9zl3lf6#=8s}>JI7G2^u30 zPpK>kyO}_QPl{H-d>$~*;T$D%A4^uj=-dCMMAO`cKsa92 ziaS2HIm}r0kmfR>w6OYgi;85!2ArT1_Gc1deA)icOg9&k3Cov|jH4-jnT3_(rI7i} ze;c;Kk4YxrX4ja=iA-@i&DB^CZ~8#y0>Czn%;%wX6Zm7&lx#o;WuW*8+= zy}u}`IMzE8_2exiIoMSd+w|#Z!Znv~qWXy6tPiXdYPm_K>gzXa3;Zknf5i48_RHXY z_;bmJ4feOoXZ!#DS>kCMKD00rNX}QpJqdTPw@+v|IMq~HB4~W$FoOv4-YDcc9vsQck0Ck%DRS{P~o>Iuro$ z`r&Q`!T_7HUCMW)9KT_7>CR`3DhejR5guG=(a%_}BIc`pG+lKc(k=aGN*m%Js;wbd{KrpLfshNj(;? zy7xbbt-H`ney<1OupTgffQl(`Tj<-hz|r?7srJonN*}n@+A@$3GBy@GQ^s(mD#)uD zn2%D+jgr=BgLuFe0W!Ba0<&;#Q(@`kD`_^#fp)&1r2a3hy|=40ZMKx04{e^zZKghJ zqNS`RS*l$tx=KSR`^zSrV93vC2n#AJF)(cWIbiXDpV3#d#?n_!{$19$?jXWv^EX(#qivpdrX~B z-0gjr#v-NorrB6YMpTZ2@1N$FHb(^PPK4)KmhlU=<(4`9X-ExtqD*=)zlLZ+D_ZsJl*+apQW=7f zEGEX+IdcBGRFkilp4&}J8RmT|U2x0s%pG8swR7kjbPJzJCf{m;Fuul4iSVCI@+_Ia z^S_?pGs*Wl?cb*BD_LvqnWHY6>v(BbHJkdg$%dsE`-~3EpML|3ox{s+zEYF`I$Hm;^Mq|!q}EujW0@_?^-hhuUfPBqtw6c>cX5;z8)7EzR$Q5 zRco$v#!a~4SEcC}hR?^aSElOeOZX7|#h5VD??*@NXqEcc&|xCZONzdg@W*GTmd6L2 zr>{sJpCE6^^@gZ?kj0Z6-Pl1By^PISw z7^hqGOE0hJz#+Urqz(AUfy@2|2Z`$086m5b?C0w-@(@I_beegFEzDI)KmZXNo3Nyy zt0@)a_>2YrjKI!}3^XLwxGt|ajcq?2gJ)+JIs(2J;a${X1-8o4h2FvF_%TR?7?l5>G)vl()-(((JrRN#6N}VhY^v%DpbSt`uw=}eo?9Ll)t@K-IL)AH! zq54TKN3gsv0+=XncvZF8GQY;ApPiU*0}T#mHEMbXI`Zk`19n$ROs_l;5DopDvs$x9 zsbto_k2sbf)OTkLn1u;GEOMJ(%7$N@c9I3%qTWiC7=Q&4nm71%)h^B|;YE}=>5YEr zz+Lf&r&z_nCr=HV-u|mCFk$?#J$qJG2JTNuedKScw*R!!2M~`kgN;9RhHJY90MG7u zW!4s*MxJiUsh>qQ49x+-GF^1hcy3mhP}sLzNcK4zuDAKrgjSUbP@q@4}a(m6yq z#9E3`(~E-Rf5$ z9a;nqZ~}NMRZjKkfe-8Vd9dE~Mj7)FrFc=P)dmB;GO8)rVUJ4>?u82EC~{4=uB1^x z=-w_yb{l#fH`mUg=S%!ewk6Jw(dd_^e+&*b89Pwx>ioOJ9$FHtZ%7!eFt@Ouf+eeb zVJ#Hw(MEkcp zOcdjKjqA9I7=sRrE64gisz7i%daYC9yVvg~0gE6ipCMiNXqF9MzGM-61|x%-Lb~)A zEfzVuALr^P4f4bX@SYq>CA%RiAi>aMQED-9NCx#=a(;=NsPFR=-@+^BO#czjm8Ig? z)fzp$-F5~6f(iGtV+olLRuO49Bv(2F-&I|;u1=1*R(yHGEB!b^gTN)CbI)b|EJ(S$ zgW1niQCSnLztEC98iIF2ZCt|oU2S&T5M*y<>#(m*as%Z=F65L+#ohd`K0x(!4j9& z;tY@->OkzvGvh^v#yA(Gn=`CB65XXXJ%qpggR=`Pl&nv`8iMB`14thdULe4$5^>0h zYLiC%FC2S*yx<)2U9Vzm$tml@A$S(Bc-5di#rd+>fRZo8aU6e1igb_kGb@SL%hWS@ zPUUz(@`@sYGU*Pqqq;1WEq`BPof96uLxCy2J5$0=2`>pgn!#D*U|EXf3KS@8pwCv9 zlM%_v26f@WTjGxf0^qMoBBlvH+v_u2vuir%**6C>C}C_?ijA_K#l#=b^}@qAf;GkQ zB9NZx-r3ZLcyzF5-P_dmTK(;lvS0z?F+UX=)e(wD$;_CFKd?cb)##|?+caEJbj)0! zoeSe9G)UX;b4HzG-()P>b9pO`if0XfdX%8mhde9*M(05FwrJ)#VHTtc>#-2Oo@&23 z`ci>%jO4MHSq3B%@*nZIidY6WP{`ad6Kl7QrSA_RKn0IQa&F73(?GJb%RYB3%DnQAv3;WBd zfC1)hy)SQ0wmRy9ncdqQcAt)>*xTl^L^ce|l z+N{FWb-e$T(K4?cuXI~$FSk9%KF|-yGOw}a_H~f|0Mrj{j9H>G$Sh7IeE7*syyyDr z%AU&}GN}E@LtS#r#GF-cFN_ZD_j(Fl`OG)lR{ZF>(nG)4jQJK1cIE+!IY4)?%4+pG zaGFu)o5}M|3ll$r5Hrql=qA}5-0`Cy?2`PqSocOX%hy-PF<0lV(x#_=-Ujr%Ch73j zMw?a;4H~-A;#j;OzK(dPxn-TyjGF@GA5z3(W&jq+Z4nPmA+lT(2|u$|SNO-QC(8{}C}qKJNkdVjyW-paVt>U*M$eIJTol?SghASo&gVe0DaKd<+e>^L)Sc<5 z?ht&p)R_;x163s#L4HfU+>o5C_nf|86egY~b-`PlmqaC#Zj{yC=W(@fTWkOaFaRl_ z7IpEB=jJYu6IA#r14};tk?R*LAYYM0m;M7_E=u^yC27#+E&5wYM*8|Ra&g`XSN8Zf zTRk|qh7kkcib2$5OM1jyw3j-_oAe=x{c(%f zgv>ToAhhY;A$~!m`<`8IcC|E#XG$X0yw%TkEcs3~8>2G~0Xu{BHzW_)GZ>7z5IGVP{VxIZ#;rwwhClQkEl=BnjnO+Fn%5Yu;^^or zCfCCzgjzHYxxV$sNc!E2K1P&7=M^X&*!Hg7Da~GsoyxIqktO#RX1Ey>zfCL&Ek6=A z{p@EAwrTkion{+dbS%A=oR#@U+Y{cS(DN#WMzTt>%2Tt1^+~Yk0Rh>?W^jL`PF-p zTG@MaqIdxwBE9w5=1fd$S2{uVF`&xl?N+T=urqPyh!i4<@%?vZtqiK%#Do0CHzVj; zo<T$~_W2Q$6Q%WV5T+WZrxv8RvY(fiywR9Jz_QI5TXeiq6mtaHVCVW=^Ycxk zJpRW|{VVNetz}SHWBAN-h(4FKJsCS?<9`68(C3zxucUbPLu#q;W|dGsSl^GbzO55z zrYIXF5AtCkLXHw_wxdIjUPUj>pv4hHX8+2P{iCgdlUS1l3?$;WaV=JIaWcCpfah3J z`;YZu1q~!NZWBmc0)1=)q%eIy`5;ipM`PWR+dSCSOrZ<%uNNQB*L{p#WlVG?GTo0) zEi1>OfoU_lzeEP2*jUE&?vx(q?`jS9C^Ay73ykhVhcO#Xk|0H2N&FXBK?zHnZkOhP z;KAhVMXJ<$xK1@$m<5Js7c2-4^WSSZ&>E_I$^PIJuibtw5DVF8`qLoXhl%@-L@b+d z^Z>Z(vI-9dCdR+1sVNSaEx4U|vLNjNOd`}P;0rv`p~s!z8+XoUs+31Jxu^_V$SA>s zdEtM`0TC$63T-2acXz2N0<*7b`q@tbwl}kjyUa@B$|~vx9ejp0+CuOm(zd4Vk}a<% zPe6D^(|kAGl0TbsqNwEWMp+1Sgu6IwVq zW*J6Dt_^zL#oUvKHYd}6)UNq-8AppQZ19Wjy_v0icSVtGa9DdE2Nq>FvJ+Tu#<1}P z(A?tyi<53xFWYL-&R)|cwY+4p=aZ`z>Lx1=CuM-S!zXk`bu~{G z+m8A_?-IKv=`(-ID4~)lO%I;DFq=|(pHTbCRTttOBnTKEa-_#0Zy+!snM$s}2IzHg zjr?Lh#iROWHa!F8+=hB9(rYT`aC_|WhR|qmmYIIR`-tJS{8^@|^Wn7_0klZXQ#l3^X2$JBngQKpBr+U8-k~oh&ti= znbB@+whZ$j-oOpTae+o%7+wMG*98r{6Cittqn32D8=D}~A9CCZY_~}*H%Id+LX&(B zDIS__6$@r^6R&3_eYex{ZRh!%F&KcPRj}O~lPsqQj2jL-F@c{Wrf@+B{fEpN_q|6H z(+V7OEha2UkGGzW#$czfBdgsFC$u z(4E6(ETM~dkJfi3-b5V+EbzaS@91__Oe;edjovps0LQjK2?sgxCr)BUBP#f_tWW&p zaIJx@gN+*l8kD0b0U<)8mN52{A)n*u9UJZCJKsE1`Y{9ScmHwU4k;k;Qb-<=db4sO zF6PvP3bdVmboEZD>U!Cq)YM(Sg@%*Mr2yZ!vGSDaNzi!6rhzu|inx@srvN18z;~5i z{Cb=W$j=z0vendux+v2338coA|VDS9r4v;5SsHm)8q`se9Z`2 z3&2*3MM7+~{X&TR)N!oLn46-QEe8Y;Et#SncT`CKN#0(+53F!0x#*a+rB=4=kmuzzO|f(nZFg7U9R2|a z^lq{LidUJy`K7taiFkki{r4rHdYG7k=%?V_o|n(M|A*p9Cu~0tOzymwP0UB3%FEZ# zsQQH5A<|15DU_S4CQ3u;8p08N5ETO=Z3I=7D;fUd;*JH zExyU>0AQ%2;)J%|dClOkxYhSQ_(UUUR0Mp9Kp9d+852U(yuH_R6L>z^fO3Fq0&#?s zi7|+yzJzU`w1cQ(1{iKtkj3|#sO7#?lKnaMa{vmIY$n|IU3S-wXO~vvtonhwK z#hQM`tbNgPno`z#G>7K^#6Jiz*Z|ue;+&H>!W=~p4GlHkDoZ%T+E*3t8Ny|gk`8mF z0lEuvTs|>dBXM8;5&M5VB%JjsV#fGVgBXr{Xt{!uNdPNy+oVoN+ZhYUFf6p;jGE19 zCqHUw0r1f?#)8f+^aWb?3eu%p^bGR2hA0TYXOMlVvFkGZpaP{Ix3ig-F?2D6J4ghY zaUbNRRw};3fQkA+JU&W+@*dj`aG!3rO>Hg5o#zgK2neu0 zb6}^Jk8hfzE4zwPl0om5XL9X;9~IXA!b~=4&=2woC@+(3NcR7!zr11kF#0wH0FrA9 zDm@;t^pCdbF$)N*3Y*y>_QKG~iZ^_V;~jsDAa;&!>fev3?~QuK%Lmc=U7UInOu21( zJaGsicEVueKtXJ6{0}dTm{6t;hi@GXE>W*L9O5T5CQQbNy>O!@*)pFhkEu6L)vkTH z8YYbJ4!aA`aev1qC_kY>(d2Iv0 z(Uqx3u*t8E69g-rl0LEhy=udSA!2`iLVwS)#O|MYl5TwiKtNV-7Rtb>$%T^%Mnh31 z;NnfJNukO`kz&_-+`plmkWz;@A9U~s3-PQ?T`7PMt|G3+wIS6~SioH$Ov2DreJv)| ziH}xACh7d-kBxa=19s5BPCnUeiqVySP6u*@*snySGcjOK;@ldX=BT}VNn?E2HgwTM z5YgG(IV!J_z}T+=xkNO-ivdqi9BV>Z3K7#V8@3faUDAm+xIMb}G@~8(;StIv5W1P> z$2}=1|C64TyrB@Fi{Zg>`Lp~a{3fR)$EH>JCp$T{qUwvmCG(@;I; zMNNoy8o41nC_;Q&1K+F>cOxKE(mw9NP@xlhoQ82GP+mTH84LV;2x~cWP#i{RcXJsj z@%bG}WikOA94rXMTdd@m-B@*t*Y0$e&nZQEuP47g^24)QO&i1cZva3wGm}?Z{N~Nh z!z6_^BToG`Iz)YwNk;y|r|&#yL;_4oTO#hBRnfcffX;Bry8uHWvcEgQ7g{A>?Pe-S z#&oo@)Ws>c4Rrxn3vQ+IX*@O4mIvjQqU~9>N$JS(kqr0R@a`&rXU{->2rzt}%prW3 z3$wI!<|t4GfeWeR`l>!X4*9po!XXv_6BiF?yX%$qjTHTP+V{F}WK8ED*Pup%iY@O3 z_a_tpxA&San={k|DE10pI9xC`a z-OX&Y#d!)gD|n5P`l=Gw=O}8ms2q?MEDzRKYl2E_zb8|oV;CIA!-Ca5xF?=-* zv4%4uzIIgZ2Mlfh5p4P1V^Q zxH!&8yyGOrM%9rx;q2P=W(&yD(HQ|~+uZ3x4i$w^@aBJ@HMcD~FdtJ88g9xmeN?+e zg$B3iHv$vb08m*ZoHC|yd|5~T&OLNS3|8M|HT72%<=vvU#2RODTF39>5yCYst#=bh5QRD9l zD)qOPqSt7sCk`^=Q_LBd76MrMr`+P;n>^xB&nn_t-1VS@TF)y;?N|N#$wrI043!24 zaPUaPFlF^d@5`7(KUJD9pn^b>f9Wwtn2>m zRzS=&=43L)vT7{nb@6H7wzfkuKwZ6HU>mezCdzfIT5YG$&9Eiq$RR;!W;Dp17LU2N zA(E#t+mlyJhn3zz0TC6%F)@0;RG{1??RG44**?KWX`mRd^>WD-pf18a5{}fTeE4w3 z?!vGWo$)(56Rz=jYVypP*~y%ws$Rts<?hiMkLPKL(^Y3-Q+K} z@OyMZ_UdKNw&jQ_T(4 zwQXr>*Hu*vupuLS(!yW`LbZayH=pH^aFEb!;u{ALG-gWrb@ss-yAThOQMrXs5 z1vl}Jqf;hk>>cbftf0vuKZwqt;i5XnZHweZ=yJZ13@Sc(dUfn^5mbh9MT_w0=1hLu z$rma_BoP3hw{kdaQcsCZAVLgeumx34rg3HJUl*OJ5-P=jgBYYl(KbDiI)qa5G06{Kj0L)+pb+f;?uiwc!VSJjwsyVD&Oq+agVHD6>BrZI1m zr}51H3K4g$j02(9GW9nwQKQRe;GQOb9`Ou{J&8whj|?p$s1SNQuhlmNj}ZseajU66 zMyigKECEKI0wvF+$QvY$mv1N>6~~FsJSHT}%z!E;=<}uw(_7H$N)u)#ktl;k4q&dU zhUUi(?U1rB*3MOhVZmL!YIpj>&1cry(i%nEkJu{^3{`1?7uQc#o>m8sh&{!Hm#n7# zRROTAZ+cQi=epNIhI`jnA1x5q-G_*r4cbt62?;f;$ThS6Q_%8A;*ws#F<||E3x~*Gz&{gA z#dl$<#N+7k_9I@^yv8qG#$U2bQ?LeOqvxQHEwBwL;9JbqmeG-O0ib%~$1LgB+u1lH zNS1E0HVLmCu_5(D4b+66`G@q{Q-chW;(lWQiAb&o)ZS#LenqcT0$TVwmjqqMLYDPL zeTYrpRwN(*+us3e+wG>tY*Odghpa_DcN9g?bL*R)jGZj_Tsd_L3WuF1iS6??5+b@x zJ<81tzgDa8(PV87C=xqyp=Vn(X(_C=Og**m zOvI>ORIL3Iq(`W`C;|KJ%k1>fiNH|Z_ePW_=Z~!0KB-1$9LJ1bKLcSUv+X?Mz=h)I zCAi7qCC@MVMC=v42k4*|aZnf}O&r_4iT-8|0$LllPiECOts~hpSUzhYW5~Jh^8rA_ zB#_w{y%^sO893)Ij2LCa1!3tXkP9BNmJ-7z+~4Pc_`q}ioQye;TOk_6XtktlMPoX4 z?QKlzug%eD8`V&orGBoHBJQSsBc-fUNbl-W{!Kq3QLu~}-GV#CjrP?PdP`qk4CTY1 zhzrcqr-Yl_I{nC3C8SE@Ia21^L-{1%!oL*KKSkWomWwL6#WFV~9vklQ(Uc%GKq^h0 zg-yqX9emh51 z1Xs4tfP;rwkVhh{a9d*s&V8`EZm+YFUTFm{J6=8wU~fa1E;unTa%N?z<}~Lj3&{=4 zoHvGwH|oH~L3+xcqG+ni)2y!b+?cJu&O;P2wx)=;4MxA1m9=>R&CoX4ck}_0YhW?q zUaDC%k!!i-a{=Xh+Nxxuj!Jx(9vZ`~-v<1}D)0F2Mq^H75hw)=t)jf2qStOC-^#`v z1=WfhXoeIBUa)A!-(te9RMTKGTW~ey=jx`b96Dev1!S_x^tFPkxLljnzE^ErhE-Il ziMUKqB+2Ofa~ESj^IzcjjGcPp+4a>L#gYyLTrR^k)&PJL*zB_ZNGH2teVyw!1;^o7 z)dkuC|15ySu5qL7U8N^v|pxwVZ>E}-T@-7)x~o`IrcJ?w#w#} zW@fraeqrnn>I%msssu(U3lf!!Vz3$&eh!JaYD4C;<%sB=Qb~rP4FL20u_2+o5Jff! z*4IEb6e*3oXrH7z`Q%?W>D`a0o`PWL&!S&HRLOM?()ls&c=j+n)`0PE)rS&*&fl

6?+g_k>0Wc`P!fD_IxkOua<2?1UaU)sck47ODFn%zK@iT($!Rc* z$xo`G?rPE0)d0>4T9x?cTR$c9^I6}^X~l&p%0$eC5qnkQ!Lj}&u$iSQgMB$2U4-o6 zGluBPqS}#ivh9VHJvTU}y8hnhgdf6%%$V64RWT&b%h)+`;bq$0Hk(ADcx04N?I8d0wJr5 z`vvP(0ni`#5h*5{XSf=K+RQoBq}ZHrxLt0v4LTC|F~^0}-SC>x9aCK-j6>`E|0V$} z&W;K@7f`GFZo7QLxi-$bd1S6P4}}>&9g26~at$?KY)!&cbX5BNSw}W(iJnKmnqaH5 z7wE2};a%*{2CkXMNG3o49L*9o;#EHT@+XKjg&ZMa`{Ir*6O^28z5JfheHof)@u zlQ_u8ObDyu%goP0a+VHsBv&8`Ch$-&oJlV2 zaWpx`-*UwFXNLp{(Edn^@4(R3C+xC7h5twzmjwC3=)v>gPJhZB>`0<%$S?3jY@lzt z&w}}#CPBtdN7%2`EC9hfKAJHESNYk57re>PsiYn9GR-_S}2mAe}vQp zr}KlJX5G@E>r1q@C8>A%1gRy{&G7_ z2Bf8z&ZF%7NGKhx!tZ}Gwstgr_j8Ig5Y357eHk|oc88so{!^EycI-cpbVP3xm1S*- zCD$b9GaBVIpUAsXXBzekfwhV8+RPKHC=y(Jh0*9A?^0BEPsQ~agL;5->At@`J1L#_ zOjB&yjP{hgS*C`QmRtres|n~Nt^q$*0gU}2+7%RvACLA<(@d4{QBbS>o$@XoK>q$h za(f)b5z;H?G|VL|^UTC|05bMRt)^h@BkO;zG|*9V$%&eOVi8x1N%;%_?I0!kzp6b@ zYw)>L%JI2m+rkqH<%@VFk7P$6z8_9S#IN<#k4fQ1$wGbqrbt_f|#rH27B6G_P&&QUM^FHq` z8R{6p!wkh#vSpV9Hh(nVt@4bnH7&(Zk*zs5GvzfvBk8B>{9JO7aDp`s{2!+w@ix?= zs!pMXTO}V%V8)+jD2U!iBnFzyJ%he0ve4K0YPSQWBtAqYLYs#AVqMa3BxP$l(m7ahYl z-_fkTpkEC-Kty4q~!TxFqTb| zKxr+%@O&xMN+HsiuMGDYMQzj(t6M!@?#`-9>ONC$JglN{kI;E?_{+dvXS{`E2?ETr z$#aU~9nt$f)4<_*Be|DkASBiNm*`(w~bBE~p z-0BAgTF*>Pfw8|Jh7+sVmdSMmgLf<@mPzKl1b;OuFj)G3YL@SIu@S{K*J?g(oGUP0 zi$ipfaIK8({8;8Bz$MOgS`nLuEpWB%&e8&H$&7!onthh{tgoh#p<Lu_WyQcl~y(wW+(>?o~!iiW=uC>7K7cB#6|asHg~CXeS`2Wa(! z21=rwhb#){CgQ9r%-GQTa`|R)71eHI5AsXU<|T5^96=fjof8KWBs&kn0vQ?yYJyCT z(-4jJziF~wLZ$WL(+ZOEU>NJN$pjC^ukO`U23DJY8ui(fm=@ZYt%*h{Y|U8w5nyh1 zfLsrh*qqxF2^-^w`ioz!%~vL9gz}(XC6Y?vwS2_KOB%+ZY|VUd+kTp+Hza@1;g6`a zw_SxV6FRF2!x?6cl4Z7H+Jc-JjR$tsiV=t2;4yZbnh2e%PDaYIWU~%)?;lj0uZoHE zovMyj1a_;We0ecZ6K;Ok%>wYO&H!Ic38Iv=rm> zXC9+c=T7^TVSU(%WI+2bIr%hT*EWlZqjM{g`AqK27vB{y;Z!qM;kq$lI zp8rYx5nut8*xPNdx!wIK99cIv=fXJNj?v&*8(xq5p`h*!KPH5S$`P2TIfVS&UVjTE z=MxYBGSk1&@RfrEaccq0>}YMdY-Li&+^7y*n7e7f_+O}RxP|k*B1EP{o;7^jYp$-} zndx8+uy;nGw3HrzT2Jq-_;NuyaOGTo06k7N>5^+vX*652+1bu?bvo7`hFvk&SAma< z@ne|^CQKqiK(<*0u28PMbuwbERl@ktL-jt6zT=_b)~ zq87CJrN?-XVwHSn+@y}9jaH2>!F=|8j_R%W7VM^SY4H7-nmDMv6{?rgxK7kxPm(KpxC0^cMvBXp=cY*hQiFLXZp@*yl~ga&dXpskXmIYz^* zllJ6-)!|70p9C*xt1_x#!PTL3pvJ{5Hke1Ujz1^K`d3Fi+c#Qjph&vD{WIho`y-`?!m0K8=4#$%fU2!)O(8~oze<&|6pMF8X54TgU(fgcf zO+QHA>Mx?)-`Sl0V(4Ih_3oeQtp5-`dFywqTQ$a)B?shJEhuM0-7^Nj7nOMP+)G_= zLZ^eYkrJ2apQ&g{SCMb^oto*mkSgK7;=$P_tO zbz*#&pcsS2`8|TgbYqm!l6MZ-x)j;h_}|tfl`um3LYI3mN=-3 z;F#F|)|XSkp)^gu>+Z@Z1(g#`;+{8lmO7kFhONgsI<6ed@DCEy%;NNv3a*zng?HD8 zhy2AdO7(*mv?bT_k4$l#qC4zuzpVAs6nHnx_=i>r6KfR#4x5l%;FxK^Yp-iLk^jXw z@BZ{dHlw03)xXWwt-Jg-iKNU4NS|2*N{hv#>ll_vgGQidQvjoJjZu8cV!Y|F-UI-T z0{4Apcgjd5(Zp*>uG1^PEfM%X`Gv}YyTJYeDE_MWz=()0w}+O{7qx)q87n=PB|2M+ zKzAYS*P|rR$_NC^-hn1V`WKVWfS~v2!oVaIgLYZEf23ZPxQo)KZ}L!i$C#649OyIB zkidGe<0>Em`&Im7$!zXyGH)aGWF@meGc)Jo6DDQ|_NrUS_|EuiyIBYBV zMW`^yXs95##GkN)vjTbZyDdJQH}(n*l>>YR<*yUZ?5;Ecm6aE>GEIH2YT_))4(!j1{V>M4Opp)J2&^YdRg?kiJyFffDSZ<1FBYb zsyn}5mEQyqN~ikEKodDov$Cd0r!1fuV4${7hFy9Y*`DMU^t;_`R86O)SygFu2C*|d zk+qQX4~W?z3%&)PHFy;5)iP>hM0F&tM*k{Zs?_~iy=4Lz>q~we6l4so>aM!oy^eBm z%o}uPDB11k-7gmm(L~$rAQPnAfUeW7Hj3XEfpZwN$pWqEj9S}gcRRX(E@jFbxy?QZ zn2$NAo{g#+zY{pyX3;l$Q-AG$G~Lr5pd1ODolFSZv#OQJ&5!eFF#+i6yWp`MK%zZW z&$2KL4iafTX{bpp*3~r4aDv+uNX6$WlRkuNXl0j-=lW^coNggh%i9RT6ej`!#M0q0 zA>SQ&Dt~kl000sUL?L#oga=KQ;Nh>{TvQouyx`f>tWlz3FD47ve6b<#yn=#jEHZR((sVO=X_#7Zk05Jh) z3R$mCj4!Nis3I5drm7gsrh-z_18o9a|8Vs_rYXdQ(t?u#vQ-S?Afr#0^d5AQ%0Le7 z*NITS4>yW|8@5E`44S2StAsWN?R-7?DW)JrA!qunvfu^adu2}9I`w1U$Od{W?=(^W ze(LbTK!w6xy&pq5Ej-&+DU1<2u(pe%&Z8 z1%aHb1APrH4u4(P=N^5n-=L&XU))6qELCa)HH$(TCtz33vgwj3o{VkXA+@dARGx{R w+b(UOysJ6Gz9Sy%b()bdcXryq`&kisvyPkhKAkYo2vq8znZ^Fxy=QOyKhnw0ng9R* literal 0 HcmV?d00001 diff --git a/tr/img/eventplugins.drawio.svg b/tr/img/eventplugins.drawio.svg new file mode 100644 index 000000000..b97d518a3 --- /dev/null +++ b/tr/img/eventplugins.drawio.svg @@ -0,0 +1,4 @@ + + + +
Event
Event
Plugin 1
Plugin 1
Plugin 2
Plugin 2
Plugin 3
Plugin 3
Is successful
Is successful
Command Executes
Command Executes
Ignore
Ignore
True
True
False
False
Text is not SVG - cannot display
\ No newline at end of file diff --git a/tr/img/icon.png b/tr/img/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..6859fda10d6ba0e08dfaafd0ad9df8113c206095 GIT binary patch literal 29892 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�`=<-jOJ$=igNd@9R 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 literal 0 HcmV?d00001 diff --git a/tr/img/logo.svg b/tr/img/logo.svg deleted file mode 100644 index 9db6d0d06..000000000 --- a/tr/img/logo.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/tr/index.html b/tr/index.html index 974e86d98..971900aaa 100644 --- a/tr/index.html +++ b/tr/index.html @@ -5,13 +5,13 @@ sern - Handlers. Redefined. | sern - Handlers. Redefined. - +

Handlers. Redefined.

With the support of the community made plugins and powerful a CLI, it's more than just a handler.

sern init
logo

Batteries included

Start or integrate a new project in minutes.

Customizable

Extend or customize with community-based plugins to provide utilities, filters, and more.

Modern

Uses modern and powerful tooling such as swc, tsup, typescript, and rxjs to future-proof and ensure project quality.

- + \ No newline at end of file diff --git a/tr/markdown-page.html b/tr/markdown-page.html index 178c1e489..5f189b1a8 100644 --- a/tr/markdown-page.html +++ b/tr/markdown-page.html @@ -5,13 +5,13 @@ Markdown page example | sern - Handlers. Redefined. - +

Markdown page example

You don't need React to write simple standalone pages.

- + \ No newline at end of file diff --git a/tr/plugins.html b/tr/plugins.html index 078d4555f..49b0387c4 100644 --- a/tr/plugins.html +++ b/tr/plugins.html @@ -5,13 +5,13 @@ sern - Handlers. Redefined. - +

Coming soon

- + \ No newline at end of file