diff --git a/404.html b/404.html index 70681192f..60005a881 100644 --- a/404.html +++ b/404.html @@ -6,13 +6,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/3dc7c79a.0ca162d5.js b/assets/js/3dc7c79a.66f4ed67.js similarity index 70% rename from assets/js/3dc7c79a.0ca162d5.js rename to assets/js/3dc7c79a.66f4ed67.js index de228d241..86a8b3181 100644 --- a/assets/js/3dc7c79a.0ca162d5.js +++ b/assets/js/3dc7c79a.66f4ed67.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_sern_website=self.webpackChunk_sern_website||[]).push([[9712],{3905:(e,t,r)=>{r.d(t,{Zo:()=>s,kt:()=>g});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function a(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var p=n.createContext({}),u=function(e){var t=n.useContext(p),r=t;return e&&(r="function"==typeof e?e(t):a(a({},t),e)),r},s=function(e){var t=u(e.components);return n.createElement(p.Provider,{value:t},e.children)},c={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,i=e.originalType,p=e.parentName,s=l(e,["components","mdxType","originalType","parentName"]),d=u(r),g=o,f=d["".concat(p,".").concat(g)]||d[g]||c[g]||i;return r?n.createElement(f,a(a({ref:t},s),{},{components:r})):n.createElement(f,a({ref:t},s))}));function g(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var i=r.length,a=new Array(i);a[0]=d;var l={};for(var p in t)hasOwnProperty.call(t,p)&&(l[p]=t[p]);l.originalType=e,l.mdxType="string"==typeof e?e:o,a[1]=l;for(var u=2;u{r.r(t),r.d(t,{assets:()=>p,contentTitle:()=>a,default:()=>c,frontMatter:()=>i,metadata:()=>l,toc:()=>u});var n=r(7462),o=(r(7294),r(3905));const i={},a="Preparing to Code",l={unversionedId:"guide/getting-started/preparing",id:"guide/getting-started/preparing",title:"Preparing to Code",description:"After installing and IDE you need to install node.",source:"@site/docs/guide/getting-started/preparing.md",sourceDirName:"guide/getting-started",slug:"/guide/getting-started/preparing",permalink:"/docs/guide/getting-started/preparing",draft:!1,editUrl:"https://github.com/sern-handler/website/edit/main/docs/guide/getting-started/preparing.md",tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"Choosing an IDE",permalink:"/docs/guide/getting-started/choose-ide"},next:{title:"Goal",permalink:"/docs/guide/walkthrough/goal"}},p={},u=[],s={toc:u};function c(e){let{components:t,...r}=e;return(0,o.kt)("wrapper",(0,n.Z)({},s,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"preparing-to-code"},"Preparing to Code"),(0,o.kt)("p",null,"After installing and IDE you need to install node."),(0,o.kt)("p",null,(0,o.kt)("a",{parentName:"p",href:"https://nodejs.org/en/download/"},"Click to download the LTS version of node right here"),"."),(0,o.kt)("p",null,"After you downloaded node, you can start using us"),(0,o.kt)("p",null,"Running this will install our CLI, which allows you to create a template project without writing a single line of code."),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-shell"},"npm install -g @sern/cli\n")),(0,o.kt)("p",null,"After you downloaded our CLI, run this,"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-shell"},"sern init\n")),(0,o.kt)("p",null,"You'll be welcomed with our interactive setup guide. Complete it, and your template project is ready. If you want to do more with it, continue reading. our guides"))}c.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunk_sern_website=self.webpackChunk_sern_website||[]).push([[9712],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>g});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function a(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var p=n.createContext({}),c=function(e){var t=n.useContext(p),r=t;return e&&(r="function"==typeof e?e(t):a(a({},t),e)),r},u=function(e){var t=c(e.components);return n.createElement(p.Provider,{value:t},e.children)},s={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,i=e.originalType,p=e.parentName,u=l(e,["components","mdxType","originalType","parentName"]),d=c(r),g=o,f=d["".concat(p,".").concat(g)]||d[g]||s[g]||i;return r?n.createElement(f,a(a({ref:t},u),{},{components:r})):n.createElement(f,a({ref:t},u))}));function g(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var i=r.length,a=new Array(i);a[0]=d;var l={};for(var p in t)hasOwnProperty.call(t,p)&&(l[p]=t[p]);l.originalType=e,l.mdxType="string"==typeof e?e:o,a[1]=l;for(var c=2;c{r.r(t),r.d(t,{assets:()=>p,contentTitle:()=>a,default:()=>s,frontMatter:()=>i,metadata:()=>l,toc:()=>c});var n=r(7462),o=(r(7294),r(3905));const i={},a="Preparing to Code",l={unversionedId:"guide/getting-started/preparing",id:"guide/getting-started/preparing",title:"Preparing to Code",description:"After installing and IDE you need to install node.",source:"@site/docs/guide/getting-started/preparing.md",sourceDirName:"guide/getting-started",slug:"/guide/getting-started/preparing",permalink:"/docs/guide/getting-started/preparing",draft:!1,editUrl:"https://github.com/sern-handler/website/edit/main/docs/guide/getting-started/preparing.md",tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"Choosing an IDE",permalink:"/docs/guide/getting-started/choose-ide"},next:{title:"Goal",permalink:"/docs/guide/walkthrough/goal"}},p={},c=[],u={toc:c};function s(e){let{components:t,...r}=e;return(0,o.kt)("wrapper",(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"preparing-to-code"},"Preparing to Code"),(0,o.kt)("p",null,"After installing and IDE you need to install node."),(0,o.kt)("p",null,(0,o.kt)("a",{parentName:"p",href:"https://nodejs.org/en/download/"},"Click to download the LTS version of node right here"),"."),(0,o.kt)("p",null,"After you downloaded node, you can start using us"),(0,o.kt)("p",null,"Running this will install our CLI, which allows you to create a template project without writing a single line of code."),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-shell"},"npm install -g @sern/cli\n")),(0,o.kt)("p",null,"If you want to do more with our CLI, continue reading our guides."))}s.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/runtime~main.64819f60.js b/assets/js/runtime~main.9647cb1a.js similarity index 99% rename from assets/js/runtime~main.64819f60.js rename to assets/js/runtime~main.9647cb1a.js index f16c1fc50..e04a7df91 100644 --- a/assets/js/runtime~main.64819f60.js +++ b/assets/js/runtime~main.9647cb1a.js @@ -1 +1 @@ -(()=>{"use strict";var e,c,a,f,d,b={},t={};function r(e){var c=t[e];if(void 0!==c)return c.exports;var a=t[e]={id:e,loaded:!1,exports:{}};return b[e].call(a.exports,a,a.exports,r),a.loaded=!0,a.exports}r.m=b,r.c=t,e=[],r.O=(c,a,f,d)=>{if(!a){var b=1/0;for(i=0;i=d)&&Object.keys(r.O).every((e=>r.O[e](a[o])))?a.splice(o--,1):(t=!1,d0&&e[i-1][2]>d;i--)e[i]=e[i-1];e[i]=[a,f,d]},r.n=e=>{var c=e&&e.__esModule?()=>e.default:()=>e;return r.d(c,{a:c}),c},a=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,f){if(1&f&&(e=this(e)),8&f)return e;if("object"==typeof e&&e){if(4&f&&e.__esModule)return e;if(16&f&&"function"==typeof e.then)return e}var d=Object.create(null);r.r(d);var b={};c=c||[null,a({}),a([]),a(a)];for(var t=2&f&&e;"object"==typeof t&&!~c.indexOf(t);t=a(t))Object.getOwnPropertyNames(t).forEach((c=>b[c]=()=>e[c]));return b.default=()=>e,r.d(d,b),d},r.d=(e,c)=>{for(var a in c)r.o(c,a)&&!r.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:c[a]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((c,a)=>(r.f[a](e,c),c)),[])),r.u=e=>"assets/js/"+({53:"5bc4ccbc",65:"2f13d849",205:"83d480e9",277:"c4348237",301:"5ae130ee",332:"73bd57bd",371:"edc18331",496:"6cfc4513",533:"b2b675dd",681:"f1cc380d",703:"981f6151",1003:"67e3e25a",1036:"c0846785",1198:"476a0444",1472:"cf183316",1477:"b2f554cd",1505:"7c2ff145",1713:"a7023ddc",2005:"1ac1bfe9",2072:"67348500",2129:"1c127a4d",2197:"935f2afb",2255:"beef0c9d",2535:"814f3328",2640:"a96c96b0",3012:"3a25b5a8",3045:"888566f1",3085:"1f391b9e",3089:"a6aa9e1f",3173:"2caf5b7a",3247:"7f2ac8b7",3255:"53944420",3462:"6ff82968",3608:"9e4087bc",3650:"425cbb82",3864:"57fe7727",4e3:"701614d9",4009:"79e7cc44",4013:"01a85c17",4137:"1aef51bd",4195:"c4f5d8e4",4252:"8a062262",4332:"6c624b4c",4429:"eea0bf40",4461:"a3030d1c",4626:"d9ea5336",4685:"cfb1619e",4781:"e2a53654",4803:"9201de17",4865:"e8e3d8c7",4932:"a0fd2c7a",5062:"69369ae2",5397:"312c2bc5",5433:"9f1290f8",5502:"9b620520",5853:"447d9066",6054:"7cd974c8",6103:"ccc49370",6146:"608ca171",6270:"e4877132",6276:"4e28a08b",6322:"a5467962",6393:"e04ffa77",6552:"a0b9ee13",6777:"720cd117",6778:"85456a26",6851:"4279c33d",7127:"7e205c4a",7223:"3020eeee",7254:"97c22b42",7306:"f6aebfbf",7363:"26f1f3a5",7374:"6ba1d2c1",7414:"393be207",7438:"9c021584",7453:"4b098d2e",7597:"5e8c322a",7749:"462b6925",7750:"3a2d3092",7833:"65578b65",7868:"7343edf0",7918:"17896441",7936:"3a0cb3a9",8032:"1b0c702f",8046:"c606405e",8494:"0a33f845",8610:"6875c492",8652:"bcd9df7e",8902:"a4d0ee3e",9012:"3f83d40d",9107:"82cdda05",9187:"295686f2",9226:"707baeff",9248:"9693de07",9476:"90fdad0c",9514:"1be78505",9671:"0e384e19",9712:"3dc7c79a",9881:"f7831d67"}[e]||e)+"."+{53:"1ddd934d",65:"cf23b6e5",205:"eb0254e1",277:"bbd90c09",301:"b793f53e",332:"bdcff2ab",371:"49f8242f",496:"0511b22e",533:"bdaffa1a",681:"e483d8ef",703:"2c047c6d",1003:"2458df00",1036:"7eec0d30",1198:"a21b6830",1472:"cabca74f",1477:"2abb8eda",1505:"ac336ebd",1713:"391f3ab3",2005:"5410b5f0",2072:"16d397dd",2129:"4565dd84",2197:"6ab10a29",2255:"45e2d407",2529:"824aaa15",2535:"002d76df",2640:"adb9b5b6",3012:"9eb67c89",3045:"b736b053",3085:"8c38cce5",3089:"41e3be1f",3173:"bb563f23",3247:"e15f0d38",3255:"8b9ede2a",3462:"bea9bea5",3608:"66639242",3650:"12e99255",3864:"c1442a0b",4e3:"62439e3b",4009:"646068c8",4013:"e1f6e46d",4137:"c68b21db",4195:"e4059570",4252:"4a641105",4332:"8c1af3b3",4429:"263480d0",4461:"7121fe91",4626:"45e2d19f",4685:"afbd870d",4781:"b5a8d196",4803:"5d152ee5",4865:"b7614d2a",4932:"1bf7fefb",4972:"8f7e7193",5062:"40f3e7eb",5397:"1cae9e75",5433:"8eb09160",5502:"6c9f02b6",5853:"fba9524a",6054:"4a71f8ef",6103:"7974c41a",6146:"16600ea2",6270:"a8cdd963",6276:"0a2ff4f7",6322:"e9dabbc6",6393:"a9cee41b",6552:"2b832280",6777:"6db49116",6778:"63786ec6",6851:"0ff26863",7127:"d2e6d827",7223:"5ec7ce89",7254:"b9341fd6",7306:"5e82c7f5",7363:"792ec01a",7374:"e34036ab",7414:"93c2e119",7438:"05d6c764",7453:"9d156457",7540:"0456e07a",7597:"4d60761b",7749:"a634ce0a",7750:"ba775b44",7833:"5ff8848f",7868:"aa0d8eeb",7918:"3625818f",7936:"f98f9b4b",8032:"30ae90a9",8046:"fe6ed0c2",8494:"27cdbeea",8610:"d7a7cd5d",8652:"493a3e7c",8902:"4c49098e",9012:"46c9313e",9107:"834aae73",9187:"55ddc337",9226:"589671c2",9248:"ccbbefb3",9476:"d7f44886",9514:"b1e810d5",9671:"ee46d918",9712:"0ca162d5",9881:"ed87ed42"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,c)=>Object.prototype.hasOwnProperty.call(e,c),f={},d="@sern/website:",r.l=(e,c,a,b)=>{if(f[e])f[e].push(c);else{var t,o;if(void 0!==a)for(var n=document.getElementsByTagName("script"),i=0;i{t.onerror=t.onload=null,clearTimeout(s);var d=f[e];if(delete f[e],t.parentNode&&t.parentNode.removeChild(t),d&&d.forEach((e=>e(a))),c)return c(a)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=l.bind(null,t.onerror),t.onload=l.bind(null,t.onload),o&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="/",r.gca=function(e){return e={17896441:"7918",53944420:"3255",67348500:"2072","5bc4ccbc":"53","2f13d849":"65","83d480e9":"205",c4348237:"277","5ae130ee":"301","73bd57bd":"332",edc18331:"371","6cfc4513":"496",b2b675dd:"533",f1cc380d:"681","981f6151":"703","67e3e25a":"1003",c0846785:"1036","476a0444":"1198",cf183316:"1472",b2f554cd:"1477","7c2ff145":"1505",a7023ddc:"1713","1ac1bfe9":"2005","1c127a4d":"2129","935f2afb":"2197",beef0c9d:"2255","814f3328":"2535",a96c96b0:"2640","3a25b5a8":"3012","888566f1":"3045","1f391b9e":"3085",a6aa9e1f:"3089","2caf5b7a":"3173","7f2ac8b7":"3247","6ff82968":"3462","9e4087bc":"3608","425cbb82":"3650","57fe7727":"3864","701614d9":"4000","79e7cc44":"4009","01a85c17":"4013","1aef51bd":"4137",c4f5d8e4:"4195","8a062262":"4252","6c624b4c":"4332",eea0bf40:"4429",a3030d1c:"4461",d9ea5336:"4626",cfb1619e:"4685",e2a53654:"4781","9201de17":"4803",e8e3d8c7:"4865",a0fd2c7a:"4932","69369ae2":"5062","312c2bc5":"5397","9f1290f8":"5433","9b620520":"5502","447d9066":"5853","7cd974c8":"6054",ccc49370:"6103","608ca171":"6146",e4877132:"6270","4e28a08b":"6276",a5467962:"6322",e04ffa77:"6393",a0b9ee13:"6552","720cd117":"6777","85456a26":"6778","4279c33d":"6851","7e205c4a":"7127","3020eeee":"7223","97c22b42":"7254",f6aebfbf:"7306","26f1f3a5":"7363","6ba1d2c1":"7374","393be207":"7414","9c021584":"7438","4b098d2e":"7453","5e8c322a":"7597","462b6925":"7749","3a2d3092":"7750","65578b65":"7833","7343edf0":"7868","3a0cb3a9":"7936","1b0c702f":"8032",c606405e:"8046","0a33f845":"8494","6875c492":"8610",bcd9df7e:"8652",a4d0ee3e:"8902","3f83d40d":"9012","82cdda05":"9107","295686f2":"9187","707baeff":"9226","9693de07":"9248","90fdad0c":"9476","1be78505":"9514","0e384e19":"9671","3dc7c79a":"9712",f7831d67:"9881"}[e]||e,r.p+r.u(e)},(()=>{var e={1303:0,532:0};r.f.j=(c,a)=>{var f=r.o(e,c)?e[c]:void 0;if(0!==f)if(f)a.push(f[2]);else if(/^(1303|532)$/.test(c))e[c]=0;else{var d=new Promise(((a,d)=>f=e[c]=[a,d]));a.push(f[2]=d);var b=r.p+r.u(c),t=new Error;r.l(b,(a=>{if(r.o(e,c)&&(0!==(f=e[c])&&(e[c]=void 0),f)){var d=a&&("load"===a.type?"missing":a.type),b=a&&a.target&&a.target.src;t.message="Loading chunk "+c+" failed.\n("+d+": "+b+")",t.name="ChunkLoadError",t.type=d,t.request=b,f[1](t)}}),"chunk-"+c,c)}},r.O.j=c=>0===e[c];var c=(c,a)=>{var f,d,b=a[0],t=a[1],o=a[2],n=0;if(b.some((c=>0!==e[c]))){for(f in t)r.o(t,f)&&(r.m[f]=t[f]);if(o)var i=o(r)}for(c&&c(a);n{"use strict";var e,c,a,f,d,b={},t={};function r(e){var c=t[e];if(void 0!==c)return c.exports;var a=t[e]={id:e,loaded:!1,exports:{}};return b[e].call(a.exports,a,a.exports,r),a.loaded=!0,a.exports}r.m=b,r.c=t,e=[],r.O=(c,a,f,d)=>{if(!a){var b=1/0;for(i=0;i=d)&&Object.keys(r.O).every((e=>r.O[e](a[o])))?a.splice(o--,1):(t=!1,d0&&e[i-1][2]>d;i--)e[i]=e[i-1];e[i]=[a,f,d]},r.n=e=>{var c=e&&e.__esModule?()=>e.default:()=>e;return r.d(c,{a:c}),c},a=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,f){if(1&f&&(e=this(e)),8&f)return e;if("object"==typeof e&&e){if(4&f&&e.__esModule)return e;if(16&f&&"function"==typeof e.then)return e}var d=Object.create(null);r.r(d);var b={};c=c||[null,a({}),a([]),a(a)];for(var t=2&f&&e;"object"==typeof t&&!~c.indexOf(t);t=a(t))Object.getOwnPropertyNames(t).forEach((c=>b[c]=()=>e[c]));return b.default=()=>e,r.d(d,b),d},r.d=(e,c)=>{for(var a in c)r.o(c,a)&&!r.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:c[a]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((c,a)=>(r.f[a](e,c),c)),[])),r.u=e=>"assets/js/"+({53:"5bc4ccbc",65:"2f13d849",205:"83d480e9",277:"c4348237",301:"5ae130ee",332:"73bd57bd",371:"edc18331",496:"6cfc4513",533:"b2b675dd",681:"f1cc380d",703:"981f6151",1003:"67e3e25a",1036:"c0846785",1198:"476a0444",1472:"cf183316",1477:"b2f554cd",1505:"7c2ff145",1713:"a7023ddc",2005:"1ac1bfe9",2072:"67348500",2129:"1c127a4d",2197:"935f2afb",2255:"beef0c9d",2535:"814f3328",2640:"a96c96b0",3012:"3a25b5a8",3045:"888566f1",3085:"1f391b9e",3089:"a6aa9e1f",3173:"2caf5b7a",3247:"7f2ac8b7",3255:"53944420",3462:"6ff82968",3608:"9e4087bc",3650:"425cbb82",3864:"57fe7727",4e3:"701614d9",4009:"79e7cc44",4013:"01a85c17",4137:"1aef51bd",4195:"c4f5d8e4",4252:"8a062262",4332:"6c624b4c",4429:"eea0bf40",4461:"a3030d1c",4626:"d9ea5336",4685:"cfb1619e",4781:"e2a53654",4803:"9201de17",4865:"e8e3d8c7",4932:"a0fd2c7a",5062:"69369ae2",5397:"312c2bc5",5433:"9f1290f8",5502:"9b620520",5853:"447d9066",6054:"7cd974c8",6103:"ccc49370",6146:"608ca171",6270:"e4877132",6276:"4e28a08b",6322:"a5467962",6393:"e04ffa77",6552:"a0b9ee13",6777:"720cd117",6778:"85456a26",6851:"4279c33d",7127:"7e205c4a",7223:"3020eeee",7254:"97c22b42",7306:"f6aebfbf",7363:"26f1f3a5",7374:"6ba1d2c1",7414:"393be207",7438:"9c021584",7453:"4b098d2e",7597:"5e8c322a",7749:"462b6925",7750:"3a2d3092",7833:"65578b65",7868:"7343edf0",7918:"17896441",7936:"3a0cb3a9",8032:"1b0c702f",8046:"c606405e",8494:"0a33f845",8610:"6875c492",8652:"bcd9df7e",8902:"a4d0ee3e",9012:"3f83d40d",9107:"82cdda05",9187:"295686f2",9226:"707baeff",9248:"9693de07",9476:"90fdad0c",9514:"1be78505",9671:"0e384e19",9712:"3dc7c79a",9881:"f7831d67"}[e]||e)+"."+{53:"1ddd934d",65:"cf23b6e5",205:"eb0254e1",277:"bbd90c09",301:"b793f53e",332:"bdcff2ab",371:"49f8242f",496:"0511b22e",533:"bdaffa1a",681:"e483d8ef",703:"2c047c6d",1003:"2458df00",1036:"7eec0d30",1198:"a21b6830",1472:"cabca74f",1477:"2abb8eda",1505:"ac336ebd",1713:"391f3ab3",2005:"5410b5f0",2072:"16d397dd",2129:"4565dd84",2197:"6ab10a29",2255:"45e2d407",2529:"824aaa15",2535:"002d76df",2640:"adb9b5b6",3012:"9eb67c89",3045:"b736b053",3085:"8c38cce5",3089:"41e3be1f",3173:"bb563f23",3247:"e15f0d38",3255:"8b9ede2a",3462:"bea9bea5",3608:"66639242",3650:"12e99255",3864:"c1442a0b",4e3:"62439e3b",4009:"646068c8",4013:"e1f6e46d",4137:"c68b21db",4195:"e4059570",4252:"4a641105",4332:"8c1af3b3",4429:"263480d0",4461:"7121fe91",4626:"45e2d19f",4685:"afbd870d",4781:"b5a8d196",4803:"5d152ee5",4865:"b7614d2a",4932:"1bf7fefb",4972:"8f7e7193",5062:"40f3e7eb",5397:"1cae9e75",5433:"8eb09160",5502:"6c9f02b6",5853:"fba9524a",6054:"4a71f8ef",6103:"7974c41a",6146:"16600ea2",6270:"a8cdd963",6276:"0a2ff4f7",6322:"e9dabbc6",6393:"a9cee41b",6552:"2b832280",6777:"6db49116",6778:"63786ec6",6851:"0ff26863",7127:"d2e6d827",7223:"5ec7ce89",7254:"b9341fd6",7306:"5e82c7f5",7363:"792ec01a",7374:"e34036ab",7414:"93c2e119",7438:"05d6c764",7453:"9d156457",7540:"0456e07a",7597:"4d60761b",7749:"a634ce0a",7750:"ba775b44",7833:"5ff8848f",7868:"aa0d8eeb",7918:"3625818f",7936:"f98f9b4b",8032:"30ae90a9",8046:"fe6ed0c2",8494:"27cdbeea",8610:"d7a7cd5d",8652:"493a3e7c",8902:"4c49098e",9012:"46c9313e",9107:"834aae73",9187:"55ddc337",9226:"589671c2",9248:"ccbbefb3",9476:"d7f44886",9514:"b1e810d5",9671:"ee46d918",9712:"66f4ed67",9881:"ed87ed42"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,c)=>Object.prototype.hasOwnProperty.call(e,c),f={},d="@sern/website:",r.l=(e,c,a,b)=>{if(f[e])f[e].push(c);else{var t,o;if(void 0!==a)for(var n=document.getElementsByTagName("script"),i=0;i{t.onerror=t.onload=null,clearTimeout(s);var d=f[e];if(delete f[e],t.parentNode&&t.parentNode.removeChild(t),d&&d.forEach((e=>e(a))),c)return c(a)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=l.bind(null,t.onerror),t.onload=l.bind(null,t.onload),o&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="/",r.gca=function(e){return e={17896441:"7918",53944420:"3255",67348500:"2072","5bc4ccbc":"53","2f13d849":"65","83d480e9":"205",c4348237:"277","5ae130ee":"301","73bd57bd":"332",edc18331:"371","6cfc4513":"496",b2b675dd:"533",f1cc380d:"681","981f6151":"703","67e3e25a":"1003",c0846785:"1036","476a0444":"1198",cf183316:"1472",b2f554cd:"1477","7c2ff145":"1505",a7023ddc:"1713","1ac1bfe9":"2005","1c127a4d":"2129","935f2afb":"2197",beef0c9d:"2255","814f3328":"2535",a96c96b0:"2640","3a25b5a8":"3012","888566f1":"3045","1f391b9e":"3085",a6aa9e1f:"3089","2caf5b7a":"3173","7f2ac8b7":"3247","6ff82968":"3462","9e4087bc":"3608","425cbb82":"3650","57fe7727":"3864","701614d9":"4000","79e7cc44":"4009","01a85c17":"4013","1aef51bd":"4137",c4f5d8e4:"4195","8a062262":"4252","6c624b4c":"4332",eea0bf40:"4429",a3030d1c:"4461",d9ea5336:"4626",cfb1619e:"4685",e2a53654:"4781","9201de17":"4803",e8e3d8c7:"4865",a0fd2c7a:"4932","69369ae2":"5062","312c2bc5":"5397","9f1290f8":"5433","9b620520":"5502","447d9066":"5853","7cd974c8":"6054",ccc49370:"6103","608ca171":"6146",e4877132:"6270","4e28a08b":"6276",a5467962:"6322",e04ffa77:"6393",a0b9ee13:"6552","720cd117":"6777","85456a26":"6778","4279c33d":"6851","7e205c4a":"7127","3020eeee":"7223","97c22b42":"7254",f6aebfbf:"7306","26f1f3a5":"7363","6ba1d2c1":"7374","393be207":"7414","9c021584":"7438","4b098d2e":"7453","5e8c322a":"7597","462b6925":"7749","3a2d3092":"7750","65578b65":"7833","7343edf0":"7868","3a0cb3a9":"7936","1b0c702f":"8032",c606405e:"8046","0a33f845":"8494","6875c492":"8610",bcd9df7e:"8652",a4d0ee3e:"8902","3f83d40d":"9012","82cdda05":"9107","295686f2":"9187","707baeff":"9226","9693de07":"9248","90fdad0c":"9476","1be78505":"9514","0e384e19":"9671","3dc7c79a":"9712",f7831d67:"9881"}[e]||e,r.p+r.u(e)},(()=>{var e={1303:0,532:0};r.f.j=(c,a)=>{var f=r.o(e,c)?e[c]:void 0;if(0!==f)if(f)a.push(f[2]);else if(/^(1303|532)$/.test(c))e[c]=0;else{var d=new Promise(((a,d)=>f=e[c]=[a,d]));a.push(f[2]=d);var b=r.p+r.u(c),t=new Error;r.l(b,(a=>{if(r.o(e,c)&&(0!==(f=e[c])&&(e[c]=void 0),f)){var d=a&&("load"===a.type?"missing":a.type),b=a&&a.target&&a.target.src;t.message="Loading chunk "+c+" failed.\n("+d+": "+b+")",t.name="ChunkLoadError",t.type=d,t.request=b,f[1](t)}}),"chunk-"+c,c)}},r.O.j=c=>0===e[c];var c=(c,a)=>{var f,d,b=a[0],t=a[1],o=a[2],n=0;if(b.some((c=>0!==e[c]))){for(f in t)r.o(t,f)&&(r.m[f]=t[f]);if(o)var i=o(r)}for(c&&c(a);n Blog | sern - Handlers. Redefined. - + @@ -38,7 +38,7 @@ Extend the new CommandExecutabledecorators now unofficially work with modules! Feel free to use TypeScript experimental decorators to augment and customize your classes.

Deprecation Warnings

The next update will bring sern v2 with some important features. Here are some things to watch out for.

Dependencies Update

  • TypeScript has been updated to 4.8.3
  • Discord.js has been upgraded to 14.5
- + \ No newline at end of file diff --git a/blog/1.2.0.html b/blog/1.2.0.html index bd1ff19a6..3592d9ae3 100644 --- a/blog/1.2.0.html +++ b/blog/1.2.0.html @@ -6,7 +6,7 @@ Release 1.2.0 | sern - Handlers. Redefined. - + @@ -17,7 +17,7 @@ Extend the new CommandExecuta I believe that you should build your own structures however you might like and customize to your liking. In addition, decorators now unofficially work with modules! Feel free to use TypeScript experimental decorators to augment and customize your classes.

Deprecation Warnings

The next update will bring sern v2 with some important features. Here are some things to watch out for.

Dependencies Update

  • TypeScript has been updated to 4.8.3
  • Discord.js has been upgraded to 14.5
- + \ No newline at end of file diff --git a/blog/2.0.0.html b/blog/2.0.0.html index 254c7ecca..822252086 100644 --- a/blog/2.0.0.html +++ b/blog/2.0.0.html @@ -6,7 +6,7 @@ Release 2.0.0 | sern - Handlers. Redefined. - + @@ -27,7 +27,7 @@ data structure. Use this wisely as no guarantees are made and crashes can happen CommandType.StringSelect. The remaining SelectMenus are CommandType.RoleSelect, CommandType.ChannelSelect, CommandType.UserSelect, CommandType.MentionableSelect

commands/roleselect.ts
export default commandModule({
type: CommandType.RoleSelect,
execute(ctx) {
ctx.reply('role select')
},
})

In addition, commandModules with ContextMenus have been renamed.

- CommandType.MenuUser, CommandType.MenuMsg 
+ CommandType.CtxUser, CommandType.CtxMsg

Typings Simplification

Pre 2.0:




Post 2.0:

CommandPlugin<T> and EventPlugin<T> typings have also been static'ified, transformed from types to interfaces

Breaking Changes


All deprecation warnings from previous versions have taken effect, and are removed in 2.0.
- type Module = EventModule | CommandModule
+ type AnyModule = EventModule | CommandModule

-export type SpreadParams<T extends (...args: never) => unknown> = (
- args: Parameters<T>[number],
- ) => unknown;

Override type has been removed due to redundancy

- discord.js : 14.5
+ discord.js : 14.7

-typescript: 4.7
+ typescript: 4.9
+ interface Wrapper {
+ readonly defaultPrefix?: string;
+ readonly commands: string;
+ readonly events?: string;
+ readonly containerConfig : {
+ get: (...keys: (keyof Dependencies)[]) => unknown[];
+ }
+}

- interface Wrapper {
- readonly client: Client;
- readonly sernEmitter?: SernEmitter;
- readonly defaultPrefix?: string;
- readonly commands: string;
- readonly events?:
- | string
- | { mod: EventModule; absPath: string }[]
- | (() => { mod: EventModule; absPath: string }[]);
-}
+ DefaultLogger
+ DefaultModuleManager
+ SernEmitter
+ DefaultErrorHandling
+ type Singleton<T> = () => T
+ type Transient<T> = () => () => T;
+ type LogPayload<T = unknown> = { message: T }
+ export const single = <T>() => T
+ export const many = <T>() => () => T

Including the previous section, some names to symbols and data structures were altered to be better represented. view changelog

Context refactoring

The context data structure has been internally altered to represent its dynamics better.

- + \ No newline at end of file diff --git a/blog/2.5.0.html b/blog/2.5.0.html index d2e63f4af..127686dfe 100644 --- a/blog/2.5.0.html +++ b/blog/2.5.0.html @@ -6,7 +6,7 @@ Release 2.5.0 | sern - Handlers. Redefined. - + @@ -15,7 +15,7 @@ Wow! We're increasing our semantic versioning by +0.3.9
What does this mean?

Breaking changes

Deprecations

Reason

  • The naming of plugins was getting too complex. For example, plugin naming evolved into CommandModuleCommandPlugin, CommandModuleEventPlugin and more.
  • I realize that this affects all plugins. I have updated all plugins to match these changes
  • The old way of declaring plugins has been deprecated in favor of newer functions that facilitate and ease typings
- + \ No newline at end of file diff --git a/blog/archive.html b/blog/archive.html index 215a88940..4fceff0d0 100644 --- a/blog/archive.html +++ b/blog/archive.html @@ -6,13 +6,13 @@ Archive | sern - Handlers. Redefined. - + - + \ No newline at end of file diff --git a/blog/getting-started.html b/blog/getting-started.html index b4c770ddc..023d92bdc 100644 --- a/blog/getting-started.html +++ b/blog/getting-started.html @@ -6,7 +6,7 @@ How to get started with sern! | sern - Handlers. Redefined. - + @@ -15,7 +15,7 @@ A: Install the publish extension. Little video:

Q: Any snippet VSCode extension?
A: Yeah, just search sern Snippets made by a verified publisher called Sr Izan (haha yeah me funny!)

Q: HEEEELLLPPPP!!!!
A: Hey, don't panic! We're here to help so, join the Discord. We're trying to get to 100 members!

- + \ No newline at end of file diff --git a/blog/tags.html b/blog/tags.html index 485bafca2..061cf936b 100644 --- a/blog/tags.html +++ b/blog/tags.html @@ -6,13 +6,13 @@ Tags | sern - Handlers. Redefined. - + - + \ No newline at end of file diff --git a/blog/tags/guides.html b/blog/tags/guides.html index 6b423de27..512c7adbf 100644 --- a/blog/tags/guides.html +++ b/blog/tags/guides.html @@ -6,7 +6,7 @@ One post tagged with "guides" | sern - Handlers. Redefined. - + @@ -15,7 +15,7 @@ A: Install the publish extension. Little video:

Q: Any snippet VSCode extension?
A: Yeah, just search sern Snippets made by a verified publisher called Sr Izan (haha yeah me funny!)

Q: HEEEELLLPPPP!!!!
A: Hey, don't panic! We're here to help so, join the Discord. We're trying to get to 100 members!

- + \ No newline at end of file diff --git a/blog/tags/release.html b/blog/tags/release.html index 8fcbbd47e..e9c1b4f9f 100644 --- a/blog/tags/release.html +++ b/blog/tags/release.html @@ -6,7 +6,7 @@ 3 posts tagged with "release" | sern - Handlers. Redefined. - + @@ -35,7 +35,7 @@ Extend the new CommandEx I believe that you should build your own structures however you might like and customize to your liking. In addition, decorators now unofficially work with modules! Feel free to use TypeScript experimental decorators to augment and customize your classes.

Deprecation Warnings

The next update will bring sern v2 with some important features. Here are some things to watch out for.

Dependencies Update

  • TypeScript has been updated to 4.8.3
  • Discord.js has been upgraded to 14.5
- + \ No newline at end of file diff --git a/docs/api.html b/docs/api.html index 192106159..98c8dc299 100644 --- a/docs/api.html +++ b/docs/api.html @@ -6,13 +6,13 @@ @sern/handler | sern - Handlers. Redefined. - +

@sern/handler

Handlers. Redefined.

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

NPM versionNPM downloadsLicense MITdocs.rsLines of code

📜 Installation

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

Why?

  • Most handlers don't support discord.js 14.7+
  • Customizable commands
  • Plug and play or customize to your liking
  • Embraces reactive programming for consistent and reliable backend
  • Customizable logger, error handling, and more
  • Active development and growing community

👀 Quick Look

  • Support for discord.js v14 and all interactions
  • Hybrid commands
  • Lightweight and customizable
  • ESM, CommonJS and TypeScript support
  • A powerful CLI and awesome community-made plugins

👶 Basic Usage

index.js (CommonJS)

// Import the discord.js Client and GatewayIntentBits
const { Client, GatewayIntentBits } = require('discord.js');

// Import Sern namespace
const { Sern } = require('@sern/handler');

// Our configuration file
const { defaultPrefix, token } = require('./config.json');

const client = new Client({
intents: [
GatewayIntentBits.Guilds,
GatewayIntentBits.GuildMembers,
GatewayIntentBits.GuildMessages
]
});
export const useContainer = Sern.makeDependencies({
build: root => root
.add({ '@sern/client': single(client) })
.add({ '@sern/logger': single(new DefaultLogging()) })
});

//View docs for all options
Sern.init({
defaultPrefix: '!', // removing defaultPrefix will shut down text commands
commands: 'src/commands',
// events: 'src/events' (optional),
containerConfig : {
get: useContainer
}
});

client.login(token);

ping.js (CommonJS)

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

exports.default = commandModule({
name: 'ping',
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/CommandExecutable.html b/docs/api/classes/CommandExecutable.html index 4bd59599d..9c1427394 100644 --- a/docs/api/classes/CommandExecutable.html +++ b/docs/api/classes/CommandExecutable.html @@ -6,13 +6,13 @@ Class: CommandExecutable<Type> | sern - Handlers. Redefined. - +

Class: CommandExecutable<Type>

Experimental

Will be refactored / changed in future

Type parameters

NameType
Typeextends CommandType

Constructors

constructor

new CommandExecutable<Type>()

Type parameters

NameType
Typeextends CommandType

Properties

execute

Abstract execute: CommandModuleDefs[Type][``"execute"``]

Defined in

src/handler/sern.ts:121


onEvent

onEvent: ControlPlugin<any[]>[] = []

Defined in

src/handler/sern.ts:120


plugins

plugins: InitPlugin<any[]>[] = []

Defined in

src/handler/sern.ts:119


type

Abstract type: Type

Defined in

src/handler/sern.ts:118

- + \ No newline at end of file diff --git a/docs/api/classes/Context.html b/docs/api/classes/Context.html index 374833711..d75128659 100644 --- a/docs/api/classes/Context.html +++ b/docs/api/classes/Context.html @@ -6,7 +6,7 @@ Class: Context | sern - Handlers. Redefined. - + @@ -18,7 +18,7 @@ Message

Returns CommandType.Slash or the event fired in a Both command was ChatInputCommandInteraction

Returns

Message<boolean>

Defined in

src/handler/structures/context.ts:29


user

get user(): User

If context is holding a message, message.author else, interaction.user

Returns

User

Defined in

src/handler/structures/context.ts:52

Methods

isMessage

isMessage(): boolean

Returns

boolean

Defined in

src/handler/structures/context.ts:82


isSlash

isSlash(): boolean

Returns

boolean

Defined in

src/handler/structures/context.ts:86


reply

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

Parameters

NameType
contentReplyOptions

Returns

Promise<Message<boolean>>

Defined in

src/handler/structures/context.ts:97


wrap

Static wrap(wrappable): Context

Parameters

NameType
wrappableMessage<boolean> | ChatInputCommandInteraction<CacheType>

Returns

Context

Defined in

src/handler/structures/context.ts:90

- + \ No newline at end of file diff --git a/docs/api/classes/DefaultErrorHandling.html b/docs/api/classes/DefaultErrorHandling.html index 0b0e4c189..7680a32b5 100644 --- a/docs/api/classes/DefaultErrorHandling.html +++ b/docs/api/classes/DefaultErrorHandling.html @@ -6,13 +6,13 @@ Class: DefaultErrorHandling | sern - Handlers. Redefined. - +

Class: DefaultErrorHandling

Implements

Constructors

constructor

new DefaultErrorHandling()

Properties

keepAlive

keepAlive: number = 5

Number of times the process should throw an error until crashing and exiting

Implementation of

ErrorHandling.keepAlive

Defined in

src/handler/contracts/errorHandling.ts:24

Methods

crash

crash(error): never

Utility function to crash

Parameters

NameType
errorError

Returns

never

Implementation of

ErrorHandling.crash

Defined in

src/handler/contracts/errorHandling.ts:25


updateAlive

updateAlive(e): void

A function that is called on every crash. Updates keepAlive

Parameters

NameType
eError

Returns

void

Implementation of

ErrorHandling.updateAlive

Defined in

src/handler/contracts/errorHandling.ts:28

- + \ No newline at end of file diff --git a/docs/api/classes/DefaultLogging.html b/docs/api/classes/DefaultLogging.html index ee348695d..e72d682a3 100644 --- a/docs/api/classes/DefaultLogging.html +++ b/docs/api/classes/DefaultLogging.html @@ -6,13 +6,13 @@ Class: DefaultLogging | sern - Handlers. Redefined. - +

Class: DefaultLogging

Implements

Constructors

constructor

new DefaultLogging()

Methods

date

Private date(): Date

Returns

Date

Defined in

src/handler/contracts/logging.ts:11


debug

debug(payload): void

Parameters

NameType
payloadLogPayload<unknown>

Returns

void

Implementation of

Logging.debug

Defined in

src/handler/contracts/logging.ts:12


error

error(payload): void

Parameters

NameType
payloadLogPayload<unknown>

Returns

void

Implementation of

Logging.error

Defined in

src/handler/contracts/logging.ts:16


info

info(payload): void

Parameters

NameType
payloadLogPayload<unknown>

Returns

void

Implementation of

Logging.info

Defined in

src/handler/contracts/logging.ts:20


warning

warning(payload): void

Parameters

NameType
payloadLogPayload<unknown>

Returns

void

Implementation of

Logging.warning

Defined in

src/handler/contracts/logging.ts:24

- + \ No newline at end of file diff --git a/docs/api/classes/DefaultModuleManager.html b/docs/api/classes/DefaultModuleManager.html index fa4e5d324..973b7d9a4 100644 --- a/docs/api/classes/DefaultModuleManager.html +++ b/docs/api/classes/DefaultModuleManager.html @@ -6,13 +6,13 @@ Class: DefaultModuleManager | sern - Handlers. Redefined. - +

Class: DefaultModuleManager

Implements

Constructors

constructor

new DefaultModuleManager(moduleStore)

Parameters

NameType
moduleStoreModuleStore

Defined in

src/handler/contracts/moduleManager.ts:13

Methods

get

get<T>(strat): undefined | Processed<CommandModuleDefs[T]>

Type parameters

NameType
Textends CommandType

Parameters

NameType
strat(ms: ModuleStore) => undefined | Processed<CommandModuleDefs[T]>

Returns

undefined | Processed<CommandModuleDefs[T]>

Implementation of

ModuleManager.get

Defined in

src/handler/contracts/moduleManager.ts:14


set

set(strat): void

Parameters

NameType
strat(ms: ModuleStore) => void

Returns

void

Implementation of

ModuleManager.set

Defined in

src/handler/contracts/moduleManager.ts:20

- + \ No newline at end of file diff --git a/docs/api/classes/EventExecutable.html b/docs/api/classes/EventExecutable.html index 971b01703..cd3bfddff 100644 --- a/docs/api/classes/EventExecutable.html +++ b/docs/api/classes/EventExecutable.html @@ -6,13 +6,13 @@ Class: EventExecutable<Type> | sern - Handlers. Redefined. - +

Class: EventExecutable<Type>

Experimental

Will be refactored in future

Type parameters

NameType
Typeextends EventType

Constructors

constructor

new EventExecutable<Type>()

Type parameters

NameType
Typeextends EventType

Properties

execute

Abstract execute: EventModuleDefs[Type][``"execute"``]

Defined in

src/handler/sern.ts:130


onEvent

onEvent: ControlPlugin<any[]>[] = []

Defined in

src/handler/sern.ts:129


plugins

plugins: InitPlugin<any[]>[] = []

Defined in

src/handler/sern.ts:128


type

Abstract type: Type

Defined in

src/handler/sern.ts:127

- + \ No newline at end of file diff --git a/docs/api/classes/ModuleStore.html b/docs/api/classes/ModuleStore.html index f49c61d81..33685982d 100644 --- a/docs/api/classes/ModuleStore.html +++ b/docs/api/classes/ModuleStore.html @@ -6,14 +6,14 @@ Class: ModuleStore | sern - Handlers. Redefined. - +

Class: ModuleStore

Storing all command modules This dependency is usually injected into ModuleManager

Constructors

constructor

new ModuleStore()

Properties

ApplicationCommands

Readonly ApplicationCommands: Object

Type declaration

NameType
1Map<string, Processed<CommandModule>>
2Map<string, Processed<CommandModule>>
3Map<string, Processed<CommandModule>>

Defined in

src/handler/structures/moduleStore.ts:11


BothCommands

Readonly BothCommands: Map<string, Processed<CommandModule>>

Defined in

src/handler/structures/moduleStore.ts:10


InteractionHandlers

Readonly InteractionHandlers: Object

Type declaration

NameType
2Map<string, Processed<CommandModule>>
3Map<string, Processed<CommandModule>>
5Map<string, Processed<CommandModule>>
6Map<string, Processed<CommandModule>>
7Map<string, Processed<CommandModule>>
8Map<string, Processed<CommandModule>>

Defined in

src/handler/structures/moduleStore.ts:18


ModalSubmit

Readonly ModalSubmit: Map<string, Processed<CommandModule>>

Defined in

src/handler/structures/moduleStore.ts:16


TextCommands

Readonly TextCommands: Map<string, Processed<CommandModule>>

Defined in

src/handler/structures/moduleStore.ts:17

- + \ No newline at end of file diff --git a/docs/api/classes/SernEmitter.html b/docs/api/classes/SernEmitter.html index b062baa4a..bbce0f576 100644 --- a/docs/api/classes/SernEmitter.html +++ b/docs/api/classes/SernEmitter.html @@ -6,7 +6,7 @@ Class: SernEmitter | sern - Handlers. Redefined. - + @@ -50,7 +50,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
emitter_NodeEventTarget
eventNamestring | symbol
options?StaticEventEmitterOptions

Returns

Promise<any[]>

Inherited from

EventEmitter.once

Defined in

node_modules/.pnpm/@types+node@18.11.18/node_modules/@types/node/ts4.8/events.d.ts:194

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

Parameters

NameType
emitter_DOMEventTarget
eventNamestring
options?StaticEventEmitterOptions

Returns

Promise<any[]>

Inherited from

EventEmitter.once

Defined in

node_modules/.pnpm/@types+node@18.11.18/node_modules/@types/node/ts4.8/events.d.ts:195

Static once<E, K>(eventEmitter, eventName): Promise<E extends Client<boolean> ? ClientEvents[K] : any[]>

Type parameters

NameType
Eextends __module
Kextends keyof ClientEvents

Parameters

NameType
eventEmitterE
eventNameE extends Client<boolean> ? K : string

Returns

Promise<E extends Client<boolean> ? ClientEvents[K] : any[]>

Inherited from

EventEmitter.once

Defined in

node_modules/.pnpm/discord.js@14.7.1/node_modules/discord.js/typings/index.d.ts:218


payload

Static Private payload<T>(type, module?, reason?): T

Type parameters

NameType
Textends Payload

Parameters

NameType
typePayloadType
module?Module
reason?unknown

Returns

T

Defined in

src/handler/sernEmitter.ts:40


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/.pnpm/@types+node@18.11.18/node_modules/@types/node/ts4.8/events.d.ts:317


success

Static success(module): { module: AnyModule ; type: Success } & { type: Success } & never & never

Creates a compliant SernEmitter module success payload

Parameters

NameType
moduleModule

Returns

{ module: AnyModule ; type: Success } & { type: Success } & never & never

Defined in

src/handler/sernEmitter.ts:66


warning

Static warning(reason): never & never & { reason: string ; type: Warning } & { type: Warning }

Creates a compliant SernEmitter module warning payload

Parameters

NameType
reasonunknown

Returns

never & never & { reason: string ; type: Warning } & { type: Warning }

Defined in

src/handler/sernEmitter.ts:76

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

Enumeration: CommandType

A bitfield that discriminates command modules

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:28


Button

Button = 16

The CommandType for ButtonInteraction commands

Defined in

src/handler/structures/enums.ts:40


ChannelSelect

ChannelSelect = 256

The CommandType for the other SelectMenuInteractions

Defined in

src/handler/structures/enums.ts:52


CtxMsg

CtxMsg = 8

The CommandType for MessageContextMenuInteraction commands

Defined in

src/handler/structures/enums.ts:36


CtxUser

CtxUser = 4

The CommandType for UserContextMenuInteraction commands

Defined in

src/handler/structures/enums.ts:32


MentionableSelect

MentionableSelect = 512

Defined in

src/handler/structures/enums.ts:53


Modal = 64

The CommandType for ModalSubmitInteraction commands

Defined in

src/handler/structures/enums.ts:48


RoleSelect

RoleSelect = 1024

Defined in

src/handler/structures/enums.ts:54


Slash

Slash = 2

The CommandType for slash commands

Defined in

src/handler/structures/enums.ts:24


StringSelect

StringSelect = 32

The CommandType for StringSelectMenuInteraction commands

Defined in

src/handler/structures/enums.ts:44


Text

Text = 1

The CommandType for text commands

Defined in

src/handler/structures/enums.ts:20


UserSelect

UserSelect = 2048

Defined in

src/handler/structures/enums.ts:55

- + \ No newline at end of file diff --git a/docs/api/enums/EventType.html b/docs/api/enums/EventType.html index e1dd56968..0cdaebbc9 100644 --- a/docs/api/enums/EventType.html +++ b/docs/api/enums/EventType.html @@ -6,14 +6,14 @@ Enumeration: EventType | sern - Handlers. Redefined. - +

Enumeration: EventType

A bitfield that discriminates event modules

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:77


External

External = 3

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

Defined in

src/handler/structures/enums.ts:86


Sern

Sern = 2

The EventType for handling sern events

Defined in

src/handler/structures/enums.ts:81

- + \ No newline at end of file diff --git a/docs/api/enums/PayloadType.html b/docs/api/enums/PayloadType.html index 18e56957f..010c54af9 100644 --- a/docs/api/enums/PayloadType.html +++ b/docs/api/enums/PayloadType.html @@ -6,13 +6,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 0b9436d8e..2135eedaf 100644 --- a/docs/api/enums/PluginType.html +++ b/docs/api/enums/PluginType.html @@ -6,13 +6,13 @@ Enumeration: PluginType | sern - Handlers. Redefined. - +

Enumeration: PluginType

A bitfield that discriminates plugins

Example

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

Enumeration Members

Command

Command = 1

Deprecated

Use PluginType.Init instead

Defined in

src/handler/structures/enums.ts:112


Control

Control = 2

The PluginType for EventPlugins

Defined in

src/handler/structures/enums.ts:121


Event

Event = 2

Deprecated

Use PluginType.Control instead

Defined in

src/handler/structures/enums.ts:117


Init

Init = 1

The PluginType for InitPlugins

Defined in

src/handler/structures/enums.ts:107

- + \ No newline at end of file diff --git a/docs/api/enums/SernError.html b/docs/api/enums/SernError.html index 765019e12..cd34dc7a0 100644 --- a/docs/api/enums/SernError.html +++ b/docs/api/enums/SernError.html @@ -6,14 +6,14 @@ Enumeration: SernError | sern - Handlers. Redefined. - +

Enumeration: SernError

Enumeration Members

InvalidModuleType

InvalidModuleType = "Detected an unknown module type"

Throws when registering an invalid module. This means it is undefined or an invalid command type was provided

Defined in

src/handler/structures/errors.ts:9


MismatchEvent

MismatchEvent = "You cannot use message when an interaction fired or vice versa"

A crash that occurs when accessing an invalid property of Context

Defined in

src/handler/structures/errors.ts:29


MismatchModule

MismatchModule = "A module type mismatched with event emitted!"

Attempted to lookup module in command module store. Nothing was found!

Defined in

src/handler/structures/errors.ts:17


MissingRequired

MissingRequired = "@sern/client is required but was not found"

Required Dependency not found

Defined in

src/handler/structures/errors.ts:37


NotSupportedInteraction

NotSupportedInteraction = "This interaction is not supported."

Unsupported interaction at this moment.

Defined in

src/handler/structures/errors.ts:21


NotSupportedYet

NotSupportedYet = "This feature is not supported yet"

Unsupported feature attempted to access at this time

Defined in

src/handler/structures/errors.ts:33


PluginFailure

PluginFailure = "A plugin failed to call controller.next()"

One plugin called controller.stop() (end command execution / loading)

Defined in

src/handler/structures/errors.ts:25


UndefinedModule

UndefinedModule = "A module could not be detected"

Attempted to lookup module in command module store. Nothing was found!

Defined in

src/handler/structures/errors.ts:13

- + \ No newline at end of file diff --git a/docs/api/interfaces/AutocompleteCommand.html b/docs/api/interfaces/AutocompleteCommand.html index 6715e4848..eb2d33935 100644 --- a/docs/api/interfaces/AutocompleteCommand.html +++ b/docs/api/interfaces/AutocompleteCommand.html @@ -6,13 +6,13 @@ Interface: AutocompleteCommand | sern - Handlers. Redefined. - + - + \ No newline at end of file diff --git a/docs/api/interfaces/AutocompletePlugin.html b/docs/api/interfaces/AutocompletePlugin.html index f95bab393..d5fe5dd13 100644 --- a/docs/api/interfaces/AutocompletePlugin.html +++ b/docs/api/interfaces/AutocompletePlugin.html @@ -6,13 +6,13 @@ Interface: AutocompletePlugin | sern - Handlers. Redefined. - +

Interface: AutocompletePlugin

Hierarchy

Properties

description

Optional description: string

Deprecated

will be removed in the next update

Inherited from

Plugin.description

Defined in

src/handler/plugins/plugin.ts:33


execute

execute: (autocmp: AutocompleteInteraction<CacheType>, controlller: Controller) => Awaitable<Result<void, void>>

Type declaration

▸ (autocmp, controlller): Awaitable<Result<void, void>>

Parameters
NameType
autocmpAutocompleteInteraction<CacheType>
controlllerController
Returns

Awaitable<Result<void, void>>

Defined in

src/handler/plugins/plugin.ts:73


name

Optional name: string

Deprecated

will be removed in the next update

Inherited from

Plugin.name

Defined in

src/handler/plugins/plugin.ts:31


type

type: Event

Overrides

Plugin.type

Defined in

src/handler/plugins/plugin.ts:72

- + \ No newline at end of file diff --git a/docs/api/interfaces/BothCommand.html b/docs/api/interfaces/BothCommand.html index d9767e2eb..47683afc4 100644 --- a/docs/api/interfaces/BothCommand.html +++ b/docs/api/interfaces/BothCommand.html @@ -6,13 +6,13 @@ Interface: BothCommand | sern - Handlers. Redefined. - +

Interface: BothCommand

Hierarchy

Properties

alias

Optional alias: string[]

Defined in

src/types/module.ts:57


description

description: string

Overrides

Module.description

Defined in

src/types/module.ts:58


execute

execute: (ctx: Context, args: Args) => unknown

Type declaration

▸ (ctx, args): unknown

Parameters
NameType
ctxContext
argsArgs
Returns

unknown

Overrides

Module.execute

Defined in

src/types/module.ts:60


name

Optional name: string

Inherited from

Module.name

Defined in

src/types/module.ts:35


onEvent

onEvent: ControlPlugin<any[]>[]

Inherited from

Module.onEvent

Defined in

src/types/module.ts:36


options

Optional options: (SernSubCommandData | SernSubCommandGroupData | BaseOptions)[]

Defined in

src/types/module.ts:59


plugins

plugins: InitPlugin<any[]>[]

Inherited from

Module.plugins

Defined in

src/types/module.ts:37


type

type: Both

Overrides

Module.type

Defined in

src/types/module.ts:56

- + \ No newline at end of file diff --git a/docs/api/interfaces/ButtonCommand.html b/docs/api/interfaces/ButtonCommand.html index 540f47665..af49d4654 100644 --- a/docs/api/interfaces/ButtonCommand.html +++ b/docs/api/interfaces/ButtonCommand.html @@ -6,13 +6,13 @@ Interface: ButtonCommand | sern - Handlers. Redefined. - +

Interface: ButtonCommand

Hierarchy

Properties

description

Optional description: string

Inherited from

Module.description

Defined in

src/types/module.ts:38


execute

execute: (ctx: ButtonInteraction<CacheType>) => unknown

Type declaration

▸ (ctx): unknown

Parameters
NameType
ctxButtonInteraction<CacheType>
Returns

unknown

Overrides

Module.execute

Defined in

src/types/module.ts:75


name

Optional name: string

Inherited from

Module.name

Defined in

src/types/module.ts:35


onEvent

onEvent: ControlPlugin<any[]>[]

Inherited from

Module.onEvent

Defined in

src/types/module.ts:36


plugins

plugins: InitPlugin<any[]>[]

Inherited from

Module.plugins

Defined in

src/types/module.ts:37


type

type: Button

Overrides

Module.type

Defined in

src/types/module.ts:74

- + \ No newline at end of file diff --git a/docs/api/interfaces/ChannelSelectCommand.html b/docs/api/interfaces/ChannelSelectCommand.html index d1ca5106b..413e81f54 100644 --- a/docs/api/interfaces/ChannelSelectCommand.html +++ b/docs/api/interfaces/ChannelSelectCommand.html @@ -6,13 +6,13 @@ Interface: ChannelSelectCommand | sern - Handlers. Redefined. - +

Interface: ChannelSelectCommand

Hierarchy

  • Module

    ChannelSelectCommand

Properties

description

Optional description: string

Inherited from

Module.description

Defined in

src/types/module.ts:38


execute

execute: (ctx: ChannelSelectMenuInteraction<CacheType>) => unknown

Type declaration

▸ (ctx): unknown

Parameters
NameType
ctxChannelSelectMenuInteraction<CacheType>
Returns

unknown

Overrides

Module.execute

Defined in

src/types/module.ts:85


name

Optional name: string

Inherited from

Module.name

Defined in

src/types/module.ts:35


onEvent

onEvent: ControlPlugin<any[]>[]

Inherited from

Module.onEvent

Defined in

src/types/module.ts:36


plugins

plugins: InitPlugin<any[]>[]

Inherited from

Module.plugins

Defined in

src/types/module.ts:37


type

type: ChannelSelect

Overrides

Module.type

Defined in

src/types/module.ts:84

- + \ No newline at end of file diff --git a/docs/api/interfaces/CommandPlugin.html b/docs/api/interfaces/CommandPlugin.html index ba301d15b..2f8555609 100644 --- a/docs/api/interfaces/CommandPlugin.html +++ b/docs/api/interfaces/CommandPlugin.html @@ -6,13 +6,13 @@ Interface: CommandPlugin<T> | sern - Handlers. Redefined. - +

Interface: CommandPlugin<T>

Deprecated

Use the newer helper functions and import { controller } from '@sern/handler'

Type parameters

NameType
Textends CommandType = CommandType

Properties

description

Optional description: string

Defined in

src/types/plugin.ts:51


execute

execute: (m: InitArgs<Processed<CommandModule>>, controller?: Deprecated<"Please import controller instead">) => PluginResult

Type declaration

▸ (m, controller?): PluginResult

Parameters
NameType
mInitArgs<Processed<CommandModule>>
controller?Deprecated<"Please import controller instead">
Returns

PluginResult

Defined in

src/types/plugin.ts:53


name

Optional name: string

Defined in

src/types/plugin.ts:50


type

type: Init

Defined in

src/types/plugin.ts:52

- + \ No newline at end of file diff --git a/docs/api/interfaces/ContextMenuMsg.html b/docs/api/interfaces/ContextMenuMsg.html index ea7b23243..39b93b80c 100644 --- a/docs/api/interfaces/ContextMenuMsg.html +++ b/docs/api/interfaces/ContextMenuMsg.html @@ -6,13 +6,13 @@ Interface: ContextMenuMsg | sern - Handlers. Redefined. - +

Interface: ContextMenuMsg

Hierarchy

Properties

description

Optional description: string

Inherited from

Module.description

Defined in

src/types/module.ts:38


execute

execute: (ctx: MessageContextMenuCommandInteraction<CacheType>) => unknown

Type declaration

▸ (ctx): unknown

Parameters
NameType
ctxMessageContextMenuCommandInteraction<CacheType>
Returns

unknown

Overrides

Module.execute

Defined in

src/types/module.ts:70


name

Optional name: string

Inherited from

Module.name

Defined in

src/types/module.ts:35


onEvent

onEvent: ControlPlugin<any[]>[]

Inherited from

Module.onEvent

Defined in

src/types/module.ts:36


plugins

plugins: InitPlugin<any[]>[]

Inherited from

Module.plugins

Defined in

src/types/module.ts:37


type

type: CtxMsg

Overrides

Module.type

Defined in

src/types/module.ts:69

- + \ No newline at end of file diff --git a/docs/api/interfaces/ContextMenuUser.html b/docs/api/interfaces/ContextMenuUser.html index 9bc85fede..e4f45a74b 100644 --- a/docs/api/interfaces/ContextMenuUser.html +++ b/docs/api/interfaces/ContextMenuUser.html @@ -6,13 +6,13 @@ Interface: ContextMenuUser | sern - Handlers. Redefined. - +

Interface: ContextMenuUser

Hierarchy

Properties

description

Optional description: string

Inherited from

Module.description

Defined in

src/types/module.ts:38


execute

execute: (ctx: UserContextMenuCommandInteraction<CacheType>) => unknown

Type declaration

▸ (ctx): unknown

Parameters
NameType
ctxUserContextMenuCommandInteraction<CacheType>
Returns

unknown

Overrides

Module.execute

Defined in

src/types/module.ts:65


name

Optional name: string

Inherited from

Module.name

Defined in

src/types/module.ts:35


onEvent

onEvent: ControlPlugin<any[]>[]

Inherited from

Module.onEvent

Defined in

src/types/module.ts:36


plugins

plugins: InitPlugin<any[]>[]

Inherited from

Module.plugins

Defined in

src/types/module.ts:37


type

type: CtxUser

Overrides

Module.type

Defined in

src/types/module.ts:64

- + \ No newline at end of file diff --git a/docs/api/interfaces/ControlPlugin.html b/docs/api/interfaces/ControlPlugin.html index 8bda4ca93..57850ee23 100644 --- a/docs/api/interfaces/ControlPlugin.html +++ b/docs/api/interfaces/ControlPlugin.html @@ -6,13 +6,13 @@ Interface: ControlPlugin<Args> | sern - Handlers. Redefined. - + - + \ No newline at end of file diff --git a/docs/api/interfaces/Controller.html b/docs/api/interfaces/Controller.html index 779d8bee4..e1247bbdf 100644 --- a/docs/api/interfaces/Controller.html +++ b/docs/api/interfaces/Controller.html @@ -6,13 +6,13 @@ Interface: Controller | sern - Handlers. Redefined. - + - + \ No newline at end of file diff --git a/docs/api/interfaces/Dependencies.html b/docs/api/interfaces/Dependencies.html index 4df5533b9..362efebec 100644 --- a/docs/api/interfaces/Dependencies.html +++ b/docs/api/interfaces/Dependencies.html @@ -6,13 +6,13 @@ Interface: Dependencies | sern - Handlers. Redefined. - +
- + \ No newline at end of file diff --git a/docs/api/interfaces/DependencyConfiguration.html b/docs/api/interfaces/DependencyConfiguration.html index 6cae93c1a..b3d79db87 100644 --- a/docs/api/interfaces/DependencyConfiguration.html +++ b/docs/api/interfaces/DependencyConfiguration.html @@ -6,13 +6,13 @@ Interface: DependencyConfiguration<T> | sern - Handlers. Redefined. - + - + \ No newline at end of file diff --git a/docs/api/interfaces/DiscordEmitterPlugin.html b/docs/api/interfaces/DiscordEmitterPlugin.html index cfaa7d16b..5c92b2876 100644 --- a/docs/api/interfaces/DiscordEmitterPlugin.html +++ b/docs/api/interfaces/DiscordEmitterPlugin.html @@ -6,13 +6,13 @@ Interface: DiscordEmitterPlugin | sern - Handlers. Redefined. - +

Interface: DiscordEmitterPlugin

Hierarchy

  • Plugin

    DiscordEmitterPlugin

Properties

description

Optional description: string

Deprecated

will be removed in the next update

Inherited from

Plugin.description

Defined in

src/handler/plugins/plugin.ts:33


execute

execute: (payload: { absPath: string ; mod: DiscordEventCommand<keyof ClientEvents> & { name: string } }, controller: Controller) => Awaitable<Result<void, void>>

Type declaration

▸ (payload, controller): Awaitable<Result<void, void>>

Parameters
NameType
payloadObject
payload.absPathstring
payload.modDiscordEventCommand<keyof ClientEvents> & { name: string }
controllerController
Returns

Awaitable<Result<void, void>>

Defined in

src/handler/plugins/plugin.ts:49


name

Optional name: string

Deprecated

will be removed in the next update

Inherited from

Plugin.name

Defined in

src/handler/plugins/plugin.ts:31


type

type: Command

Overrides

Plugin.type

Defined in

src/handler/plugins/plugin.ts:48

- + \ No newline at end of file diff --git a/docs/api/interfaces/DiscordEventCommand.html b/docs/api/interfaces/DiscordEventCommand.html index 05d6d51dc..135c3b24c 100644 --- a/docs/api/interfaces/DiscordEventCommand.html +++ b/docs/api/interfaces/DiscordEventCommand.html @@ -6,13 +6,13 @@ Interface: DiscordEventCommand<T> | sern - Handlers. Redefined. - +

Interface: DiscordEventCommand<T>

Type parameters

NameType
Textends keyof ClientEvents = keyof ClientEvents

Hierarchy

Properties

description

Optional description: string

Inherited from

Module.description

Defined in

src/types/module.ts:38


name

Optional name: T

Overrides

Module.name

Defined in

src/types/module.ts:123


onEvent

onEvent: ControlPlugin<any[]>[]

Inherited from

Module.onEvent

Defined in

src/types/module.ts:36


plugins

plugins: InitPlugin<any[]>[]

Inherited from

Module.plugins

Defined in

src/types/module.ts:37


type

type: Discord

Overrides

Module.type

Defined in

src/types/module.ts:124

Methods

execute

execute(...args): unknown

Parameters

NameType
...argsClientEvents[T]

Returns

unknown

Overrides

Module.execute

Defined in

src/types/module.ts:125

- + \ No newline at end of file diff --git a/docs/api/interfaces/DiscordEventPlugin.html b/docs/api/interfaces/DiscordEventPlugin.html index 6480db649..eb9e41199 100644 --- a/docs/api/interfaces/DiscordEventPlugin.html +++ b/docs/api/interfaces/DiscordEventPlugin.html @@ -6,13 +6,13 @@ Interface: DiscordEventPlugin<T> | sern - Handlers. Redefined. - +

Interface: DiscordEventPlugin<T>

Type parameters

NameType
Textends keyof ClientEvents = keyof ClientEvents

Hierarchy

Properties

description

Optional description: string

Deprecated

will be removed in the next update

Inherited from

Plugin.description

Defined in

src/handler/plugins/plugin.ts:33


execute

execute: (args: ClientEvents[T], controller: Controller) => Awaitable<Result<void, void>>

Type declaration

▸ (args, controller): Awaitable<Result<void, void>>

Parameters
NameType
argsClientEvents[T]
controllerController
Returns

Awaitable<Result<void, void>>

Defined in

src/handler/plugins/plugin.ts:105


name

Optional name: T

Deprecated

will be removed in the next update

Overrides

Plugin.name

Defined in

src/handler/plugins/plugin.ts:103


type

type: Event

Overrides

Plugin.type

Defined in

src/handler/plugins/plugin.ts:104

- + \ No newline at end of file diff --git a/docs/api/interfaces/ErrorHandling.html b/docs/api/interfaces/ErrorHandling.html index 902b2138f..0de78670a 100644 --- a/docs/api/interfaces/ErrorHandling.html +++ b/docs/api/interfaces/ErrorHandling.html @@ -6,13 +6,13 @@ Interface: ErrorHandling | sern - Handlers. Redefined. - +
- + \ No newline at end of file diff --git a/docs/api/interfaces/EventPlugin.html b/docs/api/interfaces/EventPlugin.html index 2d08e52a1..2c502c4aa 100644 --- a/docs/api/interfaces/EventPlugin.html +++ b/docs/api/interfaces/EventPlugin.html @@ -6,13 +6,13 @@ Interface: EventPlugin<T> | sern - Handlers. Redefined. - +
- + \ No newline at end of file diff --git a/docs/api/interfaces/ExternalEmitterPlugin.html b/docs/api/interfaces/ExternalEmitterPlugin.html index 83e8c0f7a..ff34d05a3 100644 --- a/docs/api/interfaces/ExternalEmitterPlugin.html +++ b/docs/api/interfaces/ExternalEmitterPlugin.html @@ -6,13 +6,13 @@ Interface: ExternalEmitterPlugin | sern - Handlers. Redefined. - +

Interface: ExternalEmitterPlugin

Hierarchy

  • Plugin

    ExternalEmitterPlugin

Properties

description

Optional description: string

Deprecated

will be removed in the next update

Inherited from

Plugin.description

Defined in

src/handler/plugins/plugin.ts:33


execute

execute: (payload: { absPath: string ; mod: ExternalEventCommand & { name: string } }, controller: Controller) => Awaitable<Result<void, void>>

Type declaration

▸ (payload, controller): Awaitable<Result<void, void>>

Parameters
NameType
payloadObject
payload.absPathstring
payload.modExternalEventCommand & { name: string }
controllerController
Returns

Awaitable<Result<void, void>>

Defined in

src/handler/plugins/plugin.ts:57


name

Optional name: string

Deprecated

will be removed in the next update

Inherited from

Plugin.name

Defined in

src/handler/plugins/plugin.ts:31


type

type: Command

Overrides

Plugin.type

Defined in

src/handler/plugins/plugin.ts:56

- + \ No newline at end of file diff --git a/docs/api/interfaces/ExternalEventCommand.html b/docs/api/interfaces/ExternalEventCommand.html index fc15606a8..7a06b7054 100644 --- a/docs/api/interfaces/ExternalEventCommand.html +++ b/docs/api/interfaces/ExternalEventCommand.html @@ -6,13 +6,13 @@ Interface: ExternalEventCommand | sern - Handlers. Redefined. - +

Interface: ExternalEventCommand

Hierarchy

  • Module

    ExternalEventCommand

Properties

description

Optional description: string

Inherited from

Module.description

Defined in

src/types/module.ts:38


emitter

emitter: string

Defined in

src/types/module.ts:130


name

Optional name: string

Overrides

Module.name

Defined in

src/types/module.ts:129


onEvent

onEvent: ControlPlugin<any[]>[]

Inherited from

Module.onEvent

Defined in

src/types/module.ts:36


plugins

plugins: InitPlugin<any[]>[]

Inherited from

Module.plugins

Defined in

src/types/module.ts:37


type

type: External

Overrides

Module.type

Defined in

src/types/module.ts:131

Methods

execute

execute(...args): unknown

Parameters

NameType
...argsunknown[]

Returns

unknown

Overrides

Module.execute

Defined in

src/types/module.ts:132

- + \ No newline at end of file diff --git a/docs/api/interfaces/ExternalEventPlugin.html b/docs/api/interfaces/ExternalEventPlugin.html index 9dc6931c8..ee9200f56 100644 --- a/docs/api/interfaces/ExternalEventPlugin.html +++ b/docs/api/interfaces/ExternalEventPlugin.html @@ -6,13 +6,13 @@ Interface: ExternalEventPlugin | sern - Handlers. Redefined. - +

Interface: ExternalEventPlugin

Hierarchy

Properties

description

Optional description: string

Deprecated

will be removed in the next update

Inherited from

Plugin.description

Defined in

src/handler/plugins/plugin.ts:33


execute

execute: (args: unknown[], controller: Controller) => Awaitable<Result<void, void>>

Type declaration

▸ (args, controller): Awaitable<Result<void, void>>

Parameters
NameType
argsunknown[]
controllerController
Returns

Awaitable<Result<void, void>>

Defined in

src/handler/plugins/plugin.ts:99


name

Optional name: string

Deprecated

will be removed in the next update

Inherited from

Plugin.name

Defined in

src/handler/plugins/plugin.ts:31


type

type: Event

Overrides

Plugin.type

Defined in

src/handler/plugins/plugin.ts:98

- + \ No newline at end of file diff --git a/docs/api/interfaces/InitArgs.html b/docs/api/interfaces/InitArgs.html index 6691cce6a..544df21b1 100644 --- a/docs/api/interfaces/InitArgs.html +++ b/docs/api/interfaces/InitArgs.html @@ -6,13 +6,13 @@ Interface: InitArgs<T> | sern - Handlers. Redefined. - + - + \ No newline at end of file diff --git a/docs/api/interfaces/InitPlugin.html b/docs/api/interfaces/InitPlugin.html index fdd10ae82..057c663ed 100644 --- a/docs/api/interfaces/InitPlugin.html +++ b/docs/api/interfaces/InitPlugin.html @@ -6,13 +6,13 @@ Interface: InitPlugin<Args> | sern - Handlers. Redefined. - + - + \ No newline at end of file diff --git a/docs/api/interfaces/Logging.html b/docs/api/interfaces/Logging.html index 848ed124b..9c7044a23 100644 --- a/docs/api/interfaces/Logging.html +++ b/docs/api/interfaces/Logging.html @@ -6,13 +6,13 @@ Interface: Logging<T> | sern - Handlers. Redefined. - +
- + \ No newline at end of file diff --git a/docs/api/interfaces/MentionableSelectCommand.html b/docs/api/interfaces/MentionableSelectCommand.html index bb1675a34..d754eef67 100644 --- a/docs/api/interfaces/MentionableSelectCommand.html +++ b/docs/api/interfaces/MentionableSelectCommand.html @@ -6,13 +6,13 @@ Interface: MentionableSelectCommand | sern - Handlers. Redefined. - +

Interface: MentionableSelectCommand

Hierarchy

  • Module

    MentionableSelectCommand

Properties

description

Optional description: string

Inherited from

Module.description

Defined in

src/types/module.ts:38


execute

execute: (ctx: MentionableSelectMenuInteraction<CacheType>) => unknown

Type declaration

▸ (ctx): unknown

Parameters
NameType
ctxMentionableSelectMenuInteraction<CacheType>
Returns

unknown

Overrides

Module.execute

Defined in

src/types/module.ts:95


name

Optional name: string

Inherited from

Module.name

Defined in

src/types/module.ts:35


onEvent

onEvent: ControlPlugin<any[]>[]

Inherited from

Module.onEvent

Defined in

src/types/module.ts:36


plugins

plugins: InitPlugin<any[]>[]

Inherited from

Module.plugins

Defined in

src/types/module.ts:37


type

type: MentionableSelect

Overrides

Module.type

Defined in

src/types/module.ts:94

- + \ No newline at end of file diff --git a/docs/api/interfaces/ModalSubmitCommand.html b/docs/api/interfaces/ModalSubmitCommand.html index df07515de..2eb8dfe40 100644 --- a/docs/api/interfaces/ModalSubmitCommand.html +++ b/docs/api/interfaces/ModalSubmitCommand.html @@ -6,13 +6,13 @@ Interface: ModalSubmitCommand | sern - Handlers. Redefined. - +

Interface: ModalSubmitCommand

Hierarchy

Properties

description

Optional description: string

Inherited from

Module.description

Defined in

src/types/module.ts:38


execute

execute: (ctx: ModalSubmitInteraction<CacheType>) => unknown

Type declaration

▸ (ctx): unknown

Parameters
NameType
ctxModalSubmitInteraction<CacheType>
Returns

unknown

Overrides

Module.execute

Defined in

src/types/module.ts:105


name

Optional name: string

Inherited from

Module.name

Defined in

src/types/module.ts:35


onEvent

onEvent: ControlPlugin<any[]>[]

Inherited from

Module.onEvent

Defined in

src/types/module.ts:36


plugins

plugins: InitPlugin<any[]>[]

Inherited from

Module.plugins

Defined in

src/types/module.ts:37


type

type: Modal

Overrides

Module.type

Defined in

src/types/module.ts:104

- + \ No newline at end of file diff --git a/docs/api/interfaces/Module.html b/docs/api/interfaces/Module.html index 11e4cbde2..0e2b3a290 100644 --- a/docs/api/interfaces/Module.html +++ b/docs/api/interfaces/Module.html @@ -6,13 +6,13 @@ Interface: Module | sern - Handlers. Redefined. - +

Interface: Module

Hierarchy

Properties

description

Optional description: string

Defined in

src/types/module.ts:38


execute

execute: (...args: any[]) => any

Type declaration

▸ (...args): any

Parameters
NameType
...argsany[]
Returns

any

Defined in

src/types/module.ts:39


name

Optional name: string

Defined in

src/types/module.ts:35


onEvent

onEvent: ControlPlugin<any[]>[]

Defined in

src/types/module.ts:36


plugins

plugins: InitPlugin<any[]>[]

Defined in

src/types/module.ts:37


type

type: CommandType | EventType

Defined in

src/types/module.ts:34

- + \ No newline at end of file diff --git a/docs/api/interfaces/ModuleManager.html b/docs/api/interfaces/ModuleManager.html index 490384888..8dabb5f9f 100644 --- a/docs/api/interfaces/ModuleManager.html +++ b/docs/api/interfaces/ModuleManager.html @@ -6,13 +6,13 @@ Interface: ModuleManager | sern - Handlers. Redefined. - + - + \ No newline at end of file diff --git a/docs/api/interfaces/Plugin.html b/docs/api/interfaces/Plugin.html index fdf61fb95..5981ce7a1 100644 --- a/docs/api/interfaces/Plugin.html +++ b/docs/api/interfaces/Plugin.html @@ -6,13 +6,13 @@ Interface: Plugin<Args> | sern - Handlers. Redefined. - + - + \ No newline at end of file diff --git a/docs/api/interfaces/RoleSelectCommand.html b/docs/api/interfaces/RoleSelectCommand.html index 2a8301e9c..d2ebce64d 100644 --- a/docs/api/interfaces/RoleSelectCommand.html +++ b/docs/api/interfaces/RoleSelectCommand.html @@ -6,13 +6,13 @@ Interface: RoleSelectCommand | sern - Handlers. Redefined. - +

Interface: RoleSelectCommand

Hierarchy

Properties

description

Optional description: string

Inherited from

Module.description

Defined in

src/types/module.ts:38


execute

execute: (ctx: RoleSelectMenuInteraction<CacheType>) => unknown

Type declaration

▸ (ctx): unknown

Parameters
NameType
ctxRoleSelectMenuInteraction<CacheType>
Returns

unknown

Overrides

Module.execute

Defined in

src/types/module.ts:90


name

Optional name: string

Inherited from

Module.name

Defined in

src/types/module.ts:35


onEvent

onEvent: ControlPlugin<any[]>[]

Inherited from

Module.onEvent

Defined in

src/types/module.ts:36


plugins

plugins: InitPlugin<any[]>[]

Inherited from

Module.plugins

Defined in

src/types/module.ts:37


type

type: RoleSelect

Overrides

Module.type

Defined in

src/types/module.ts:89

- + \ No newline at end of file diff --git a/docs/api/interfaces/SernAutocompleteData.html b/docs/api/interfaces/SernAutocompleteData.html index 36a90ff85..27afa2b45 100644 --- a/docs/api/interfaces/SernAutocompleteData.html +++ b/docs/api/interfaces/SernAutocompleteData.html @@ -6,13 +6,13 @@ Interface: SernAutocompleteData | sern - Handlers. Redefined. - +

Interface: SernAutocompleteData

Hierarchy

  • Omit<BaseApplicationCommandOptionsData, "autocomplete">

    SernAutocompleteData

Properties

autocomplete

autocomplete: true

Defined in

src/types/module.ts:177


command

command: AutocompleteCommand

Defined in

src/types/module.ts:182


description

description: string

Inherited from

Omit.description

Defined in

node_modules/.pnpm/discord.js@14.7.1/node_modules/discord.js/typings/index.d.ts:4200


descriptionLocalizations

Optional descriptionLocalizations: Partial<Record<"id" | "en-US" | "en-GB" | "bg" | "zh-CN" | "zh-TW" | "hr" | "cs" | "da" | "nl" | "fi" | "fr" | "de" | "el" | "hi" | "hu" | "it" | "ja" | "ko" | "lt" | "no" | "pl" | "pt-BR" | "ro" | "ru" | "es-ES" | "sv-SE" | "th" | "tr" | "uk" | "vi", null | string>>

Inherited from

Omit.descriptionLocalizations

Defined in

node_modules/.pnpm/discord.js@14.7.1/node_modules/discord.js/typings/index.d.ts:4201


name

name: string

Inherited from

Omit.name

Defined in

node_modules/.pnpm/discord.js@14.7.1/node_modules/discord.js/typings/index.d.ts:4198


nameLocalizations

Optional nameLocalizations: Partial<Record<"id" | "en-US" | "en-GB" | "bg" | "zh-CN" | "zh-TW" | "hr" | "cs" | "da" | "nl" | "fi" | "fr" | "de" | "el" | "hi" | "hu" | "it" | "ja" | "ko" | "lt" | "no" | "pl" | "pt-BR" | "ro" | "ru" | "es-ES" | "sv-SE" | "th" | "tr" | "uk" | "vi", null | string>>

Inherited from

Omit.nameLocalizations

Defined in

node_modules/.pnpm/discord.js@14.7.1/node_modules/discord.js/typings/index.d.ts:4199


required

Optional required: boolean

Inherited from

Omit.required

Defined in

node_modules/.pnpm/discord.js@14.7.1/node_modules/discord.js/typings/index.d.ts:4202


type

type: String | Integer | Number

Defined in

src/types/module.ts:178

- + \ No newline at end of file diff --git a/docs/api/interfaces/SernEmitterPlugin.html b/docs/api/interfaces/SernEmitterPlugin.html index a17becebe..f8c36ff47 100644 --- a/docs/api/interfaces/SernEmitterPlugin.html +++ b/docs/api/interfaces/SernEmitterPlugin.html @@ -6,13 +6,13 @@ Interface: SernEmitterPlugin | sern - Handlers. Redefined. - +

Interface: SernEmitterPlugin

Hierarchy

Properties

description

Optional description: string

Deprecated

will be removed in the next update

Inherited from

Plugin.description

Defined in

src/handler/plugins/plugin.ts:33


execute

execute: (payload: { absPath: string ; mod: SernEventCommand<keyof SernEventsMapping> & { name: string } }, controller: Controller) => Awaitable<Result<void, void>>

Type declaration

▸ (payload, controller): Awaitable<Result<void, void>>

Parameters
NameType
payloadObject
payload.absPathstring
payload.modSernEventCommand<keyof SernEventsMapping> & { name: string }
controllerController
Returns

Awaitable<Result<void, void>>

Defined in

src/handler/plugins/plugin.ts:65


name

Optional name: string

Deprecated

will be removed in the next update

Inherited from

Plugin.name

Defined in

src/handler/plugins/plugin.ts:31


type

type: Command

Overrides

Plugin.type

Defined in

src/handler/plugins/plugin.ts:64

- + \ No newline at end of file diff --git a/docs/api/interfaces/SernEventCommand.html b/docs/api/interfaces/SernEventCommand.html index 5d6a3d623..ad6422584 100644 --- a/docs/api/interfaces/SernEventCommand.html +++ b/docs/api/interfaces/SernEventCommand.html @@ -6,13 +6,13 @@ Interface: SernEventCommand<T> | sern - Handlers. Redefined. - +

Interface: SernEventCommand<T>

Type parameters

NameType
Textends keyof SernEventsMapping = keyof SernEventsMapping

Hierarchy

Properties

description

Optional description: string

Inherited from

Module.description

Defined in

src/types/module.ts:38


name

Optional name: T

Overrides

Module.name

Defined in

src/types/module.ts:116


onEvent

onEvent: ControlPlugin<any[]>[]

Inherited from

Module.onEvent

Defined in

src/types/module.ts:36


plugins

plugins: InitPlugin<any[]>[]

Inherited from

Module.plugins

Defined in

src/types/module.ts:37


type

type: Sern

Overrides

Module.type

Defined in

src/types/module.ts:117

Methods

execute

execute(...args): unknown

Parameters

NameType
...argsSernEventsMapping[T]

Returns

unknown

Overrides

Module.execute

Defined in

src/types/module.ts:118

- + \ No newline at end of file diff --git a/docs/api/interfaces/SernEventPlugin.html b/docs/api/interfaces/SernEventPlugin.html index 65768a1a3..c8cf935ab 100644 --- a/docs/api/interfaces/SernEventPlugin.html +++ b/docs/api/interfaces/SernEventPlugin.html @@ -6,13 +6,13 @@ Interface: SernEventPlugin<T> | sern - Handlers. Redefined. - +

Interface: SernEventPlugin<T>

Type parameters

NameType
Textends keyof SernEventsMapping = keyof SernEventsMapping

Hierarchy

Properties

description

Optional description: string

Deprecated

will be removed in the next update

Inherited from

Plugin.description

Defined in

src/handler/plugins/plugin.ts:33


execute

execute: (args: SernEventsMapping[T], controller: Controller) => Awaitable<Result<void, void>>

Type declaration

▸ (args, controller): Awaitable<Result<void, void>>

Parameters
NameType
argsSernEventsMapping[T]
controllerController
Returns

Awaitable<Result<void, void>>

Defined in

src/handler/plugins/plugin.ts:91


name

Optional name: T

Deprecated

will be removed in the next update

Overrides

Plugin.name

Defined in

src/handler/plugins/plugin.ts:89


type

type: Event

Overrides

Plugin.type

Defined in

src/handler/plugins/plugin.ts:90

- + \ No newline at end of file diff --git a/docs/api/interfaces/SernSubCommandData.html b/docs/api/interfaces/SernSubCommandData.html index 91068dc34..02291f6d6 100644 --- a/docs/api/interfaces/SernSubCommandData.html +++ b/docs/api/interfaces/SernSubCommandData.html @@ -6,13 +6,13 @@ Interface: SernSubCommandData | sern - Handlers. Redefined. - +

Interface: SernSubCommandData

Hierarchy

  • BaseApplicationCommandOptionsData

    SernSubCommandData

Properties

autocomplete

Optional autocomplete: undefined

Inherited from

BaseApplicationCommandOptionsData.autocomplete

Defined in

node_modules/.pnpm/discord.js@14.7.1/node_modules/discord.js/typings/index.d.ts:4203


description

description: string

Inherited from

BaseApplicationCommandOptionsData.description

Defined in

node_modules/.pnpm/discord.js@14.7.1/node_modules/discord.js/typings/index.d.ts:4200


descriptionLocalizations

Optional descriptionLocalizations: Partial<Record<"id" | "en-US" | "en-GB" | "bg" | "zh-CN" | "zh-TW" | "hr" | "cs" | "da" | "nl" | "fi" | "fr" | "de" | "el" | "hi" | "hu" | "it" | "ja" | "ko" | "lt" | "no" | "pl" | "pt-BR" | "ro" | "ru" | "es-ES" | "sv-SE" | "th" | "tr" | "uk" | "vi", null | string>>

Inherited from

BaseApplicationCommandOptionsData.descriptionLocalizations

Defined in

node_modules/.pnpm/discord.js@14.7.1/node_modules/discord.js/typings/index.d.ts:4201


name

name: string

Inherited from

BaseApplicationCommandOptionsData.name

Defined in

node_modules/.pnpm/discord.js@14.7.1/node_modules/discord.js/typings/index.d.ts:4198


nameLocalizations

Optional nameLocalizations: Partial<Record<"id" | "en-US" | "en-GB" | "bg" | "zh-CN" | "zh-TW" | "hr" | "cs" | "da" | "nl" | "fi" | "fr" | "de" | "el" | "hi" | "hu" | "it" | "ja" | "ko" | "lt" | "no" | "pl" | "pt-BR" | "ro" | "ru" | "es-ES" | "sv-SE" | "th" | "tr" | "uk" | "vi", null | string>>

Inherited from

BaseApplicationCommandOptionsData.nameLocalizations

Defined in

node_modules/.pnpm/discord.js@14.7.1/node_modules/discord.js/typings/index.d.ts:4199


options

Optional options: BaseOptions[]

Defined in

src/types/module.ts:214


required

Optional required: undefined

Overrides

BaseApplicationCommandOptionsData.required

Defined in

src/types/module.ts:213


type

type: Subcommand

Defined in

src/types/module.ts:212

- + \ No newline at end of file diff --git a/docs/api/interfaces/SernSubCommandGroupData.html b/docs/api/interfaces/SernSubCommandGroupData.html index 3990357d5..b8a15b137 100644 --- a/docs/api/interfaces/SernSubCommandGroupData.html +++ b/docs/api/interfaces/SernSubCommandGroupData.html @@ -6,13 +6,13 @@ Interface: SernSubCommandGroupData | sern - Handlers. Redefined. - +

Interface: SernSubCommandGroupData

Hierarchy

  • BaseApplicationCommandOptionsData

    SernSubCommandGroupData

Properties

autocomplete

Optional autocomplete: undefined

Inherited from

BaseApplicationCommandOptionsData.autocomplete

Defined in

node_modules/.pnpm/discord.js@14.7.1/node_modules/discord.js/typings/index.d.ts:4203


description

description: string

Inherited from

BaseApplicationCommandOptionsData.description

Defined in

node_modules/.pnpm/discord.js@14.7.1/node_modules/discord.js/typings/index.d.ts:4200


descriptionLocalizations

Optional descriptionLocalizations: Partial<Record<"id" | "en-US" | "en-GB" | "bg" | "zh-CN" | "zh-TW" | "hr" | "cs" | "da" | "nl" | "fi" | "fr" | "de" | "el" | "hi" | "hu" | "it" | "ja" | "ko" | "lt" | "no" | "pl" | "pt-BR" | "ro" | "ru" | "es-ES" | "sv-SE" | "th" | "tr" | "uk" | "vi", null | string>>

Inherited from

BaseApplicationCommandOptionsData.descriptionLocalizations

Defined in

node_modules/.pnpm/discord.js@14.7.1/node_modules/discord.js/typings/index.d.ts:4201


name

name: string

Inherited from

BaseApplicationCommandOptionsData.name

Defined in

node_modules/.pnpm/discord.js@14.7.1/node_modules/discord.js/typings/index.d.ts:4198


nameLocalizations

Optional nameLocalizations: Partial<Record<"id" | "en-US" | "en-GB" | "bg" | "zh-CN" | "zh-TW" | "hr" | "cs" | "da" | "nl" | "fi" | "fr" | "de" | "el" | "hi" | "hu" | "it" | "ja" | "ko" | "lt" | "no" | "pl" | "pt-BR" | "ro" | "ru" | "es-ES" | "sv-SE" | "th" | "tr" | "uk" | "vi", null | string>>

Inherited from

BaseApplicationCommandOptionsData.nameLocalizations

Defined in

node_modules/.pnpm/discord.js@14.7.1/node_modules/discord.js/typings/index.d.ts:4199


options

Optional options: SernSubCommandData[]

Defined in

src/types/module.ts:220


required

Optional required: undefined

Overrides

BaseApplicationCommandOptionsData.required

Defined in

src/types/module.ts:219


type

type: SubcommandGroup

Defined in

src/types/module.ts:218

- + \ No newline at end of file diff --git a/docs/api/interfaces/SlashCommand.html b/docs/api/interfaces/SlashCommand.html index 6c04d63dd..eb8d3cf9b 100644 --- a/docs/api/interfaces/SlashCommand.html +++ b/docs/api/interfaces/SlashCommand.html @@ -6,13 +6,13 @@ Interface: SlashCommand | sern - Handlers. Redefined. - +

Interface: SlashCommand

Hierarchy

Properties

description

description: string

Overrides

Module.description

Defined in

src/types/module.ts:50


execute

execute: (ctx: Context, args: ["slash", SlashOptions]) => unknown

Type declaration

▸ (ctx, args): unknown

Parameters
NameType
ctxContext
args["slash", SlashOptions]
Returns

unknown

Overrides

Module.execute

Defined in

src/types/module.ts:52


name

Optional name: string

Inherited from

Module.name

Defined in

src/types/module.ts:35


onEvent

onEvent: ControlPlugin<any[]>[]

Inherited from

Module.onEvent

Defined in

src/types/module.ts:36


options

Optional options: (SernSubCommandData | SernSubCommandGroupData | BaseOptions)[]

Defined in

src/types/module.ts:51


plugins

plugins: InitPlugin<any[]>[]

Inherited from

Module.plugins

Defined in

src/types/module.ts:37


type

type: Slash

Overrides

Module.type

Defined in

src/types/module.ts:49

- + \ No newline at end of file diff --git a/docs/api/interfaces/StringSelectCommand.html b/docs/api/interfaces/StringSelectCommand.html index 21b9bbf7c..72c90f269 100644 --- a/docs/api/interfaces/StringSelectCommand.html +++ b/docs/api/interfaces/StringSelectCommand.html @@ -6,13 +6,13 @@ Interface: StringSelectCommand | sern - Handlers. Redefined. - +

Interface: StringSelectCommand

Hierarchy

Properties

description

Optional description: string

Inherited from

Module.description

Defined in

src/types/module.ts:38


execute

execute: (ctx: StringSelectMenuInteraction<CacheType>) => unknown

Type declaration

▸ (ctx): unknown

Parameters
NameType
ctxStringSelectMenuInteraction<CacheType>
Returns

unknown

Overrides

Module.execute

Defined in

src/types/module.ts:80


name

Optional name: string

Inherited from

Module.name

Defined in

src/types/module.ts:35


onEvent

onEvent: ControlPlugin<any[]>[]

Inherited from

Module.onEvent

Defined in

src/types/module.ts:36


plugins

plugins: InitPlugin<any[]>[]

Inherited from

Module.plugins

Defined in

src/types/module.ts:37


type

type: StringSelect

Overrides

Module.type

Defined in

src/types/module.ts:79

- + \ No newline at end of file diff --git a/docs/api/interfaces/TextCommand.html b/docs/api/interfaces/TextCommand.html index 75472d28a..ca2331c2c 100644 --- a/docs/api/interfaces/TextCommand.html +++ b/docs/api/interfaces/TextCommand.html @@ -6,13 +6,13 @@ Interface: TextCommand | sern - Handlers. Redefined. - +

Interface: TextCommand

Hierarchy

Properties

alias

Optional alias: string[]

Defined in

src/types/module.ts:44


description

Optional description: string

Inherited from

Module.description

Defined in

src/types/module.ts:38


execute

execute: (ctx: Context, args: ["text", string[]]) => unknown

Type declaration

▸ (ctx, args): unknown

Parameters
NameType
ctxContext
args["text", string[]]
Returns

unknown

Overrides

Module.execute

Defined in

src/types/module.ts:45


name

Optional name: string

Inherited from

Module.name

Defined in

src/types/module.ts:35


onEvent

onEvent: ControlPlugin<any[]>[]

Inherited from

Module.onEvent

Defined in

src/types/module.ts:36


plugins

plugins: InitPlugin<any[]>[]

Inherited from

Module.plugins

Defined in

src/types/module.ts:37


type

type: Text

Overrides

Module.type

Defined in

src/types/module.ts:43

- + \ No newline at end of file diff --git a/docs/api/interfaces/UserSelectCommand.html b/docs/api/interfaces/UserSelectCommand.html index 28acb4e82..cc2609212 100644 --- a/docs/api/interfaces/UserSelectCommand.html +++ b/docs/api/interfaces/UserSelectCommand.html @@ -6,13 +6,13 @@ Interface: UserSelectCommand | sern - Handlers. Redefined. - +

Interface: UserSelectCommand

Hierarchy

Properties

description

Optional description: string

Inherited from

Module.description

Defined in

src/types/module.ts:38


execute

execute: (ctx: UserSelectMenuInteraction<CacheType>) => unknown

Type declaration

▸ (ctx): unknown

Parameters
NameType
ctxUserSelectMenuInteraction<CacheType>
Returns

unknown

Overrides

Module.execute

Defined in

src/types/module.ts:100


name

Optional name: string

Inherited from

Module.name

Defined in

src/types/module.ts:35


onEvent

onEvent: ControlPlugin<any[]>[]

Inherited from

Module.onEvent

Defined in

src/types/module.ts:36


plugins

plugins: InitPlugin<any[]>[]

Inherited from

Module.plugins

Defined in

src/types/module.ts:37


type

type: UserSelect

Overrides

Module.type

Defined in

src/types/module.ts:99

- + \ No newline at end of file diff --git a/docs/api/interfaces/Wrapper.html b/docs/api/interfaces/Wrapper.html index c1e9724c7..62acd99d7 100644 --- a/docs/api/interfaces/Wrapper.html +++ b/docs/api/interfaces/Wrapper.html @@ -6,13 +6,13 @@ Interface: Wrapper | sern - Handlers. Redefined. - +
- + \ No newline at end of file diff --git a/docs/api/modules.html b/docs/api/modules.html index e8f4f640a..cc43b1617 100644 --- a/docs/api/modules.html +++ b/docs/api/modules.html @@ -6,7 +6,7 @@ @sern/handler | sern - Handlers. Redefined. - + @@ -19,7 +19,7 @@ where typings can be very bad.

Type parameters

NameType
Textends () => () => unknown

Parameters

NameType
cbT

Returns

T

Defined in

src/handler/dependencies/lifetimeFunctions.ts:33


useContainerRaw

useContainerRaw<T>(): Container<T, {}>

Returns the underlying data structure holding all dependencies. Please be careful as this only gets the client's current state. Exposes some methods from iti

Type parameters

NameType
Textends Dependencies

Returns

Container<T, {}>

Defined in

src/handler/dependencies/provider.ts:54

- + \ No newline at end of file diff --git a/docs/api/namespaces/Sern.html b/docs/api/namespaces/Sern.html index f9a867ca6..98d2e962f 100644 --- a/docs/api/namespaces/Sern.html +++ b/docs/api/namespaces/Sern.html @@ -6,13 +6,13 @@ Namespace: Sern | sern - Handlers. Redefined. - +

Namespace: Sern

References

CommandExecutable

Re-exports CommandExecutable


EventExecutable

Re-exports EventExecutable


commandModule

Re-exports commandModule


controller

Re-exports controller


discordEvent

Re-exports discordEvent


eventModule

Re-exports eventModule

Functions

init

init(wrapper): void

Example

src/index.ts
Sern.init({
defaultPrefix: '!',
commands: 'dist/commands',
events: 'dist/events',
containerConfig : {
get: useContainer
}
})

Parameters

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

Returns

void

Defined in

src/handler/sern.ts:38


makeDependencies

makeDependencies<T>(conf): <V>(...keys: [...V[]]) => MapDeps<T, V>

Type parameters

NameType
Textends Dependencies

Parameters

NameTypeDescription
confDependencyConfiguration<T>a configuration for creating your project dependencies

Returns

fn

▸ <V>(...keys): MapDeps<T, V>

Type parameters
NameType
Vextends keyof T[]
Parameters
NameType
...keys[...V[]]
Returns

MapDeps<T, V>

Defined in

src/handler/sern.ts:107

- + \ No newline at end of file diff --git a/docs/guide.html b/docs/guide.html index 15deabc69..826bada57 100644 --- a/docs/guide.html +++ b/docs/guide.html @@ -6,13 +6,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 1f0fe490e..7ff663ce8 100644 --- a/docs/guide/getting-started/choose-ide.html +++ b/docs/guide/getting-started/choose-ide.html @@ -6,14 +6,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 00fb60aab..6293fa708 100644 --- a/docs/guide/getting-started/preparing.html +++ b/docs/guide/getting-started/preparing.html @@ -6,13 +6,13 @@ Preparing to Code | sern - Handlers. Redefined. - +
-

Preparing to Code

After installing and IDE you need to install node.

Click to download the LTS version of node right here.

After you downloaded node, you can start using us

Running this will install our CLI, which allows you to create a template project without writing a single line of code.

npm install -g @sern/cli

After you downloaded our CLI, run this,

sern init

You'll be welcomed with our interactive setup guide. Complete it, and your template project is ready. If you want to do more with it, continue reading. our guides

- +

Preparing to Code

After installing and IDE you need to install node.

Click to download the LTS version of node right here.

After you downloaded node, you can start using us

Running this will install our CLI, which allows you to create a template project without writing a single line of code.

npm install -g @sern/cli

If you want to do more with our CLI, continue reading our guides.

+ \ No newline at end of file diff --git a/docs/guide/walkthrough/cli.html b/docs/guide/walkthrough/cli.html index 6a220b376..896b4d574 100644 --- a/docs/guide/walkthrough/cli.html +++ b/docs/guide/walkthrough/cli.html @@ -6,7 +6,7 @@ CLI | sern - Handlers. Redefined. - + @@ -14,7 +14,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 da3ec910e..e2e648a49 100644 --- a/docs/guide/walkthrough/conclusion.html +++ b/docs/guide/walkthrough/conclusion.html @@ -6,7 +6,7 @@ Conclusion | sern - Handlers. Redefined. - + @@ -14,7 +14,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 f031521e1..1d762a254 100644 --- a/docs/guide/walkthrough/first-command.html +++ b/docs/guide/walkthrough/first-command.html @@ -6,7 +6,7 @@ First Command | sern - Handlers. Redefined. - + @@ -15,7 +15,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 157dbc2be..696787754 100644 --- a/docs/guide/walkthrough/first-event.html +++ b/docs/guide/walkthrough/first-event.html @@ -6,7 +6,7 @@ First Event Module | sern - Handlers. Redefined. - + @@ -14,7 +14,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 : [],
name: 'guildMemberAdd', //name of event.
async execute(member: GuildMember) {
(await member.guild.channels.fetch('channel-id') as TextChannel).send(`Welcome, ${member}`);
}
})

Javascript:


exports.default = eventModule({
type: EventType.Discord,
plugins : [], //NOT SUPPORTED YET!!
name: 'guildMemberAdd', //name of event.
async execute(member) {
(await member.guild.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 5a7ac009b..471a3e8ad 100644 --- a/docs/guide/walkthrough/goal.html +++ b/docs/guide/walkthrough/goal.html @@ -6,7 +6,7 @@ Goal | sern - Handlers. Redefined. - + @@ -14,7 +14,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 5015b52f4..6a1e46c22 100644 --- a/docs/guide/walkthrough/good-to-know.html +++ b/docs/guide/walkthrough/good-to-know.html @@ -6,7 +6,7 @@ Good to know | sern - Handlers. Redefined. - + @@ -14,7 +14,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 8dbaa4664..a6022b4fb 100644 --- a/docs/guide/walkthrough/plugins.html +++ b/docs/guide/walkthrough/plugins.html @@ -6,7 +6,7 @@ Plugins | sern - Handlers. Redefined. - + @@ -17,7 +17,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 d1057f492..8602e7b48 100644 --- a/docs/guide/walkthrough/sern-emitter.html +++ b/docs/guide/walkthrough/sern-emitter.html @@ -6,13 +6,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
  • On default, sern creates a single SernEmitter for your bot process.
  • 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 cb42500fc..69db0d8ca 100644 --- a/docs/intro.html +++ b/docs/intro.html @@ -6,13 +6,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.

tip

If you have problems, join the discord server here

- + \ No newline at end of file diff --git a/fr/404.html b/fr/404.html index 1e3d602ec..505451718 100644 --- a/fr/404.html +++ b/fr/404.html @@ -6,13 +6,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/3dc7c79a.231ec45a.js b/fr/assets/js/3dc7c79a.4a919036.js similarity index 70% rename from fr/assets/js/3dc7c79a.231ec45a.js rename to fr/assets/js/3dc7c79a.4a919036.js index 755993aac..1697c9ce6 100644 --- a/fr/assets/js/3dc7c79a.231ec45a.js +++ b/fr/assets/js/3dc7c79a.4a919036.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_sern_website=self.webpackChunk_sern_website||[]).push([[9712],{3905:(e,t,r)=>{r.d(t,{Zo:()=>s,kt:()=>g});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function a(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var p=n.createContext({}),u=function(e){var t=n.useContext(p),r=t;return e&&(r="function"==typeof e?e(t):a(a({},t),e)),r},s=function(e){var t=u(e.components);return n.createElement(p.Provider,{value:t},e.children)},c={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,i=e.originalType,p=e.parentName,s=l(e,["components","mdxType","originalType","parentName"]),d=u(r),g=o,f=d["".concat(p,".").concat(g)]||d[g]||c[g]||i;return r?n.createElement(f,a(a({ref:t},s),{},{components:r})):n.createElement(f,a({ref:t},s))}));function g(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var i=r.length,a=new Array(i);a[0]=d;var l={};for(var p in t)hasOwnProperty.call(t,p)&&(l[p]=t[p]);l.originalType=e,l.mdxType="string"==typeof e?e:o,a[1]=l;for(var u=2;u{r.r(t),r.d(t,{assets:()=>p,contentTitle:()=>a,default:()=>c,frontMatter:()=>i,metadata:()=>l,toc:()=>u});var n=r(7462),o=(r(7294),r(3905));const i={},a="Preparing to Code",l={unversionedId:"guide/getting-started/preparing",id:"guide/getting-started/preparing",title:"Preparing to Code",description:"After installing and IDE you need to install node.",source:"@site/docs/guide/getting-started/preparing.md",sourceDirName:"guide/getting-started",slug:"/guide/getting-started/preparing",permalink:"/fr/docs/guide/getting-started/preparing",draft:!1,editUrl:"https://github.com/sern-handler/website/edit/main/docs/guide/getting-started/preparing.md",tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"Choosing an IDE",permalink:"/fr/docs/guide/getting-started/choose-ide"},next:{title:"Goal",permalink:"/fr/docs/guide/walkthrough/goal"}},p={},u=[],s={toc:u};function c(e){let{components:t,...r}=e;return(0,o.kt)("wrapper",(0,n.Z)({},s,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"preparing-to-code"},"Preparing to Code"),(0,o.kt)("p",null,"After installing and IDE you need to install node."),(0,o.kt)("p",null,(0,o.kt)("a",{parentName:"p",href:"https://nodejs.org/en/download/"},"Click to download the LTS version of node right here"),"."),(0,o.kt)("p",null,"After you downloaded node, you can start using us"),(0,o.kt)("p",null,"Running this will install our CLI, which allows you to create a template project without writing a single line of code."),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-shell"},"npm install -g @sern/cli\n")),(0,o.kt)("p",null,"After you downloaded our CLI, run this,"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-shell"},"sern init\n")),(0,o.kt)("p",null,"You'll be welcomed with our interactive setup guide. Complete it, and your template project is ready. If you want to do more with it, continue reading. our guides"))}c.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunk_sern_website=self.webpackChunk_sern_website||[]).push([[9712],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>g});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function a(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var p=n.createContext({}),c=function(e){var t=n.useContext(p),r=t;return e&&(r="function"==typeof e?e(t):a(a({},t),e)),r},u=function(e){var t=c(e.components);return n.createElement(p.Provider,{value:t},e.children)},s={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,i=e.originalType,p=e.parentName,u=l(e,["components","mdxType","originalType","parentName"]),d=c(r),g=o,f=d["".concat(p,".").concat(g)]||d[g]||s[g]||i;return r?n.createElement(f,a(a({ref:t},u),{},{components:r})):n.createElement(f,a({ref:t},u))}));function g(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var i=r.length,a=new Array(i);a[0]=d;var l={};for(var p in t)hasOwnProperty.call(t,p)&&(l[p]=t[p]);l.originalType=e,l.mdxType="string"==typeof e?e:o,a[1]=l;for(var c=2;c{r.r(t),r.d(t,{assets:()=>p,contentTitle:()=>a,default:()=>s,frontMatter:()=>i,metadata:()=>l,toc:()=>c});var n=r(7462),o=(r(7294),r(3905));const i={},a="Preparing to Code",l={unversionedId:"guide/getting-started/preparing",id:"guide/getting-started/preparing",title:"Preparing to Code",description:"After installing and IDE you need to install node.",source:"@site/docs/guide/getting-started/preparing.md",sourceDirName:"guide/getting-started",slug:"/guide/getting-started/preparing",permalink:"/fr/docs/guide/getting-started/preparing",draft:!1,editUrl:"https://github.com/sern-handler/website/edit/main/docs/guide/getting-started/preparing.md",tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"Choosing an IDE",permalink:"/fr/docs/guide/getting-started/choose-ide"},next:{title:"Goal",permalink:"/fr/docs/guide/walkthrough/goal"}},p={},c=[],u={toc:c};function s(e){let{components:t,...r}=e;return(0,o.kt)("wrapper",(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"preparing-to-code"},"Preparing to Code"),(0,o.kt)("p",null,"After installing and IDE you need to install node."),(0,o.kt)("p",null,(0,o.kt)("a",{parentName:"p",href:"https://nodejs.org/en/download/"},"Click to download the LTS version of node right here"),"."),(0,o.kt)("p",null,"After you downloaded node, you can start using us"),(0,o.kt)("p",null,"Running this will install our CLI, which allows you to create a template project without writing a single line of code."),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-shell"},"npm install -g @sern/cli\n")),(0,o.kt)("p",null,"If you want to do more with our CLI, continue reading our guides."))}s.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/fr/assets/js/runtime~main.85ff05fb.js b/fr/assets/js/runtime~main.9889f742.js similarity index 99% rename from fr/assets/js/runtime~main.85ff05fb.js rename to fr/assets/js/runtime~main.9889f742.js index 914fa5312..63ed52ed5 100644 --- a/fr/assets/js/runtime~main.85ff05fb.js +++ b/fr/assets/js/runtime~main.9889f742.js @@ -1 +1 @@ -(()=>{"use strict";var e,c,a,f,d,b={},t={};function r(e){var c=t[e];if(void 0!==c)return c.exports;var a=t[e]={id:e,loaded:!1,exports:{}};return b[e].call(a.exports,a,a.exports,r),a.loaded=!0,a.exports}r.m=b,r.c=t,e=[],r.O=(c,a,f,d)=>{if(!a){var b=1/0;for(i=0;i=d)&&Object.keys(r.O).every((e=>r.O[e](a[o])))?a.splice(o--,1):(t=!1,d0&&e[i-1][2]>d;i--)e[i]=e[i-1];e[i]=[a,f,d]},r.n=e=>{var c=e&&e.__esModule?()=>e.default:()=>e;return r.d(c,{a:c}),c},a=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,f){if(1&f&&(e=this(e)),8&f)return e;if("object"==typeof e&&e){if(4&f&&e.__esModule)return e;if(16&f&&"function"==typeof e.then)return e}var d=Object.create(null);r.r(d);var b={};c=c||[null,a({}),a([]),a(a)];for(var t=2&f&&e;"object"==typeof t&&!~c.indexOf(t);t=a(t))Object.getOwnPropertyNames(t).forEach((c=>b[c]=()=>e[c]));return b.default=()=>e,r.d(d,b),d},r.d=(e,c)=>{for(var a in c)r.o(c,a)&&!r.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:c[a]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((c,a)=>(r.f[a](e,c),c)),[])),r.u=e=>"assets/js/"+({53:"5bc4ccbc",65:"2f13d849",277:"c4348237",301:"5ae130ee",332:"73bd57bd",371:"edc18331",681:"f1cc380d",703:"981f6151",1003:"67e3e25a",1036:"c0846785",1198:"476a0444",1213:"7f673e27",1375:"cf23ded0",1472:"cf183316",1505:"7c2ff145",2005:"1ac1bfe9",2072:"67348500",2129:"1c127a4d",2197:"935f2afb",2255:"beef0c9d",2535:"814f3328",2640:"a96c96b0",3012:"3a25b5a8",3045:"888566f1",3085:"1f391b9e",3089:"a6aa9e1f",3173:"2caf5b7a",3247:"7f2ac8b7",3255:"53944420",3462:"6ff82968",3608:"9e4087bc",3650:"425cbb82",3864:"57fe7727",4e3:"701614d9",4009:"79e7cc44",4013:"01a85c17",4039:"174e7412",4137:"1aef51bd",4195:"c4f5d8e4",4252:"8a062262",4332:"6c624b4c",4429:"eea0bf40",4461:"a3030d1c",4626:"d9ea5336",4781:"e2a53654",4803:"9201de17",4865:"e8e3d8c7",4932:"a0fd2c7a",5062:"69369ae2",5397:"312c2bc5",5433:"9f1290f8",5502:"9b620520",5853:"447d9066",6054:"7cd974c8",6103:"ccc49370",6146:"608ca171",6270:"e4877132",6276:"4e28a08b",6280:"85f3506b",6322:"a5467962",6393:"e04ffa77",6552:"a0b9ee13",6777:"720cd117",6778:"85456a26",6851:"4279c33d",6918:"92293c9c",7127:"7e205c4a",7223:"3020eeee",7254:"97c22b42",7306:"f6aebfbf",7363:"26f1f3a5",7374:"6ba1d2c1",7414:"393be207",7453:"4b098d2e",7597:"5e8c322a",7749:"462b6925",7750:"3a2d3092",7800:"d58f2f6c",7833:"65578b65",7868:"7343edf0",7918:"17896441",7936:"3a0cb3a9",8032:"1b0c702f",8046:"c606405e",8069:"2eae8f3a",8494:"0a33f845",8610:"6875c492",8652:"bcd9df7e",8902:"a4d0ee3e",9012:"3f83d40d",9107:"82cdda05",9187:"295686f2",9226:"707baeff",9248:"9693de07",9476:"90fdad0c",9514:"1be78505",9671:"0e384e19",9712:"3dc7c79a",9881:"f7831d67"}[e]||e)+"."+{53:"b86e0db9",65:"17ef5892",277:"bbd90c09",301:"3a7e2072",332:"e39aa5be",371:"1d24f64f",681:"4558f268",703:"be6fb0ae",1003:"efa19797",1036:"5240f2d2",1198:"ee2bfa3a",1213:"4c8b8cc4",1375:"85fc53a6",1472:"a0777f80",1505:"ac336ebd",2005:"f2bf20fc",2072:"87bb0878",2129:"e0eca003",2197:"573f4904",2255:"4aa76dec",2529:"824aaa15",2535:"67afd6ac",2640:"9625b0b7",3012:"c940503c",3045:"c84be8e6",3085:"8c38cce5",3089:"41e3be1f",3173:"fb27d836",3247:"8abfaf58",3255:"27db4706",3462:"29aca210",3608:"66639242",3650:"502897e0",3864:"3e0f7dbe",4e3:"b7cdf6a3",4009:"e7c059b4",4013:"e1f6e46d",4039:"278c7070",4137:"00f6c2a2",4195:"e4059570",4252:"cbc8323a",4332:"e8a2b732",4429:"d246f899",4461:"b4b09a9e",4626:"e404f1b9",4781:"76660bfe",4803:"0cd9e16a",4865:"466ea9bf",4932:"056dfe52",4972:"8f7e7193",5062:"40f3e7eb",5397:"1cae9e75",5433:"fc5347ee",5502:"24b6eb50",5853:"6f6365f6",6054:"d53df99d",6103:"7974c41a",6146:"16383731",6270:"a44bdaa5",6276:"9d0d3668",6280:"8dbd18b7",6322:"0d3ac253",6393:"27b2c405",6552:"44bd6e72",6777:"2c532199",6778:"c7f422f9",6851:"515811b0",6918:"f34397f9",7127:"e104054d",7223:"529bb797",7254:"7897abd7",7306:"7f7f6372",7363:"b59e8529",7374:"18dbd34f",7414:"ca4670d5",7453:"08f2b0db",7540:"0456e07a",7597:"0e2257b5",7749:"893c9e8a",7750:"3b268b53",7800:"e097f77c",7833:"dec9cbbd",7868:"37d89f2e",7918:"3625818f",7936:"90c37f11",8032:"615124fd",8046:"9920ffc9",8069:"71012eb7",8494:"ef3278d5",8610:"d7a7cd5d",8652:"d5b56b64",8902:"23ad8e66",9012:"85863279",9107:"b5ca7cc4",9187:"8e1050ca",9226:"5f897078",9248:"51fa3223",9476:"91e0f5f9",9514:"b1e810d5",9671:"a6b2b144",9712:"231ec45a",9881:"78b34abf"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,c)=>Object.prototype.hasOwnProperty.call(e,c),f={},d="@sern/website:",r.l=(e,c,a,b)=>{if(f[e])f[e].push(c);else{var t,o;if(void 0!==a)for(var n=document.getElementsByTagName("script"),i=0;i{t.onerror=t.onload=null,clearTimeout(s);var d=f[e];if(delete f[e],t.parentNode&&t.parentNode.removeChild(t),d&&d.forEach((e=>e(a))),c)return c(a)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=l.bind(null,t.onerror),t.onload=l.bind(null,t.onload),o&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="/fr/",r.gca=function(e){return e={17896441:"7918",53944420:"3255",67348500:"2072","5bc4ccbc":"53","2f13d849":"65",c4348237:"277","5ae130ee":"301","73bd57bd":"332",edc18331:"371",f1cc380d:"681","981f6151":"703","67e3e25a":"1003",c0846785:"1036","476a0444":"1198","7f673e27":"1213",cf23ded0:"1375",cf183316:"1472","7c2ff145":"1505","1ac1bfe9":"2005","1c127a4d":"2129","935f2afb":"2197",beef0c9d:"2255","814f3328":"2535",a96c96b0:"2640","3a25b5a8":"3012","888566f1":"3045","1f391b9e":"3085",a6aa9e1f:"3089","2caf5b7a":"3173","7f2ac8b7":"3247","6ff82968":"3462","9e4087bc":"3608","425cbb82":"3650","57fe7727":"3864","701614d9":"4000","79e7cc44":"4009","01a85c17":"4013","174e7412":"4039","1aef51bd":"4137",c4f5d8e4:"4195","8a062262":"4252","6c624b4c":"4332",eea0bf40:"4429",a3030d1c:"4461",d9ea5336:"4626",e2a53654:"4781","9201de17":"4803",e8e3d8c7:"4865",a0fd2c7a:"4932","69369ae2":"5062","312c2bc5":"5397","9f1290f8":"5433","9b620520":"5502","447d9066":"5853","7cd974c8":"6054",ccc49370:"6103","608ca171":"6146",e4877132:"6270","4e28a08b":"6276","85f3506b":"6280",a5467962:"6322",e04ffa77:"6393",a0b9ee13:"6552","720cd117":"6777","85456a26":"6778","4279c33d":"6851","92293c9c":"6918","7e205c4a":"7127","3020eeee":"7223","97c22b42":"7254",f6aebfbf:"7306","26f1f3a5":"7363","6ba1d2c1":"7374","393be207":"7414","4b098d2e":"7453","5e8c322a":"7597","462b6925":"7749","3a2d3092":"7750",d58f2f6c:"7800","65578b65":"7833","7343edf0":"7868","3a0cb3a9":"7936","1b0c702f":"8032",c606405e:"8046","2eae8f3a":"8069","0a33f845":"8494","6875c492":"8610",bcd9df7e:"8652",a4d0ee3e:"8902","3f83d40d":"9012","82cdda05":"9107","295686f2":"9187","707baeff":"9226","9693de07":"9248","90fdad0c":"9476","1be78505":"9514","0e384e19":"9671","3dc7c79a":"9712",f7831d67:"9881"}[e]||e,r.p+r.u(e)},(()=>{var e={1303:0,532:0};r.f.j=(c,a)=>{var f=r.o(e,c)?e[c]:void 0;if(0!==f)if(f)a.push(f[2]);else if(/^(1303|532)$/.test(c))e[c]=0;else{var d=new Promise(((a,d)=>f=e[c]=[a,d]));a.push(f[2]=d);var b=r.p+r.u(c),t=new Error;r.l(b,(a=>{if(r.o(e,c)&&(0!==(f=e[c])&&(e[c]=void 0),f)){var d=a&&("load"===a.type?"missing":a.type),b=a&&a.target&&a.target.src;t.message="Loading chunk "+c+" failed.\n("+d+": "+b+")",t.name="ChunkLoadError",t.type=d,t.request=b,f[1](t)}}),"chunk-"+c,c)}},r.O.j=c=>0===e[c];var c=(c,a)=>{var f,d,b=a[0],t=a[1],o=a[2],n=0;if(b.some((c=>0!==e[c]))){for(f in t)r.o(t,f)&&(r.m[f]=t[f]);if(o)var i=o(r)}for(c&&c(a);n{"use strict";var e,c,a,f,d,b={},t={};function r(e){var c=t[e];if(void 0!==c)return c.exports;var a=t[e]={id:e,loaded:!1,exports:{}};return b[e].call(a.exports,a,a.exports,r),a.loaded=!0,a.exports}r.m=b,r.c=t,e=[],r.O=(c,a,f,d)=>{if(!a){var b=1/0;for(i=0;i=d)&&Object.keys(r.O).every((e=>r.O[e](a[o])))?a.splice(o--,1):(t=!1,d0&&e[i-1][2]>d;i--)e[i]=e[i-1];e[i]=[a,f,d]},r.n=e=>{var c=e&&e.__esModule?()=>e.default:()=>e;return r.d(c,{a:c}),c},a=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,f){if(1&f&&(e=this(e)),8&f)return e;if("object"==typeof e&&e){if(4&f&&e.__esModule)return e;if(16&f&&"function"==typeof e.then)return e}var d=Object.create(null);r.r(d);var b={};c=c||[null,a({}),a([]),a(a)];for(var t=2&f&&e;"object"==typeof t&&!~c.indexOf(t);t=a(t))Object.getOwnPropertyNames(t).forEach((c=>b[c]=()=>e[c]));return b.default=()=>e,r.d(d,b),d},r.d=(e,c)=>{for(var a in c)r.o(c,a)&&!r.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:c[a]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((c,a)=>(r.f[a](e,c),c)),[])),r.u=e=>"assets/js/"+({53:"5bc4ccbc",65:"2f13d849",277:"c4348237",301:"5ae130ee",332:"73bd57bd",371:"edc18331",681:"f1cc380d",703:"981f6151",1003:"67e3e25a",1036:"c0846785",1198:"476a0444",1213:"7f673e27",1375:"cf23ded0",1472:"cf183316",1505:"7c2ff145",2005:"1ac1bfe9",2072:"67348500",2129:"1c127a4d",2197:"935f2afb",2255:"beef0c9d",2535:"814f3328",2640:"a96c96b0",3012:"3a25b5a8",3045:"888566f1",3085:"1f391b9e",3089:"a6aa9e1f",3173:"2caf5b7a",3247:"7f2ac8b7",3255:"53944420",3462:"6ff82968",3608:"9e4087bc",3650:"425cbb82",3864:"57fe7727",4e3:"701614d9",4009:"79e7cc44",4013:"01a85c17",4039:"174e7412",4137:"1aef51bd",4195:"c4f5d8e4",4252:"8a062262",4332:"6c624b4c",4429:"eea0bf40",4461:"a3030d1c",4626:"d9ea5336",4781:"e2a53654",4803:"9201de17",4865:"e8e3d8c7",4932:"a0fd2c7a",5062:"69369ae2",5397:"312c2bc5",5433:"9f1290f8",5502:"9b620520",5853:"447d9066",6054:"7cd974c8",6103:"ccc49370",6146:"608ca171",6270:"e4877132",6276:"4e28a08b",6280:"85f3506b",6322:"a5467962",6393:"e04ffa77",6552:"a0b9ee13",6777:"720cd117",6778:"85456a26",6851:"4279c33d",6918:"92293c9c",7127:"7e205c4a",7223:"3020eeee",7254:"97c22b42",7306:"f6aebfbf",7363:"26f1f3a5",7374:"6ba1d2c1",7414:"393be207",7453:"4b098d2e",7597:"5e8c322a",7749:"462b6925",7750:"3a2d3092",7800:"d58f2f6c",7833:"65578b65",7868:"7343edf0",7918:"17896441",7936:"3a0cb3a9",8032:"1b0c702f",8046:"c606405e",8069:"2eae8f3a",8494:"0a33f845",8610:"6875c492",8652:"bcd9df7e",8902:"a4d0ee3e",9012:"3f83d40d",9107:"82cdda05",9187:"295686f2",9226:"707baeff",9248:"9693de07",9476:"90fdad0c",9514:"1be78505",9671:"0e384e19",9712:"3dc7c79a",9881:"f7831d67"}[e]||e)+"."+{53:"b86e0db9",65:"17ef5892",277:"bbd90c09",301:"3a7e2072",332:"e39aa5be",371:"1d24f64f",681:"4558f268",703:"be6fb0ae",1003:"efa19797",1036:"5240f2d2",1198:"ee2bfa3a",1213:"4c8b8cc4",1375:"85fc53a6",1472:"a0777f80",1505:"ac336ebd",2005:"f2bf20fc",2072:"87bb0878",2129:"e0eca003",2197:"573f4904",2255:"4aa76dec",2529:"824aaa15",2535:"67afd6ac",2640:"9625b0b7",3012:"c940503c",3045:"c84be8e6",3085:"8c38cce5",3089:"41e3be1f",3173:"fb27d836",3247:"8abfaf58",3255:"27db4706",3462:"29aca210",3608:"66639242",3650:"502897e0",3864:"3e0f7dbe",4e3:"b7cdf6a3",4009:"e7c059b4",4013:"e1f6e46d",4039:"278c7070",4137:"00f6c2a2",4195:"e4059570",4252:"cbc8323a",4332:"e8a2b732",4429:"d246f899",4461:"b4b09a9e",4626:"e404f1b9",4781:"76660bfe",4803:"0cd9e16a",4865:"466ea9bf",4932:"056dfe52",4972:"8f7e7193",5062:"40f3e7eb",5397:"1cae9e75",5433:"fc5347ee",5502:"24b6eb50",5853:"6f6365f6",6054:"d53df99d",6103:"7974c41a",6146:"16383731",6270:"a44bdaa5",6276:"9d0d3668",6280:"8dbd18b7",6322:"0d3ac253",6393:"27b2c405",6552:"44bd6e72",6777:"2c532199",6778:"c7f422f9",6851:"515811b0",6918:"f34397f9",7127:"e104054d",7223:"529bb797",7254:"7897abd7",7306:"7f7f6372",7363:"b59e8529",7374:"18dbd34f",7414:"ca4670d5",7453:"08f2b0db",7540:"0456e07a",7597:"0e2257b5",7749:"893c9e8a",7750:"3b268b53",7800:"e097f77c",7833:"dec9cbbd",7868:"37d89f2e",7918:"3625818f",7936:"90c37f11",8032:"615124fd",8046:"9920ffc9",8069:"71012eb7",8494:"ef3278d5",8610:"d7a7cd5d",8652:"d5b56b64",8902:"23ad8e66",9012:"85863279",9107:"b5ca7cc4",9187:"8e1050ca",9226:"5f897078",9248:"51fa3223",9476:"91e0f5f9",9514:"b1e810d5",9671:"a6b2b144",9712:"4a919036",9881:"78b34abf"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,c)=>Object.prototype.hasOwnProperty.call(e,c),f={},d="@sern/website:",r.l=(e,c,a,b)=>{if(f[e])f[e].push(c);else{var t,o;if(void 0!==a)for(var n=document.getElementsByTagName("script"),i=0;i{t.onerror=t.onload=null,clearTimeout(s);var d=f[e];if(delete f[e],t.parentNode&&t.parentNode.removeChild(t),d&&d.forEach((e=>e(a))),c)return c(a)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=l.bind(null,t.onerror),t.onload=l.bind(null,t.onload),o&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="/fr/",r.gca=function(e){return e={17896441:"7918",53944420:"3255",67348500:"2072","5bc4ccbc":"53","2f13d849":"65",c4348237:"277","5ae130ee":"301","73bd57bd":"332",edc18331:"371",f1cc380d:"681","981f6151":"703","67e3e25a":"1003",c0846785:"1036","476a0444":"1198","7f673e27":"1213",cf23ded0:"1375",cf183316:"1472","7c2ff145":"1505","1ac1bfe9":"2005","1c127a4d":"2129","935f2afb":"2197",beef0c9d:"2255","814f3328":"2535",a96c96b0:"2640","3a25b5a8":"3012","888566f1":"3045","1f391b9e":"3085",a6aa9e1f:"3089","2caf5b7a":"3173","7f2ac8b7":"3247","6ff82968":"3462","9e4087bc":"3608","425cbb82":"3650","57fe7727":"3864","701614d9":"4000","79e7cc44":"4009","01a85c17":"4013","174e7412":"4039","1aef51bd":"4137",c4f5d8e4:"4195","8a062262":"4252","6c624b4c":"4332",eea0bf40:"4429",a3030d1c:"4461",d9ea5336:"4626",e2a53654:"4781","9201de17":"4803",e8e3d8c7:"4865",a0fd2c7a:"4932","69369ae2":"5062","312c2bc5":"5397","9f1290f8":"5433","9b620520":"5502","447d9066":"5853","7cd974c8":"6054",ccc49370:"6103","608ca171":"6146",e4877132:"6270","4e28a08b":"6276","85f3506b":"6280",a5467962:"6322",e04ffa77:"6393",a0b9ee13:"6552","720cd117":"6777","85456a26":"6778","4279c33d":"6851","92293c9c":"6918","7e205c4a":"7127","3020eeee":"7223","97c22b42":"7254",f6aebfbf:"7306","26f1f3a5":"7363","6ba1d2c1":"7374","393be207":"7414","4b098d2e":"7453","5e8c322a":"7597","462b6925":"7749","3a2d3092":"7750",d58f2f6c:"7800","65578b65":"7833","7343edf0":"7868","3a0cb3a9":"7936","1b0c702f":"8032",c606405e:"8046","2eae8f3a":"8069","0a33f845":"8494","6875c492":"8610",bcd9df7e:"8652",a4d0ee3e:"8902","3f83d40d":"9012","82cdda05":"9107","295686f2":"9187","707baeff":"9226","9693de07":"9248","90fdad0c":"9476","1be78505":"9514","0e384e19":"9671","3dc7c79a":"9712",f7831d67:"9881"}[e]||e,r.p+r.u(e)},(()=>{var e={1303:0,532:0};r.f.j=(c,a)=>{var f=r.o(e,c)?e[c]:void 0;if(0!==f)if(f)a.push(f[2]);else if(/^(1303|532)$/.test(c))e[c]=0;else{var d=new Promise(((a,d)=>f=e[c]=[a,d]));a.push(f[2]=d);var b=r.p+r.u(c),t=new Error;r.l(b,(a=>{if(r.o(e,c)&&(0!==(f=e[c])&&(e[c]=void 0),f)){var d=a&&("load"===a.type?"missing":a.type),b=a&&a.target&&a.target.src;t.message="Loading chunk "+c+" failed.\n("+d+": "+b+")",t.name="ChunkLoadError",t.type=d,t.request=b,f[1](t)}}),"chunk-"+c,c)}},r.O.j=c=>0===e[c];var c=(c,a)=>{var f,d,b=a[0],t=a[1],o=a[2],n=0;if(b.some((c=>0!==e[c]))){for(f in t)r.o(t,f)&&(r.m[f]=t[f]);if(o)var i=o(r)}for(c&&c(a);n Blog | sern - Handlers. Redefined. - + @@ -38,7 +38,7 @@ Extend the new CommandExecutabl I believe that you should build your own structures however you might like and customize to your liking. In addition, decorators now unofficially work with modules! Feel free to use TypeScript experimental decorators to augment and customize your classes.

Deprecation Warnings

The next update will bring sern v2 with some important features. Here are some things to watch out for.

Dependencies Update

  • TypeScript has been updated to 4.8.3
  • Discord.js has been upgraded to 14.5
- + \ No newline at end of file diff --git a/fr/blog/1.2.0.html b/fr/blog/1.2.0.html index be46ac938..da2966d76 100644 --- a/fr/blog/1.2.0.html +++ b/fr/blog/1.2.0.html @@ -6,7 +6,7 @@ Release 1.2.0 | sern - Handlers. Redefined. - + @@ -17,7 +17,7 @@ Extend the new CommandExec I believe that you should build your own structures however you might like and customize to your liking. In addition, decorators now unofficially work with modules! Feel free to use TypeScript experimental decorators to augment and customize your classes.

Deprecation Warnings

The next update will bring sern v2 with some important features. Here are some things to watch out for.

Dependencies Update

  • TypeScript has been updated to 4.8.3
  • Discord.js has been upgraded to 14.5
- + \ No newline at end of file diff --git a/fr/blog/2.0.0.html b/fr/blog/2.0.0.html index 6bb620d18..c0d080ab5 100644 --- a/fr/blog/2.0.0.html +++ b/fr/blog/2.0.0.html @@ -6,7 +6,7 @@ Release 2.0.0 | sern - Handlers. Redefined. - + @@ -27,7 +27,7 @@ data structure. Use this wisely as no guarantees are made and crashes can happen CommandType.StringSelect. The remaining SelectMenus are CommandType.RoleSelect, CommandType.ChannelSelect, CommandType.UserSelect, CommandType.MentionableSelect

commands/roleselect.ts
export default commandModule({
type: CommandType.RoleSelect,
execute(ctx) {
ctx.reply('role select')
},
})

In addition, commandModules with ContextMenus have been renamed.

- CommandType.MenuUser, CommandType.MenuMsg 
+ CommandType.CtxUser, CommandType.CtxMsg

Typings Simplification

Pre 2.0:




Post 2.0:

CommandPlugin<T> and EventPlugin<T> typings have also been static'ified, transformed from types to interfaces

Breaking Changes


All deprecation warnings from previous versions have taken effect, and are removed in 2.0.
- type Module = EventModule | CommandModule
+ type AnyModule = EventModule | CommandModule

-export type SpreadParams<T extends (...args: never) => unknown> = (
- args: Parameters<T>[number],
- ) => unknown;

Override type has been removed due to redundancy

- discord.js : 14.5
+ discord.js : 14.7

-typescript: 4.7
+ typescript: 4.9
+ interface Wrapper {
+ readonly defaultPrefix?: string;
+ readonly commands: string;
+ readonly events?: string;
+ readonly containerConfig : {
+ get: (...keys: (keyof Dependencies)[]) => unknown[];
+ }
+}

- interface Wrapper {
- readonly client: Client;
- readonly sernEmitter?: SernEmitter;
- readonly defaultPrefix?: string;
- readonly commands: string;
- readonly events?:
- | string
- | { mod: EventModule; absPath: string }[]
- | (() => { mod: EventModule; absPath: string }[]);
-}
+ DefaultLogger
+ DefaultModuleManager
+ SernEmitter
+ DefaultErrorHandling
+ type Singleton<T> = () => T
+ type Transient<T> = () => () => T;
+ type LogPayload<T = unknown> = { message: T }
+ export const single = <T>() => T
+ export const many = <T>() => () => T

Including the previous section, some names to symbols and data structures were altered to be better represented. view changelog

Context refactoring

The context data structure has been internally altered to represent its dynamics better.

- + \ No newline at end of file diff --git a/fr/blog/2.5.0.html b/fr/blog/2.5.0.html index 1b2f5deb1..509d8bedb 100644 --- a/fr/blog/2.5.0.html +++ b/fr/blog/2.5.0.html @@ -6,7 +6,7 @@ Release 2.5.0 | sern - Handlers. Redefined. - + @@ -15,7 +15,7 @@ Wow! We're increasing our semantic versioning by +0.3.9
What does this mean?

Breaking changes

Deprecations

Reason

  • The naming of plugins was getting too complex. For example, plugin naming evolved into CommandModuleCommandPlugin, CommandModuleEventPlugin and more.
  • I realize that this affects all plugins. I have updated all plugins to match these changes
  • The old way of declaring plugins has been deprecated in favor of newer functions that facilitate and ease typings
- + \ No newline at end of file diff --git a/fr/blog/archive.html b/fr/blog/archive.html index f2fbc0c07..6882a2395 100644 --- a/fr/blog/archive.html +++ b/fr/blog/archive.html @@ -6,13 +6,13 @@ Archive | sern - Handlers. Redefined. - + - + \ No newline at end of file diff --git a/fr/blog/getting-started.html b/fr/blog/getting-started.html index 29e353ead..9bf5f1808 100644 --- a/fr/blog/getting-started.html +++ b/fr/blog/getting-started.html @@ -6,7 +6,7 @@ How to get started with sern! | sern - Handlers. Redefined. - + @@ -15,7 +15,7 @@ A: Install the publish extension. Little video:

Q: Any snippet VSCode extension?
A: Yeah, just search sern Snippets made by a verified publisher called Sr Izan (haha yeah me funny!)

Q: HEEEELLLPPPP!!!!
A: Hey, don't panic! We're here to help so, join the Discord. We're trying to get to 100 members!

- + \ No newline at end of file diff --git a/fr/blog/tags.html b/fr/blog/tags.html index 2163974ab..e2cfd8b19 100644 --- a/fr/blog/tags.html +++ b/fr/blog/tags.html @@ -6,13 +6,13 @@ Tags | sern - Handlers. Redefined. - + - + \ No newline at end of file diff --git a/fr/blog/tags/guides.html b/fr/blog/tags/guides.html index be8f5edb6..afb95317a 100644 --- a/fr/blog/tags/guides.html +++ b/fr/blog/tags/guides.html @@ -6,7 +6,7 @@ Un article tagués avec « guides » | sern - Handlers. Redefined. - + @@ -15,7 +15,7 @@ A: Install the publish extension. Little video:

Q: Any snippet VSCode extension?
A: Yeah, just search sern Snippets made by a verified publisher called Sr Izan (haha yeah me funny!)

Q: HEEEELLLPPPP!!!!
A: Hey, don't panic! We're here to help so, join the Discord. We're trying to get to 100 members!

- + \ No newline at end of file diff --git a/fr/blog/tags/release.html b/fr/blog/tags/release.html index 4520c18fa..ab81a7c21 100644 --- a/fr/blog/tags/release.html +++ b/fr/blog/tags/release.html @@ -6,7 +6,7 @@ 3 articles tagués avec « release » | sern - Handlers. Redefined. - + @@ -35,7 +35,7 @@ Extend the new Comman I believe that you should build your own structures however you might like and customize to your liking. In addition, decorators now unofficially work with modules! Feel free to use TypeScript experimental decorators to augment and customize your classes.

Deprecation Warnings

The next update will bring sern v2 with some important features. Here are some things to watch out for.

Dependencies Update

  • TypeScript has been updated to 4.8.3
  • Discord.js has been upgraded to 14.5
- + \ No newline at end of file diff --git a/fr/docs/api.html b/fr/docs/api.html index e91b3ad82..0fd13c77f 100644 --- a/fr/docs/api.html +++ b/fr/docs/api.html @@ -6,13 +6,13 @@ @sern/handler | sern - Handlers. Redefined. - +

@sern/handler

Handlers. Redefined.

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

NPM versionNPM downloadsLicense MITdocs.rsLines of code

📜 Installation

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

Why?

  • Most handlers don't support discord.js 14.7+
  • Customizable commands
  • Plug and play or customize to your liking
  • Embraces reactive programming for consistent and reliable backend
  • Customizable logger, error handling, and more
  • Active development and growing community

👀 Quick Look

  • Support for discord.js v14 and all interactions
  • Hybrid commands
  • Lightweight and customizable
  • ESM, CommonJS and TypeScript support
  • A powerful CLI and awesome community-made plugins

👶 Basic Usage

index.js (CommonJS)

// Import the discord.js Client and GatewayIntentBits
const { Client, GatewayIntentBits } = require('discord.js');

// Import Sern namespace
const { Sern } = require('@sern/handler');

// Our configuration file
const { defaultPrefix, token } = require('./config.json');

const client = new Client({
intents: [
GatewayIntentBits.Guilds,
GatewayIntentBits.GuildMembers,
GatewayIntentBits.GuildMessages
]
});
export const useContainer = Sern.makeDependencies({
build: root => root
.add({ '@sern/client': single(client) })
.add({ '@sern/logger': single(new DefaultLogging()) })
});

//View docs for all options
Sern.init({
defaultPrefix: '!', // removing defaultPrefix will shut down text commands
commands: 'src/commands',
// events: 'src/events' (optional),
containerConfig : {
get: useContainer
}
});

client.login(token);

ping.js (CommonJS)

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

exports.default = commandModule({
name: 'ping',
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/CommandExecutable.html b/fr/docs/api/classes/CommandExecutable.html index b4d967d9d..1ce021173 100644 --- a/fr/docs/api/classes/CommandExecutable.html +++ b/fr/docs/api/classes/CommandExecutable.html @@ -6,13 +6,13 @@ Class: CommandExecutable<Type> | sern - Handlers. Redefined. - +

Class: CommandExecutable<Type>

Experimental

Will be refactored / changed in future

Type parameters

NameType
Typeextends CommandType

Constructors

constructor

new CommandExecutable<Type>()

Type parameters

NameType
Typeextends CommandType

Properties

execute

Abstract execute: CommandModuleDefs[Type][``"execute"``]

Defined in

src/handler/sern.ts:121


onEvent

onEvent: ControlPlugin<any[]>[] = []

Defined in

src/handler/sern.ts:120


plugins

plugins: InitPlugin<any[]>[] = []

Defined in

src/handler/sern.ts:119


type

Abstract type: Type

Defined in

src/handler/sern.ts:118

- + \ No newline at end of file diff --git a/fr/docs/api/classes/Context.html b/fr/docs/api/classes/Context.html index 087bead72..8fb5b5baf 100644 --- a/fr/docs/api/classes/Context.html +++ b/fr/docs/api/classes/Context.html @@ -6,7 +6,7 @@ Class: Context | sern - Handlers. Redefined. - + @@ -18,7 +18,7 @@ Message

Returns CommandType.Slash or the event fired in a Both command was ChatInputCommandInteraction

Returns

Message<boolean>

Defined in

src/handler/structures/context.ts:29


user

get user(): User

If context is holding a message, message.author else, interaction.user

Returns

User

Defined in

src/handler/structures/context.ts:52

Methods

isMessage

isMessage(): boolean

Returns

boolean

Defined in

src/handler/structures/context.ts:82


isSlash

isSlash(): boolean

Returns

boolean

Defined in

src/handler/structures/context.ts:86


reply

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

Parameters

NameType
contentReplyOptions

Returns

Promise<Message<boolean>>

Defined in

src/handler/structures/context.ts:97


wrap

Static wrap(wrappable): Context

Parameters

NameType
wrappableMessage<boolean> | ChatInputCommandInteraction<CacheType>

Returns

Context

Defined in

src/handler/structures/context.ts:90

- + \ No newline at end of file diff --git a/fr/docs/api/classes/DefaultErrorHandling.html b/fr/docs/api/classes/DefaultErrorHandling.html index de60d5d7b..82cb3a4b2 100644 --- a/fr/docs/api/classes/DefaultErrorHandling.html +++ b/fr/docs/api/classes/DefaultErrorHandling.html @@ -6,13 +6,13 @@ Class: DefaultErrorHandling | sern - Handlers. Redefined. - +

Class: DefaultErrorHandling

Implements

Constructors

constructor

new DefaultErrorHandling()

Properties

keepAlive

keepAlive: number = 5

Number of times the process should throw an error until crashing and exiting

Implementation of

ErrorHandling.keepAlive

Defined in

src/handler/contracts/errorHandling.ts:24

Methods

crash

crash(error): never

Utility function to crash

Parameters

NameType
errorError

Returns

never

Implementation of

ErrorHandling.crash

Defined in

src/handler/contracts/errorHandling.ts:25


updateAlive

updateAlive(e): void

A function that is called on every crash. Updates keepAlive

Parameters

NameType
eError

Returns

void

Implementation of

ErrorHandling.updateAlive

Defined in

src/handler/contracts/errorHandling.ts:28

- + \ No newline at end of file diff --git a/fr/docs/api/classes/DefaultLogging.html b/fr/docs/api/classes/DefaultLogging.html index e759f59ea..ff34b4703 100644 --- a/fr/docs/api/classes/DefaultLogging.html +++ b/fr/docs/api/classes/DefaultLogging.html @@ -6,13 +6,13 @@ Class: DefaultLogging | sern - Handlers. Redefined. - +

Class: DefaultLogging

Implements

Constructors

constructor

new DefaultLogging()

Methods

date

Private date(): Date

Returns

Date

Defined in

src/handler/contracts/logging.ts:11


debug

debug(payload): void

Parameters

NameType
payloadLogPayload<unknown>

Returns

void

Implementation of

Logging.debug

Defined in

src/handler/contracts/logging.ts:12


error

error(payload): void

Parameters

NameType
payloadLogPayload<unknown>

Returns

void

Implementation of

Logging.error

Defined in

src/handler/contracts/logging.ts:16


info

info(payload): void

Parameters

NameType
payloadLogPayload<unknown>

Returns

void

Implementation of

Logging.info

Defined in

src/handler/contracts/logging.ts:20


warning

warning(payload): void

Parameters

NameType
payloadLogPayload<unknown>

Returns

void

Implementation of

Logging.warning

Defined in

src/handler/contracts/logging.ts:24

- + \ No newline at end of file diff --git a/fr/docs/api/classes/DefaultModuleManager.html b/fr/docs/api/classes/DefaultModuleManager.html index 004bf59ee..83c5d8141 100644 --- a/fr/docs/api/classes/DefaultModuleManager.html +++ b/fr/docs/api/classes/DefaultModuleManager.html @@ -6,13 +6,13 @@ Class: DefaultModuleManager | sern - Handlers. Redefined. - +

Class: DefaultModuleManager

Implements

Constructors

constructor

new DefaultModuleManager(moduleStore)

Parameters

NameType
moduleStoreModuleStore

Defined in

src/handler/contracts/moduleManager.ts:13

Methods

get

get<T>(strat): undefined | Processed<CommandModuleDefs[T]>

Type parameters

NameType
Textends CommandType

Parameters

NameType
strat(ms: ModuleStore) => undefined | Processed<CommandModuleDefs[T]>

Returns

undefined | Processed<CommandModuleDefs[T]>

Implementation of

ModuleManager.get

Defined in

src/handler/contracts/moduleManager.ts:14


set

set(strat): void

Parameters

NameType
strat(ms: ModuleStore) => void

Returns

void

Implementation of

ModuleManager.set

Defined in

src/handler/contracts/moduleManager.ts:20

- + \ No newline at end of file diff --git a/fr/docs/api/classes/EventExecutable.html b/fr/docs/api/classes/EventExecutable.html index 323dd5215..f16ea5719 100644 --- a/fr/docs/api/classes/EventExecutable.html +++ b/fr/docs/api/classes/EventExecutable.html @@ -6,13 +6,13 @@ Class: EventExecutable<Type> | sern - Handlers. Redefined. - +

Class: EventExecutable<Type>

Experimental

Will be refactored in future

Type parameters

NameType
Typeextends EventType

Constructors

constructor

new EventExecutable<Type>()

Type parameters

NameType
Typeextends EventType

Properties

execute

Abstract execute: EventModuleDefs[Type][``"execute"``]

Defined in

src/handler/sern.ts:130


onEvent

onEvent: ControlPlugin<any[]>[] = []

Defined in

src/handler/sern.ts:129


plugins

plugins: InitPlugin<any[]>[] = []

Defined in

src/handler/sern.ts:128


type

Abstract type: Type

Defined in

src/handler/sern.ts:127

- + \ No newline at end of file diff --git a/fr/docs/api/classes/ModuleStore.html b/fr/docs/api/classes/ModuleStore.html index b0cc59e10..3bea98143 100644 --- a/fr/docs/api/classes/ModuleStore.html +++ b/fr/docs/api/classes/ModuleStore.html @@ -6,14 +6,14 @@ Class: ModuleStore | sern - Handlers. Redefined. - +

Class: ModuleStore

Storing all command modules This dependency is usually injected into ModuleManager

Constructors

constructor

new ModuleStore()

Properties

ApplicationCommands

Readonly ApplicationCommands: Object

Type declaration

NameType
1Map<string, Processed<CommandModule>>
2Map<string, Processed<CommandModule>>
3Map<string, Processed<CommandModule>>

Defined in

src/handler/structures/moduleStore.ts:11


BothCommands

Readonly BothCommands: Map<string, Processed<CommandModule>>

Defined in

src/handler/structures/moduleStore.ts:10


InteractionHandlers

Readonly InteractionHandlers: Object

Type declaration

NameType
2Map<string, Processed<CommandModule>>
3Map<string, Processed<CommandModule>>
5Map<string, Processed<CommandModule>>
6Map<string, Processed<CommandModule>>
7Map<string, Processed<CommandModule>>
8Map<string, Processed<CommandModule>>

Defined in

src/handler/structures/moduleStore.ts:18


ModalSubmit

Readonly ModalSubmit: Map<string, Processed<CommandModule>>

Defined in

src/handler/structures/moduleStore.ts:16


TextCommands

Readonly TextCommands: Map<string, Processed<CommandModule>>

Defined in

src/handler/structures/moduleStore.ts:17

- + \ No newline at end of file diff --git a/fr/docs/api/classes/SernEmitter.html b/fr/docs/api/classes/SernEmitter.html index 661fbc001..ac100ce51 100644 --- a/fr/docs/api/classes/SernEmitter.html +++ b/fr/docs/api/classes/SernEmitter.html @@ -6,7 +6,7 @@ Class: SernEmitter | sern - Handlers. Redefined. - + @@ -50,7 +50,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
emitter_NodeEventTarget
eventNamestring | symbol
options?StaticEventEmitterOptions

Returns

Promise<any[]>

Inherited from

EventEmitter.once

Defined in

node_modules/.pnpm/@types+node@18.11.18/node_modules/@types/node/ts4.8/events.d.ts:194

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

Parameters

NameType
emitter_DOMEventTarget
eventNamestring
options?StaticEventEmitterOptions

Returns

Promise<any[]>

Inherited from

EventEmitter.once

Defined in

node_modules/.pnpm/@types+node@18.11.18/node_modules/@types/node/ts4.8/events.d.ts:195

Static once<E, K>(eventEmitter, eventName): Promise<E extends Client<boolean> ? ClientEvents[K] : any[]>

Type parameters

NameType
Eextends __module
Kextends keyof ClientEvents

Parameters

NameType
eventEmitterE
eventNameE extends Client<boolean> ? K : string

Returns

Promise<E extends Client<boolean> ? ClientEvents[K] : any[]>

Inherited from

EventEmitter.once

Defined in

node_modules/.pnpm/discord.js@14.7.1/node_modules/discord.js/typings/index.d.ts:218


payload

Static Private payload<T>(type, module?, reason?): T

Type parameters

NameType
Textends Payload

Parameters

NameType
typePayloadType
module?Module
reason?unknown

Returns

T

Defined in

src/handler/sernEmitter.ts:40


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/.pnpm/@types+node@18.11.18/node_modules/@types/node/ts4.8/events.d.ts:317


success

Static success(module): { module: AnyModule ; type: Success } & { type: Success } & never & never

Creates a compliant SernEmitter module success payload

Parameters

NameType
moduleModule

Returns

{ module: AnyModule ; type: Success } & { type: Success } & never & never

Defined in

src/handler/sernEmitter.ts:66


warning

Static warning(reason): never & never & { reason: string ; type: Warning } & { type: Warning }

Creates a compliant SernEmitter module warning payload

Parameters

NameType
reasonunknown

Returns

never & never & { reason: string ; type: Warning } & { type: Warning }

Defined in

src/handler/sernEmitter.ts:76

- + \ No newline at end of file diff --git a/fr/docs/api/enums/CommandType.html b/fr/docs/api/enums/CommandType.html index 132747f85..20cabc97c 100644 --- a/fr/docs/api/enums/CommandType.html +++ b/fr/docs/api/enums/CommandType.html @@ -6,13 +6,13 @@ Enumeration: CommandType | sern - Handlers. Redefined. - +

Enumeration: CommandType

A bitfield that discriminates command modules

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:28


Button

Button = 16

The CommandType for ButtonInteraction commands

Defined in

src/handler/structures/enums.ts:40


ChannelSelect

ChannelSelect = 256

The CommandType for the other SelectMenuInteractions

Defined in

src/handler/structures/enums.ts:52


CtxMsg

CtxMsg = 8

The CommandType for MessageContextMenuInteraction commands

Defined in

src/handler/structures/enums.ts:36


CtxUser

CtxUser = 4

The CommandType for UserContextMenuInteraction commands

Defined in

src/handler/structures/enums.ts:32


MentionableSelect

MentionableSelect = 512

Defined in

src/handler/structures/enums.ts:53


Modal = 64

The CommandType for ModalSubmitInteraction commands

Defined in

src/handler/structures/enums.ts:48


RoleSelect

RoleSelect = 1024

Defined in

src/handler/structures/enums.ts:54


Slash

Slash = 2

The CommandType for slash commands

Defined in

src/handler/structures/enums.ts:24


StringSelect

StringSelect = 32

The CommandType for StringSelectMenuInteraction commands

Defined in

src/handler/structures/enums.ts:44


Text

Text = 1

The CommandType for text commands

Defined in

src/handler/structures/enums.ts:20


UserSelect

UserSelect = 2048

Defined in

src/handler/structures/enums.ts:55

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

Enumeration: EventType

A bitfield that discriminates event modules

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:77


External

External = 3

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

Defined in

src/handler/structures/enums.ts:86


Sern

Sern = 2

The EventType for handling sern events

Defined in

src/handler/structures/enums.ts:81

- + \ No newline at end of file diff --git a/fr/docs/api/enums/PayloadType.html b/fr/docs/api/enums/PayloadType.html index 84cc7093f..ed90ae073 100644 --- a/fr/docs/api/enums/PayloadType.html +++ b/fr/docs/api/enums/PayloadType.html @@ -6,13 +6,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 e1e2a3ddc..771bd3512 100644 --- a/fr/docs/api/enums/PluginType.html +++ b/fr/docs/api/enums/PluginType.html @@ -6,13 +6,13 @@ Enumeration: PluginType | sern - Handlers. Redefined. - +

Enumeration: PluginType

A bitfield that discriminates plugins

Example

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

Enumeration Members

Command

Command = 1

Deprecated

Use PluginType.Init instead

Defined in

src/handler/structures/enums.ts:112


Control

Control = 2

The PluginType for EventPlugins

Defined in

src/handler/structures/enums.ts:121


Event

Event = 2

Deprecated

Use PluginType.Control instead

Defined in

src/handler/structures/enums.ts:117


Init

Init = 1

The PluginType for InitPlugins

Defined in

src/handler/structures/enums.ts:107

- + \ No newline at end of file diff --git a/fr/docs/api/enums/SernError.html b/fr/docs/api/enums/SernError.html index fa2a8fa18..0f093b232 100644 --- a/fr/docs/api/enums/SernError.html +++ b/fr/docs/api/enums/SernError.html @@ -6,14 +6,14 @@ Enumeration: SernError | sern - Handlers. Redefined. - +

Enumeration: SernError

Enumeration Members

InvalidModuleType

InvalidModuleType = "Detected an unknown module type"

Throws when registering an invalid module. This means it is undefined or an invalid command type was provided

Defined in

src/handler/structures/errors.ts:9


MismatchEvent

MismatchEvent = "You cannot use message when an interaction fired or vice versa"

A crash that occurs when accessing an invalid property of Context

Defined in

src/handler/structures/errors.ts:29


MismatchModule

MismatchModule = "A module type mismatched with event emitted!"

Attempted to lookup module in command module store. Nothing was found!

Defined in

src/handler/structures/errors.ts:17


MissingRequired

MissingRequired = "@sern/client is required but was not found"

Required Dependency not found

Defined in

src/handler/structures/errors.ts:37


NotSupportedInteraction

NotSupportedInteraction = "This interaction is not supported."

Unsupported interaction at this moment.

Defined in

src/handler/structures/errors.ts:21


NotSupportedYet

NotSupportedYet = "This feature is not supported yet"

Unsupported feature attempted to access at this time

Defined in

src/handler/structures/errors.ts:33


PluginFailure

PluginFailure = "A plugin failed to call controller.next()"

One plugin called controller.stop() (end command execution / loading)

Defined in

src/handler/structures/errors.ts:25


UndefinedModule

UndefinedModule = "A module could not be detected"

Attempted to lookup module in command module store. Nothing was found!

Defined in

src/handler/structures/errors.ts:13

- + \ No newline at end of file diff --git a/fr/docs/api/interfaces/AutocompleteCommand.html b/fr/docs/api/interfaces/AutocompleteCommand.html index 77ee91152..2389d54cc 100644 --- a/fr/docs/api/interfaces/AutocompleteCommand.html +++ b/fr/docs/api/interfaces/AutocompleteCommand.html @@ -6,13 +6,13 @@ Interface: AutocompleteCommand | sern - Handlers. Redefined. - + - + \ No newline at end of file diff --git a/fr/docs/api/interfaces/AutocompletePlugin.html b/fr/docs/api/interfaces/AutocompletePlugin.html index b418c868d..361c19a2f 100644 --- a/fr/docs/api/interfaces/AutocompletePlugin.html +++ b/fr/docs/api/interfaces/AutocompletePlugin.html @@ -6,13 +6,13 @@ Interface: AutocompletePlugin | sern - Handlers. Redefined. - +

Interface: AutocompletePlugin

Hierarchy

Properties

description

Optional description: string

Deprecated

will be removed in the next update

Inherited from

Plugin.description

Defined in

src/handler/plugins/plugin.ts:33


execute

execute: (autocmp: AutocompleteInteraction<CacheType>, controlller: Controller) => Awaitable<Result<void, void>>

Type declaration

▸ (autocmp, controlller): Awaitable<Result<void, void>>

Parameters
NameType
autocmpAutocompleteInteraction<CacheType>
controlllerController
Returns

Awaitable<Result<void, void>>

Defined in

src/handler/plugins/plugin.ts:73


name

Optional name: string

Deprecated

will be removed in the next update

Inherited from

Plugin.name

Defined in

src/handler/plugins/plugin.ts:31


type

type: Event

Overrides

Plugin.type

Defined in

src/handler/plugins/plugin.ts:72

- + \ No newline at end of file diff --git a/fr/docs/api/interfaces/BothCommand.html b/fr/docs/api/interfaces/BothCommand.html index a82badb8c..26e445b7a 100644 --- a/fr/docs/api/interfaces/BothCommand.html +++ b/fr/docs/api/interfaces/BothCommand.html @@ -6,13 +6,13 @@ Interface: BothCommand | sern - Handlers. Redefined. - +

Interface: BothCommand

Hierarchy

Properties

alias

Optional alias: string[]

Defined in

src/types/module.ts:57


description

description: string

Overrides

Module.description

Defined in

src/types/module.ts:58


execute

execute: (ctx: Context, args: Args) => unknown

Type declaration

▸ (ctx, args): unknown

Parameters
NameType
ctxContext
argsArgs
Returns

unknown

Overrides

Module.execute

Defined in

src/types/module.ts:60


name

Optional name: string

Inherited from

Module.name

Defined in

src/types/module.ts:35


onEvent

onEvent: ControlPlugin<any[]>[]

Inherited from

Module.onEvent

Defined in

src/types/module.ts:36


options

Optional options: (SernSubCommandData | SernSubCommandGroupData | BaseOptions)[]

Defined in

src/types/module.ts:59


plugins

plugins: InitPlugin<any[]>[]

Inherited from

Module.plugins

Defined in

src/types/module.ts:37


type

type: Both

Overrides

Module.type

Defined in

src/types/module.ts:56

- + \ No newline at end of file diff --git a/fr/docs/api/interfaces/ButtonCommand.html b/fr/docs/api/interfaces/ButtonCommand.html index bd931c38e..0062061b8 100644 --- a/fr/docs/api/interfaces/ButtonCommand.html +++ b/fr/docs/api/interfaces/ButtonCommand.html @@ -6,13 +6,13 @@ Interface: ButtonCommand | sern - Handlers. Redefined. - +

Interface: ButtonCommand

Hierarchy

Properties

description

Optional description: string

Inherited from

Module.description

Defined in

src/types/module.ts:38


execute

execute: (ctx: ButtonInteraction<CacheType>) => unknown

Type declaration

▸ (ctx): unknown

Parameters
NameType
ctxButtonInteraction<CacheType>
Returns

unknown

Overrides

Module.execute

Defined in

src/types/module.ts:75


name

Optional name: string

Inherited from

Module.name

Defined in

src/types/module.ts:35


onEvent

onEvent: ControlPlugin<any[]>[]

Inherited from

Module.onEvent

Defined in

src/types/module.ts:36


plugins

plugins: InitPlugin<any[]>[]

Inherited from

Module.plugins

Defined in

src/types/module.ts:37


type

type: Button

Overrides

Module.type

Defined in

src/types/module.ts:74

- + \ No newline at end of file diff --git a/fr/docs/api/interfaces/ChannelSelectCommand.html b/fr/docs/api/interfaces/ChannelSelectCommand.html index d6e20758c..2047be115 100644 --- a/fr/docs/api/interfaces/ChannelSelectCommand.html +++ b/fr/docs/api/interfaces/ChannelSelectCommand.html @@ -6,13 +6,13 @@ Interface: ChannelSelectCommand | sern - Handlers. Redefined. - +

Interface: ChannelSelectCommand

Hierarchy

  • Module

    ChannelSelectCommand

Properties

description

Optional description: string

Inherited from

Module.description

Defined in

src/types/module.ts:38


execute

execute: (ctx: ChannelSelectMenuInteraction<CacheType>) => unknown

Type declaration

▸ (ctx): unknown

Parameters
NameType
ctxChannelSelectMenuInteraction<CacheType>
Returns

unknown

Overrides

Module.execute

Defined in

src/types/module.ts:85


name

Optional name: string

Inherited from

Module.name

Defined in

src/types/module.ts:35


onEvent

onEvent: ControlPlugin<any[]>[]

Inherited from

Module.onEvent

Defined in

src/types/module.ts:36


plugins

plugins: InitPlugin<any[]>[]

Inherited from

Module.plugins

Defined in

src/types/module.ts:37


type

type: ChannelSelect

Overrides

Module.type

Defined in

src/types/module.ts:84

- + \ No newline at end of file diff --git a/fr/docs/api/interfaces/CommandPlugin.html b/fr/docs/api/interfaces/CommandPlugin.html index 0922a0eeb..6f09ac001 100644 --- a/fr/docs/api/interfaces/CommandPlugin.html +++ b/fr/docs/api/interfaces/CommandPlugin.html @@ -6,13 +6,13 @@ Interface: CommandPlugin<T> | sern - Handlers. Redefined. - +

Interface: CommandPlugin<T>

Deprecated

Use the newer helper functions and import { controller } from '@sern/handler'

Type parameters

NameType
Textends CommandType = CommandType

Properties

description

Optional description: string

Defined in

src/types/plugin.ts:51


execute

execute: (m: InitArgs<Processed<CommandModule>>, controller?: Deprecated<"Please import controller instead">) => PluginResult

Type declaration

▸ (m, controller?): PluginResult

Parameters
NameType
mInitArgs<Processed<CommandModule>>
controller?Deprecated<"Please import controller instead">
Returns

PluginResult

Defined in

src/types/plugin.ts:53


name

Optional name: string

Defined in

src/types/plugin.ts:50


type

type: Init

Defined in

src/types/plugin.ts:52

- + \ No newline at end of file diff --git a/fr/docs/api/interfaces/ContextMenuMsg.html b/fr/docs/api/interfaces/ContextMenuMsg.html index 39f7e25c6..dba9565e5 100644 --- a/fr/docs/api/interfaces/ContextMenuMsg.html +++ b/fr/docs/api/interfaces/ContextMenuMsg.html @@ -6,13 +6,13 @@ Interface: ContextMenuMsg | sern - Handlers. Redefined. - +

Interface: ContextMenuMsg

Hierarchy

Properties

description

Optional description: string

Inherited from

Module.description

Defined in

src/types/module.ts:38


execute

execute: (ctx: MessageContextMenuCommandInteraction<CacheType>) => unknown

Type declaration

▸ (ctx): unknown

Parameters
NameType
ctxMessageContextMenuCommandInteraction<CacheType>
Returns

unknown

Overrides

Module.execute

Defined in

src/types/module.ts:70


name

Optional name: string

Inherited from

Module.name

Defined in

src/types/module.ts:35


onEvent

onEvent: ControlPlugin<any[]>[]

Inherited from

Module.onEvent

Defined in

src/types/module.ts:36


plugins

plugins: InitPlugin<any[]>[]

Inherited from

Module.plugins

Defined in

src/types/module.ts:37


type

type: CtxMsg

Overrides

Module.type

Defined in

src/types/module.ts:69

- + \ No newline at end of file diff --git a/fr/docs/api/interfaces/ContextMenuUser.html b/fr/docs/api/interfaces/ContextMenuUser.html index a0cb1766c..63a956f94 100644 --- a/fr/docs/api/interfaces/ContextMenuUser.html +++ b/fr/docs/api/interfaces/ContextMenuUser.html @@ -6,13 +6,13 @@ Interface: ContextMenuUser | sern - Handlers. Redefined. - +

Interface: ContextMenuUser

Hierarchy

Properties

description

Optional description: string

Inherited from

Module.description

Defined in

src/types/module.ts:38


execute

execute: (ctx: UserContextMenuCommandInteraction<CacheType>) => unknown

Type declaration

▸ (ctx): unknown

Parameters
NameType
ctxUserContextMenuCommandInteraction<CacheType>
Returns

unknown

Overrides

Module.execute

Defined in

src/types/module.ts:65


name

Optional name: string

Inherited from

Module.name

Defined in

src/types/module.ts:35


onEvent

onEvent: ControlPlugin<any[]>[]

Inherited from

Module.onEvent

Defined in

src/types/module.ts:36


plugins

plugins: InitPlugin<any[]>[]

Inherited from

Module.plugins

Defined in

src/types/module.ts:37


type

type: CtxUser

Overrides

Module.type

Defined in

src/types/module.ts:64

- + \ No newline at end of file diff --git a/fr/docs/api/interfaces/ControlPlugin.html b/fr/docs/api/interfaces/ControlPlugin.html index 41996c626..f75350a8d 100644 --- a/fr/docs/api/interfaces/ControlPlugin.html +++ b/fr/docs/api/interfaces/ControlPlugin.html @@ -6,13 +6,13 @@ Interface: ControlPlugin<Args> | sern - Handlers. Redefined. - + - + \ No newline at end of file diff --git a/fr/docs/api/interfaces/Controller.html b/fr/docs/api/interfaces/Controller.html index 0062e1f93..f87986e1f 100644 --- a/fr/docs/api/interfaces/Controller.html +++ b/fr/docs/api/interfaces/Controller.html @@ -6,13 +6,13 @@ Interface: Controller | sern - Handlers. Redefined. - + - + \ No newline at end of file diff --git a/fr/docs/api/interfaces/Dependencies.html b/fr/docs/api/interfaces/Dependencies.html index 38ff875cd..4972068cc 100644 --- a/fr/docs/api/interfaces/Dependencies.html +++ b/fr/docs/api/interfaces/Dependencies.html @@ -6,13 +6,13 @@ Interface: Dependencies | sern - Handlers. Redefined. - +
- + \ No newline at end of file diff --git a/fr/docs/api/interfaces/DependencyConfiguration.html b/fr/docs/api/interfaces/DependencyConfiguration.html index ac2ffa264..bec1ee15b 100644 --- a/fr/docs/api/interfaces/DependencyConfiguration.html +++ b/fr/docs/api/interfaces/DependencyConfiguration.html @@ -6,13 +6,13 @@ Interface: DependencyConfiguration<T> | sern - Handlers. Redefined. - + - + \ No newline at end of file diff --git a/fr/docs/api/interfaces/DiscordEmitterPlugin.html b/fr/docs/api/interfaces/DiscordEmitterPlugin.html index f23a4abac..89aa36123 100644 --- a/fr/docs/api/interfaces/DiscordEmitterPlugin.html +++ b/fr/docs/api/interfaces/DiscordEmitterPlugin.html @@ -6,13 +6,13 @@ Interface: DiscordEmitterPlugin | sern - Handlers. Redefined. - +

Interface: DiscordEmitterPlugin

Hierarchy

  • Plugin

    DiscordEmitterPlugin

Properties

description

Optional description: string

Deprecated

will be removed in the next update

Inherited from

Plugin.description

Defined in

src/handler/plugins/plugin.ts:33


execute

execute: (payload: { absPath: string ; mod: DiscordEventCommand<keyof ClientEvents> & { name: string } }, controller: Controller) => Awaitable<Result<void, void>>

Type declaration

▸ (payload, controller): Awaitable<Result<void, void>>

Parameters
NameType
payloadObject
payload.absPathstring
payload.modDiscordEventCommand<keyof ClientEvents> & { name: string }
controllerController
Returns

Awaitable<Result<void, void>>

Defined in

src/handler/plugins/plugin.ts:49


name

Optional name: string

Deprecated

will be removed in the next update

Inherited from

Plugin.name

Defined in

src/handler/plugins/plugin.ts:31


type

type: Command

Overrides

Plugin.type

Defined in

src/handler/plugins/plugin.ts:48

- + \ No newline at end of file diff --git a/fr/docs/api/interfaces/DiscordEventCommand.html b/fr/docs/api/interfaces/DiscordEventCommand.html index 32d5a0760..df1276905 100644 --- a/fr/docs/api/interfaces/DiscordEventCommand.html +++ b/fr/docs/api/interfaces/DiscordEventCommand.html @@ -6,13 +6,13 @@ Interface: DiscordEventCommand<T> | sern - Handlers. Redefined. - +

Interface: DiscordEventCommand<T>

Type parameters

NameType
Textends keyof ClientEvents = keyof ClientEvents

Hierarchy

Properties

description

Optional description: string

Inherited from

Module.description

Defined in

src/types/module.ts:38


name

Optional name: T

Overrides

Module.name

Defined in

src/types/module.ts:123


onEvent

onEvent: ControlPlugin<any[]>[]

Inherited from

Module.onEvent

Defined in

src/types/module.ts:36


plugins

plugins: InitPlugin<any[]>[]

Inherited from

Module.plugins

Defined in

src/types/module.ts:37


type

type: Discord

Overrides

Module.type

Defined in

src/types/module.ts:124

Methods

execute

execute(...args): unknown

Parameters

NameType
...argsClientEvents[T]

Returns

unknown

Overrides

Module.execute

Defined in

src/types/module.ts:125

- + \ No newline at end of file diff --git a/fr/docs/api/interfaces/DiscordEventPlugin.html b/fr/docs/api/interfaces/DiscordEventPlugin.html index 74d68f9dc..9c82d7847 100644 --- a/fr/docs/api/interfaces/DiscordEventPlugin.html +++ b/fr/docs/api/interfaces/DiscordEventPlugin.html @@ -6,13 +6,13 @@ Interface: DiscordEventPlugin<T> | sern - Handlers. Redefined. - +

Interface: DiscordEventPlugin<T>

Type parameters

NameType
Textends keyof ClientEvents = keyof ClientEvents

Hierarchy

Properties

description

Optional description: string

Deprecated

will be removed in the next update

Inherited from

Plugin.description

Defined in

src/handler/plugins/plugin.ts:33


execute

execute: (args: ClientEvents[T], controller: Controller) => Awaitable<Result<void, void>>

Type declaration

▸ (args, controller): Awaitable<Result<void, void>>

Parameters
NameType
argsClientEvents[T]
controllerController
Returns

Awaitable<Result<void, void>>

Defined in

src/handler/plugins/plugin.ts:105


name

Optional name: T

Deprecated

will be removed in the next update

Overrides

Plugin.name

Defined in

src/handler/plugins/plugin.ts:103


type

type: Event

Overrides

Plugin.type

Defined in

src/handler/plugins/plugin.ts:104

- + \ No newline at end of file diff --git a/fr/docs/api/interfaces/ErrorHandling.html b/fr/docs/api/interfaces/ErrorHandling.html index 755edfdf6..8f92751b9 100644 --- a/fr/docs/api/interfaces/ErrorHandling.html +++ b/fr/docs/api/interfaces/ErrorHandling.html @@ -6,13 +6,13 @@ Interface: ErrorHandling | sern - Handlers. Redefined. - +
- + \ No newline at end of file diff --git a/fr/docs/api/interfaces/EventPlugin.html b/fr/docs/api/interfaces/EventPlugin.html index d9fb37e38..c9b42c787 100644 --- a/fr/docs/api/interfaces/EventPlugin.html +++ b/fr/docs/api/interfaces/EventPlugin.html @@ -6,13 +6,13 @@ Interface: EventPlugin<T> | sern - Handlers. Redefined. - +
- + \ No newline at end of file diff --git a/fr/docs/api/interfaces/ExternalEmitterPlugin.html b/fr/docs/api/interfaces/ExternalEmitterPlugin.html index 13f4ffa4b..55a03a288 100644 --- a/fr/docs/api/interfaces/ExternalEmitterPlugin.html +++ b/fr/docs/api/interfaces/ExternalEmitterPlugin.html @@ -6,13 +6,13 @@ Interface: ExternalEmitterPlugin | sern - Handlers. Redefined. - +

Interface: ExternalEmitterPlugin

Hierarchy

  • Plugin

    ExternalEmitterPlugin

Properties

description

Optional description: string

Deprecated

will be removed in the next update

Inherited from

Plugin.description

Defined in

src/handler/plugins/plugin.ts:33


execute

execute: (payload: { absPath: string ; mod: ExternalEventCommand & { name: string } }, controller: Controller) => Awaitable<Result<void, void>>

Type declaration

▸ (payload, controller): Awaitable<Result<void, void>>

Parameters
NameType
payloadObject
payload.absPathstring
payload.modExternalEventCommand & { name: string }
controllerController
Returns

Awaitable<Result<void, void>>

Defined in

src/handler/plugins/plugin.ts:57


name

Optional name: string

Deprecated

will be removed in the next update

Inherited from

Plugin.name

Defined in

src/handler/plugins/plugin.ts:31


type

type: Command

Overrides

Plugin.type

Defined in

src/handler/plugins/plugin.ts:56

- + \ No newline at end of file diff --git a/fr/docs/api/interfaces/ExternalEventCommand.html b/fr/docs/api/interfaces/ExternalEventCommand.html index ef652d221..65b7b90b7 100644 --- a/fr/docs/api/interfaces/ExternalEventCommand.html +++ b/fr/docs/api/interfaces/ExternalEventCommand.html @@ -6,13 +6,13 @@ Interface: ExternalEventCommand | sern - Handlers. Redefined. - +

Interface: ExternalEventCommand

Hierarchy

  • Module

    ExternalEventCommand

Properties

description

Optional description: string

Inherited from

Module.description

Defined in

src/types/module.ts:38


emitter

emitter: string

Defined in

src/types/module.ts:130


name

Optional name: string

Overrides

Module.name

Defined in

src/types/module.ts:129


onEvent

onEvent: ControlPlugin<any[]>[]

Inherited from

Module.onEvent

Defined in

src/types/module.ts:36


plugins

plugins: InitPlugin<any[]>[]

Inherited from

Module.plugins

Defined in

src/types/module.ts:37


type

type: External

Overrides

Module.type

Defined in

src/types/module.ts:131

Methods

execute

execute(...args): unknown

Parameters

NameType
...argsunknown[]

Returns

unknown

Overrides

Module.execute

Defined in

src/types/module.ts:132

- + \ No newline at end of file diff --git a/fr/docs/api/interfaces/ExternalEventPlugin.html b/fr/docs/api/interfaces/ExternalEventPlugin.html index 136a0f7a3..f8d79ff80 100644 --- a/fr/docs/api/interfaces/ExternalEventPlugin.html +++ b/fr/docs/api/interfaces/ExternalEventPlugin.html @@ -6,13 +6,13 @@ Interface: ExternalEventPlugin | sern - Handlers. Redefined. - +

Interface: ExternalEventPlugin

Hierarchy

Properties

description

Optional description: string

Deprecated

will be removed in the next update

Inherited from

Plugin.description

Defined in

src/handler/plugins/plugin.ts:33


execute

execute: (args: unknown[], controller: Controller) => Awaitable<Result<void, void>>

Type declaration

▸ (args, controller): Awaitable<Result<void, void>>

Parameters
NameType
argsunknown[]
controllerController
Returns

Awaitable<Result<void, void>>

Defined in

src/handler/plugins/plugin.ts:99


name

Optional name: string

Deprecated

will be removed in the next update

Inherited from

Plugin.name

Defined in

src/handler/plugins/plugin.ts:31


type

type: Event

Overrides

Plugin.type

Defined in

src/handler/plugins/plugin.ts:98

- + \ No newline at end of file diff --git a/fr/docs/api/interfaces/InitArgs.html b/fr/docs/api/interfaces/InitArgs.html index 77fb409f8..55b973147 100644 --- a/fr/docs/api/interfaces/InitArgs.html +++ b/fr/docs/api/interfaces/InitArgs.html @@ -6,13 +6,13 @@ Interface: InitArgs<T> | sern - Handlers. Redefined. - + - + \ No newline at end of file diff --git a/fr/docs/api/interfaces/InitPlugin.html b/fr/docs/api/interfaces/InitPlugin.html index 5920ce868..b347add9a 100644 --- a/fr/docs/api/interfaces/InitPlugin.html +++ b/fr/docs/api/interfaces/InitPlugin.html @@ -6,13 +6,13 @@ Interface: InitPlugin<Args> | sern - Handlers. Redefined. - + - + \ No newline at end of file diff --git a/fr/docs/api/interfaces/Logging.html b/fr/docs/api/interfaces/Logging.html index 40eec7f57..23d9c09eb 100644 --- a/fr/docs/api/interfaces/Logging.html +++ b/fr/docs/api/interfaces/Logging.html @@ -6,13 +6,13 @@ Interface: Logging<T> | sern - Handlers. Redefined. - +
- + \ No newline at end of file diff --git a/fr/docs/api/interfaces/MentionableSelectCommand.html b/fr/docs/api/interfaces/MentionableSelectCommand.html index e24d00954..cf919b5eb 100644 --- a/fr/docs/api/interfaces/MentionableSelectCommand.html +++ b/fr/docs/api/interfaces/MentionableSelectCommand.html @@ -6,13 +6,13 @@ Interface: MentionableSelectCommand | sern - Handlers. Redefined. - +

Interface: MentionableSelectCommand

Hierarchy

  • Module

    MentionableSelectCommand

Properties

description

Optional description: string

Inherited from

Module.description

Defined in

src/types/module.ts:38


execute

execute: (ctx: MentionableSelectMenuInteraction<CacheType>) => unknown

Type declaration

▸ (ctx): unknown

Parameters
NameType
ctxMentionableSelectMenuInteraction<CacheType>
Returns

unknown

Overrides

Module.execute

Defined in

src/types/module.ts:95


name

Optional name: string

Inherited from

Module.name

Defined in

src/types/module.ts:35


onEvent

onEvent: ControlPlugin<any[]>[]

Inherited from

Module.onEvent

Defined in

src/types/module.ts:36


plugins

plugins: InitPlugin<any[]>[]

Inherited from

Module.plugins

Defined in

src/types/module.ts:37


type

type: MentionableSelect

Overrides

Module.type

Defined in

src/types/module.ts:94

- + \ No newline at end of file diff --git a/fr/docs/api/interfaces/ModalSubmitCommand.html b/fr/docs/api/interfaces/ModalSubmitCommand.html index e62c992cf..1a9fff7b4 100644 --- a/fr/docs/api/interfaces/ModalSubmitCommand.html +++ b/fr/docs/api/interfaces/ModalSubmitCommand.html @@ -6,13 +6,13 @@ Interface: ModalSubmitCommand | sern - Handlers. Redefined. - +

Interface: ModalSubmitCommand

Hierarchy

Properties

description

Optional description: string

Inherited from

Module.description

Defined in

src/types/module.ts:38


execute

execute: (ctx: ModalSubmitInteraction<CacheType>) => unknown

Type declaration

▸ (ctx): unknown

Parameters
NameType
ctxModalSubmitInteraction<CacheType>
Returns

unknown

Overrides

Module.execute

Defined in

src/types/module.ts:105


name

Optional name: string

Inherited from

Module.name

Defined in

src/types/module.ts:35


onEvent

onEvent: ControlPlugin<any[]>[]

Inherited from

Module.onEvent

Defined in

src/types/module.ts:36


plugins

plugins: InitPlugin<any[]>[]

Inherited from

Module.plugins

Defined in

src/types/module.ts:37


type

type: Modal

Overrides

Module.type

Defined in

src/types/module.ts:104

- + \ No newline at end of file diff --git a/fr/docs/api/interfaces/Module.html b/fr/docs/api/interfaces/Module.html index 1f5476e77..00de81b9b 100644 --- a/fr/docs/api/interfaces/Module.html +++ b/fr/docs/api/interfaces/Module.html @@ -6,13 +6,13 @@ Interface: Module | sern - Handlers. Redefined. - +

Interface: Module

Hierarchy

Properties

description

Optional description: string

Defined in

src/types/module.ts:38


execute

execute: (...args: any[]) => any

Type declaration

▸ (...args): any

Parameters
NameType
...argsany[]
Returns

any

Defined in

src/types/module.ts:39


name

Optional name: string

Defined in

src/types/module.ts:35


onEvent

onEvent: ControlPlugin<any[]>[]

Defined in

src/types/module.ts:36


plugins

plugins: InitPlugin<any[]>[]

Defined in

src/types/module.ts:37


type

type: CommandType | EventType

Defined in

src/types/module.ts:34

- + \ No newline at end of file diff --git a/fr/docs/api/interfaces/ModuleManager.html b/fr/docs/api/interfaces/ModuleManager.html index 6869c7d8f..a94c28a22 100644 --- a/fr/docs/api/interfaces/ModuleManager.html +++ b/fr/docs/api/interfaces/ModuleManager.html @@ -6,13 +6,13 @@ Interface: ModuleManager | sern - Handlers. Redefined. - + - + \ No newline at end of file diff --git a/fr/docs/api/interfaces/Plugin.html b/fr/docs/api/interfaces/Plugin.html index 3180d30e2..15e855162 100644 --- a/fr/docs/api/interfaces/Plugin.html +++ b/fr/docs/api/interfaces/Plugin.html @@ -6,13 +6,13 @@ Interface: Plugin<Args> | sern - Handlers. Redefined. - + - + \ No newline at end of file diff --git a/fr/docs/api/interfaces/RoleSelectCommand.html b/fr/docs/api/interfaces/RoleSelectCommand.html index 1eb8ff81d..b9033d4db 100644 --- a/fr/docs/api/interfaces/RoleSelectCommand.html +++ b/fr/docs/api/interfaces/RoleSelectCommand.html @@ -6,13 +6,13 @@ Interface: RoleSelectCommand | sern - Handlers. Redefined. - +

Interface: RoleSelectCommand

Hierarchy

Properties

description

Optional description: string

Inherited from

Module.description

Defined in

src/types/module.ts:38


execute

execute: (ctx: RoleSelectMenuInteraction<CacheType>) => unknown

Type declaration

▸ (ctx): unknown

Parameters
NameType
ctxRoleSelectMenuInteraction<CacheType>
Returns

unknown

Overrides

Module.execute

Defined in

src/types/module.ts:90


name

Optional name: string

Inherited from

Module.name

Defined in

src/types/module.ts:35


onEvent

onEvent: ControlPlugin<any[]>[]

Inherited from

Module.onEvent

Defined in

src/types/module.ts:36


plugins

plugins: InitPlugin<any[]>[]

Inherited from

Module.plugins

Defined in

src/types/module.ts:37


type

type: RoleSelect

Overrides

Module.type

Defined in

src/types/module.ts:89

- + \ No newline at end of file diff --git a/fr/docs/api/interfaces/SernAutocompleteData.html b/fr/docs/api/interfaces/SernAutocompleteData.html index ee4e0da55..bd207ef97 100644 --- a/fr/docs/api/interfaces/SernAutocompleteData.html +++ b/fr/docs/api/interfaces/SernAutocompleteData.html @@ -6,13 +6,13 @@ Interface: SernAutocompleteData | sern - Handlers. Redefined. - +

Interface: SernAutocompleteData

Hierarchy

  • Omit<BaseApplicationCommandOptionsData, "autocomplete">

    SernAutocompleteData

Properties

autocomplete

autocomplete: true

Defined in

src/types/module.ts:177


command

command: AutocompleteCommand

Defined in

src/types/module.ts:182


description

description: string

Inherited from

Omit.description

Defined in

node_modules/.pnpm/discord.js@14.7.1/node_modules/discord.js/typings/index.d.ts:4200


descriptionLocalizations

Optional descriptionLocalizations: Partial<Record<"id" | "en-US" | "en-GB" | "bg" | "zh-CN" | "zh-TW" | "hr" | "cs" | "da" | "nl" | "fi" | "fr" | "de" | "el" | "hi" | "hu" | "it" | "ja" | "ko" | "lt" | "no" | "pl" | "pt-BR" | "ro" | "ru" | "es-ES" | "sv-SE" | "th" | "tr" | "uk" | "vi", null | string>>

Inherited from

Omit.descriptionLocalizations

Defined in

node_modules/.pnpm/discord.js@14.7.1/node_modules/discord.js/typings/index.d.ts:4201


name

name: string

Inherited from

Omit.name

Defined in

node_modules/.pnpm/discord.js@14.7.1/node_modules/discord.js/typings/index.d.ts:4198


nameLocalizations

Optional nameLocalizations: Partial<Record<"id" | "en-US" | "en-GB" | "bg" | "zh-CN" | "zh-TW" | "hr" | "cs" | "da" | "nl" | "fi" | "fr" | "de" | "el" | "hi" | "hu" | "it" | "ja" | "ko" | "lt" | "no" | "pl" | "pt-BR" | "ro" | "ru" | "es-ES" | "sv-SE" | "th" | "tr" | "uk" | "vi", null | string>>

Inherited from

Omit.nameLocalizations

Defined in

node_modules/.pnpm/discord.js@14.7.1/node_modules/discord.js/typings/index.d.ts:4199


required

Optional required: boolean

Inherited from

Omit.required

Defined in

node_modules/.pnpm/discord.js@14.7.1/node_modules/discord.js/typings/index.d.ts:4202


type

type: String | Integer | Number

Defined in

src/types/module.ts:178

- + \ No newline at end of file diff --git a/fr/docs/api/interfaces/SernEmitterPlugin.html b/fr/docs/api/interfaces/SernEmitterPlugin.html index 878551c05..b2dfee2e7 100644 --- a/fr/docs/api/interfaces/SernEmitterPlugin.html +++ b/fr/docs/api/interfaces/SernEmitterPlugin.html @@ -6,13 +6,13 @@ Interface: SernEmitterPlugin | sern - Handlers. Redefined. - +

Interface: SernEmitterPlugin

Hierarchy

Properties

description

Optional description: string

Deprecated

will be removed in the next update

Inherited from

Plugin.description

Defined in

src/handler/plugins/plugin.ts:33


execute

execute: (payload: { absPath: string ; mod: SernEventCommand<keyof SernEventsMapping> & { name: string } }, controller: Controller) => Awaitable<Result<void, void>>

Type declaration

▸ (payload, controller): Awaitable<Result<void, void>>

Parameters
NameType
payloadObject
payload.absPathstring
payload.modSernEventCommand<keyof SernEventsMapping> & { name: string }
controllerController
Returns

Awaitable<Result<void, void>>

Defined in

src/handler/plugins/plugin.ts:65


name

Optional name: string

Deprecated

will be removed in the next update

Inherited from

Plugin.name

Defined in

src/handler/plugins/plugin.ts:31


type

type: Command

Overrides

Plugin.type

Defined in

src/handler/plugins/plugin.ts:64

- + \ No newline at end of file diff --git a/fr/docs/api/interfaces/SernEventCommand.html b/fr/docs/api/interfaces/SernEventCommand.html index e983cd196..64f9c7c8d 100644 --- a/fr/docs/api/interfaces/SernEventCommand.html +++ b/fr/docs/api/interfaces/SernEventCommand.html @@ -6,13 +6,13 @@ Interface: SernEventCommand<T> | sern - Handlers. Redefined. - +

Interface: SernEventCommand<T>

Type parameters

NameType
Textends keyof SernEventsMapping = keyof SernEventsMapping

Hierarchy

Properties

description

Optional description: string

Inherited from

Module.description

Defined in

src/types/module.ts:38


name

Optional name: T

Overrides

Module.name

Defined in

src/types/module.ts:116


onEvent

onEvent: ControlPlugin<any[]>[]

Inherited from

Module.onEvent

Defined in

src/types/module.ts:36


plugins

plugins: InitPlugin<any[]>[]

Inherited from

Module.plugins

Defined in

src/types/module.ts:37


type

type: Sern

Overrides

Module.type

Defined in

src/types/module.ts:117

Methods

execute

execute(...args): unknown

Parameters

NameType
...argsSernEventsMapping[T]

Returns

unknown

Overrides

Module.execute

Defined in

src/types/module.ts:118

- + \ No newline at end of file diff --git a/fr/docs/api/interfaces/SernEventPlugin.html b/fr/docs/api/interfaces/SernEventPlugin.html index 422a40f00..4bd7f4554 100644 --- a/fr/docs/api/interfaces/SernEventPlugin.html +++ b/fr/docs/api/interfaces/SernEventPlugin.html @@ -6,13 +6,13 @@ Interface: SernEventPlugin<T> | sern - Handlers. Redefined. - +

Interface: SernEventPlugin<T>

Type parameters

NameType
Textends keyof SernEventsMapping = keyof SernEventsMapping

Hierarchy

Properties

description

Optional description: string

Deprecated

will be removed in the next update

Inherited from

Plugin.description

Defined in

src/handler/plugins/plugin.ts:33


execute

execute: (args: SernEventsMapping[T], controller: Controller) => Awaitable<Result<void, void>>

Type declaration

▸ (args, controller): Awaitable<Result<void, void>>

Parameters
NameType
argsSernEventsMapping[T]
controllerController
Returns

Awaitable<Result<void, void>>

Defined in

src/handler/plugins/plugin.ts:91


name

Optional name: T

Deprecated

will be removed in the next update

Overrides

Plugin.name

Defined in

src/handler/plugins/plugin.ts:89


type

type: Event

Overrides

Plugin.type

Defined in

src/handler/plugins/plugin.ts:90

- + \ No newline at end of file diff --git a/fr/docs/api/interfaces/SernSubCommandData.html b/fr/docs/api/interfaces/SernSubCommandData.html index 00d06b6c4..4dcafcb7e 100644 --- a/fr/docs/api/interfaces/SernSubCommandData.html +++ b/fr/docs/api/interfaces/SernSubCommandData.html @@ -6,13 +6,13 @@ Interface: SernSubCommandData | sern - Handlers. Redefined. - +

Interface: SernSubCommandData

Hierarchy

  • BaseApplicationCommandOptionsData

    SernSubCommandData

Properties

autocomplete

Optional autocomplete: undefined

Inherited from

BaseApplicationCommandOptionsData.autocomplete

Defined in

node_modules/.pnpm/discord.js@14.7.1/node_modules/discord.js/typings/index.d.ts:4203


description

description: string

Inherited from

BaseApplicationCommandOptionsData.description

Defined in

node_modules/.pnpm/discord.js@14.7.1/node_modules/discord.js/typings/index.d.ts:4200


descriptionLocalizations

Optional descriptionLocalizations: Partial<Record<"id" | "en-US" | "en-GB" | "bg" | "zh-CN" | "zh-TW" | "hr" | "cs" | "da" | "nl" | "fi" | "fr" | "de" | "el" | "hi" | "hu" | "it" | "ja" | "ko" | "lt" | "no" | "pl" | "pt-BR" | "ro" | "ru" | "es-ES" | "sv-SE" | "th" | "tr" | "uk" | "vi", null | string>>

Inherited from

BaseApplicationCommandOptionsData.descriptionLocalizations

Defined in

node_modules/.pnpm/discord.js@14.7.1/node_modules/discord.js/typings/index.d.ts:4201


name

name: string

Inherited from

BaseApplicationCommandOptionsData.name

Defined in

node_modules/.pnpm/discord.js@14.7.1/node_modules/discord.js/typings/index.d.ts:4198


nameLocalizations

Optional nameLocalizations: Partial<Record<"id" | "en-US" | "en-GB" | "bg" | "zh-CN" | "zh-TW" | "hr" | "cs" | "da" | "nl" | "fi" | "fr" | "de" | "el" | "hi" | "hu" | "it" | "ja" | "ko" | "lt" | "no" | "pl" | "pt-BR" | "ro" | "ru" | "es-ES" | "sv-SE" | "th" | "tr" | "uk" | "vi", null | string>>

Inherited from

BaseApplicationCommandOptionsData.nameLocalizations

Defined in

node_modules/.pnpm/discord.js@14.7.1/node_modules/discord.js/typings/index.d.ts:4199


options

Optional options: BaseOptions[]

Defined in

src/types/module.ts:214


required

Optional required: undefined

Overrides

BaseApplicationCommandOptionsData.required

Defined in

src/types/module.ts:213


type

type: Subcommand

Defined in

src/types/module.ts:212

- + \ No newline at end of file diff --git a/fr/docs/api/interfaces/SernSubCommandGroupData.html b/fr/docs/api/interfaces/SernSubCommandGroupData.html index 995d0d2da..99f4bc713 100644 --- a/fr/docs/api/interfaces/SernSubCommandGroupData.html +++ b/fr/docs/api/interfaces/SernSubCommandGroupData.html @@ -6,13 +6,13 @@ Interface: SernSubCommandGroupData | sern - Handlers. Redefined. - +

Interface: SernSubCommandGroupData

Hierarchy

  • BaseApplicationCommandOptionsData

    SernSubCommandGroupData

Properties

autocomplete

Optional autocomplete: undefined

Inherited from

BaseApplicationCommandOptionsData.autocomplete

Defined in

node_modules/.pnpm/discord.js@14.7.1/node_modules/discord.js/typings/index.d.ts:4203


description

description: string

Inherited from

BaseApplicationCommandOptionsData.description

Defined in

node_modules/.pnpm/discord.js@14.7.1/node_modules/discord.js/typings/index.d.ts:4200


descriptionLocalizations

Optional descriptionLocalizations: Partial<Record<"id" | "en-US" | "en-GB" | "bg" | "zh-CN" | "zh-TW" | "hr" | "cs" | "da" | "nl" | "fi" | "fr" | "de" | "el" | "hi" | "hu" | "it" | "ja" | "ko" | "lt" | "no" | "pl" | "pt-BR" | "ro" | "ru" | "es-ES" | "sv-SE" | "th" | "tr" | "uk" | "vi", null | string>>

Inherited from

BaseApplicationCommandOptionsData.descriptionLocalizations

Defined in

node_modules/.pnpm/discord.js@14.7.1/node_modules/discord.js/typings/index.d.ts:4201


name

name: string

Inherited from

BaseApplicationCommandOptionsData.name

Defined in

node_modules/.pnpm/discord.js@14.7.1/node_modules/discord.js/typings/index.d.ts:4198


nameLocalizations

Optional nameLocalizations: Partial<Record<"id" | "en-US" | "en-GB" | "bg" | "zh-CN" | "zh-TW" | "hr" | "cs" | "da" | "nl" | "fi" | "fr" | "de" | "el" | "hi" | "hu" | "it" | "ja" | "ko" | "lt" | "no" | "pl" | "pt-BR" | "ro" | "ru" | "es-ES" | "sv-SE" | "th" | "tr" | "uk" | "vi", null | string>>

Inherited from

BaseApplicationCommandOptionsData.nameLocalizations

Defined in

node_modules/.pnpm/discord.js@14.7.1/node_modules/discord.js/typings/index.d.ts:4199


options

Optional options: SernSubCommandData[]

Defined in

src/types/module.ts:220


required

Optional required: undefined

Overrides

BaseApplicationCommandOptionsData.required

Defined in

src/types/module.ts:219


type

type: SubcommandGroup

Defined in

src/types/module.ts:218

- + \ No newline at end of file diff --git a/fr/docs/api/interfaces/SlashCommand.html b/fr/docs/api/interfaces/SlashCommand.html index 4cb097fc7..890b033d8 100644 --- a/fr/docs/api/interfaces/SlashCommand.html +++ b/fr/docs/api/interfaces/SlashCommand.html @@ -6,13 +6,13 @@ Interface: SlashCommand | sern - Handlers. Redefined. - +

Interface: SlashCommand

Hierarchy

Properties

description

description: string

Overrides

Module.description

Defined in

src/types/module.ts:50


execute

execute: (ctx: Context, args: ["slash", SlashOptions]) => unknown

Type declaration

▸ (ctx, args): unknown

Parameters
NameType
ctxContext
args["slash", SlashOptions]
Returns

unknown

Overrides

Module.execute

Defined in

src/types/module.ts:52


name

Optional name: string

Inherited from

Module.name

Defined in

src/types/module.ts:35


onEvent

onEvent: ControlPlugin<any[]>[]

Inherited from

Module.onEvent

Defined in

src/types/module.ts:36


options

Optional options: (SernSubCommandData | SernSubCommandGroupData | BaseOptions)[]

Defined in

src/types/module.ts:51


plugins

plugins: InitPlugin<any[]>[]

Inherited from

Module.plugins

Defined in

src/types/module.ts:37


type

type: Slash

Overrides

Module.type

Defined in

src/types/module.ts:49

- + \ No newline at end of file diff --git a/fr/docs/api/interfaces/StringSelectCommand.html b/fr/docs/api/interfaces/StringSelectCommand.html index 4a9cac31a..bf3eabfd5 100644 --- a/fr/docs/api/interfaces/StringSelectCommand.html +++ b/fr/docs/api/interfaces/StringSelectCommand.html @@ -6,13 +6,13 @@ Interface: StringSelectCommand | sern - Handlers. Redefined. - +

Interface: StringSelectCommand

Hierarchy

Properties

description

Optional description: string

Inherited from

Module.description

Defined in

src/types/module.ts:38


execute

execute: (ctx: StringSelectMenuInteraction<CacheType>) => unknown

Type declaration

▸ (ctx): unknown

Parameters
NameType
ctxStringSelectMenuInteraction<CacheType>
Returns

unknown

Overrides

Module.execute

Defined in

src/types/module.ts:80


name

Optional name: string

Inherited from

Module.name

Defined in

src/types/module.ts:35


onEvent

onEvent: ControlPlugin<any[]>[]

Inherited from

Module.onEvent

Defined in

src/types/module.ts:36


plugins

plugins: InitPlugin<any[]>[]

Inherited from

Module.plugins

Defined in

src/types/module.ts:37


type

type: StringSelect

Overrides

Module.type

Defined in

src/types/module.ts:79

- + \ No newline at end of file diff --git a/fr/docs/api/interfaces/TextCommand.html b/fr/docs/api/interfaces/TextCommand.html index 37e003c82..a4826e922 100644 --- a/fr/docs/api/interfaces/TextCommand.html +++ b/fr/docs/api/interfaces/TextCommand.html @@ -6,13 +6,13 @@ Interface: TextCommand | sern - Handlers. Redefined. - +

Interface: TextCommand

Hierarchy

Properties

alias

Optional alias: string[]

Defined in

src/types/module.ts:44


description

Optional description: string

Inherited from

Module.description

Defined in

src/types/module.ts:38


execute

execute: (ctx: Context, args: ["text", string[]]) => unknown

Type declaration

▸ (ctx, args): unknown

Parameters
NameType
ctxContext
args["text", string[]]
Returns

unknown

Overrides

Module.execute

Defined in

src/types/module.ts:45


name

Optional name: string

Inherited from

Module.name

Defined in

src/types/module.ts:35


onEvent

onEvent: ControlPlugin<any[]>[]

Inherited from

Module.onEvent

Defined in

src/types/module.ts:36


plugins

plugins: InitPlugin<any[]>[]

Inherited from

Module.plugins

Defined in

src/types/module.ts:37


type

type: Text

Overrides

Module.type

Defined in

src/types/module.ts:43

- + \ No newline at end of file diff --git a/fr/docs/api/interfaces/UserSelectCommand.html b/fr/docs/api/interfaces/UserSelectCommand.html index f3dd69d1d..90e45af2c 100644 --- a/fr/docs/api/interfaces/UserSelectCommand.html +++ b/fr/docs/api/interfaces/UserSelectCommand.html @@ -6,13 +6,13 @@ Interface: UserSelectCommand | sern - Handlers. Redefined. - +

Interface: UserSelectCommand

Hierarchy

Properties

description

Optional description: string

Inherited from

Module.description

Defined in

src/types/module.ts:38


execute

execute: (ctx: UserSelectMenuInteraction<CacheType>) => unknown

Type declaration

▸ (ctx): unknown

Parameters
NameType
ctxUserSelectMenuInteraction<CacheType>
Returns

unknown

Overrides

Module.execute

Defined in

src/types/module.ts:100


name

Optional name: string

Inherited from

Module.name

Defined in

src/types/module.ts:35


onEvent

onEvent: ControlPlugin<any[]>[]

Inherited from

Module.onEvent

Defined in

src/types/module.ts:36


plugins

plugins: InitPlugin<any[]>[]

Inherited from

Module.plugins

Defined in

src/types/module.ts:37


type

type: UserSelect

Overrides

Module.type

Defined in

src/types/module.ts:99

- + \ No newline at end of file diff --git a/fr/docs/api/interfaces/Wrapper.html b/fr/docs/api/interfaces/Wrapper.html index e18cf92fd..c5347e9df 100644 --- a/fr/docs/api/interfaces/Wrapper.html +++ b/fr/docs/api/interfaces/Wrapper.html @@ -6,13 +6,13 @@ Interface: Wrapper | sern - Handlers. Redefined. - +
- + \ No newline at end of file diff --git a/fr/docs/api/modules.html b/fr/docs/api/modules.html index cbfdc580e..011e0eff3 100644 --- a/fr/docs/api/modules.html +++ b/fr/docs/api/modules.html @@ -6,7 +6,7 @@ @sern/handler | sern - Handlers. Redefined. - + @@ -19,7 +19,7 @@ where typings can be very bad.

Type parameters

NameType
Textends () => () => unknown

Parameters

NameType
cbT

Returns

T

Defined in

src/handler/dependencies/lifetimeFunctions.ts:33


useContainerRaw

useContainerRaw<T>(): Container<T, {}>

Returns the underlying data structure holding all dependencies. Please be careful as this only gets the client's current state. Exposes some methods from iti

Type parameters

NameType
Textends Dependencies

Returns

Container<T, {}>

Defined in

src/handler/dependencies/provider.ts:54

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

Namespace: Sern

References

CommandExecutable

Re-exports CommandExecutable


EventExecutable

Re-exports EventExecutable


commandModule

Re-exports commandModule


controller

Re-exports controller


discordEvent

Re-exports discordEvent


eventModule

Re-exports eventModule

Functions

init

init(wrapper): void

Example

src/index.ts
Sern.init({
defaultPrefix: '!',
commands: 'dist/commands',
events: 'dist/events',
containerConfig : {
get: useContainer
}
})

Parameters

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

Returns

void

Defined in

src/handler/sern.ts:38


makeDependencies

makeDependencies<T>(conf): <V>(...keys: [...V[]]) => MapDeps<T, V>

Type parameters

NameType
Textends Dependencies

Parameters

NameTypeDescription
confDependencyConfiguration<T>a configuration for creating your project dependencies

Returns

fn

▸ <V>(...keys): MapDeps<T, V>

Type parameters
NameType
Vextends keyof T[]
Parameters
NameType
...keys[...V[]]
Returns

MapDeps<T, V>

Defined in

src/handler/sern.ts:107

- + \ No newline at end of file diff --git a/fr/docs/guide.html b/fr/docs/guide.html index b0347c7b1..9497cf416 100644 --- a/fr/docs/guide.html +++ b/fr/docs/guide.html @@ -6,13 +6,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 1ac4a2410..81bbb2d74 100644 --- a/fr/docs/guide/getting-started/choose-ide.html +++ b/fr/docs/guide/getting-started/choose-ide.html @@ -6,14 +6,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 93e2be1b2..ebea1c7fd 100644 --- a/fr/docs/guide/getting-started/preparing.html +++ b/fr/docs/guide/getting-started/preparing.html @@ -6,13 +6,13 @@ Preparing to Code | sern - Handlers. Redefined. - +
-

Preparing to Code

After installing and IDE you need to install node.

Click to download the LTS version of node right here.

After you downloaded node, you can start using us

Running this will install our CLI, which allows you to create a template project without writing a single line of code.

npm install -g @sern/cli

After you downloaded our CLI, run this,

sern init

You'll be welcomed with our interactive setup guide. Complete it, and your template project is ready. If you want to do more with it, continue reading. our guides

- +

Preparing to Code

After installing and IDE you need to install node.

Click to download the LTS version of node right here.

After you downloaded node, you can start using us

Running this will install our CLI, which allows you to create a template project without writing a single line of code.

npm install -g @sern/cli

If you want to do more with our CLI, continue reading our guides.

+ \ No newline at end of file diff --git a/fr/docs/guide/walkthrough/cli.html b/fr/docs/guide/walkthrough/cli.html index 127363b0c..6425c724e 100644 --- a/fr/docs/guide/walkthrough/cli.html +++ b/fr/docs/guide/walkthrough/cli.html @@ -6,7 +6,7 @@ CLI | sern - Handlers. Redefined. - + @@ -14,7 +14,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 86e17dafc..6bc933d7d 100644 --- a/fr/docs/guide/walkthrough/conclusion.html +++ b/fr/docs/guide/walkthrough/conclusion.html @@ -6,7 +6,7 @@ Conclusion | sern - Handlers. Redefined. - + @@ -14,7 +14,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 5bc2b83aa..5916ebe43 100644 --- a/fr/docs/guide/walkthrough/first-command.html +++ b/fr/docs/guide/walkthrough/first-command.html @@ -6,7 +6,7 @@ First Command | sern - Handlers. Redefined. - + @@ -15,7 +15,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 f5cd2bf16..f6402edfe 100644 --- a/fr/docs/guide/walkthrough/first-event.html +++ b/fr/docs/guide/walkthrough/first-event.html @@ -6,7 +6,7 @@ First Event Module | sern - Handlers. Redefined. - + @@ -14,7 +14,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 : [],
name: 'guildMemberAdd', //name of event.
async execute(member: GuildMember) {
(await member.guild.channels.fetch('channel-id') as TextChannel).send(`Welcome, ${member}`);
}
})

Javascript:


exports.default = eventModule({
type: EventType.Discord,
plugins : [], //NOT SUPPORTED YET!!
name: 'guildMemberAdd', //name of event.
async execute(member) {
(await member.guild.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 db8db2f85..19988a16a 100644 --- a/fr/docs/guide/walkthrough/goal.html +++ b/fr/docs/guide/walkthrough/goal.html @@ -6,7 +6,7 @@ Goal | sern - Handlers. Redefined. - + @@ -14,7 +14,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 956dc8a0e..5bfa3c0af 100644 --- a/fr/docs/guide/walkthrough/good-to-know.html +++ b/fr/docs/guide/walkthrough/good-to-know.html @@ -6,7 +6,7 @@ Good to know | sern - Handlers. Redefined. - + @@ -14,7 +14,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 3c0fcd334..93aa0d8e7 100644 --- a/fr/docs/guide/walkthrough/plugins.html +++ b/fr/docs/guide/walkthrough/plugins.html @@ -6,7 +6,7 @@ Plugins | sern - Handlers. Redefined. - + @@ -17,7 +17,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 c366bbe01..96b9045ca 100644 --- a/fr/docs/guide/walkthrough/sern-emitter.html +++ b/fr/docs/guide/walkthrough/sern-emitter.html @@ -6,13 +6,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
  • On default, sern creates a single SernEmitter for your bot process.
  • 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 1bca99310..a72ca98a2 100644 --- a/fr/docs/intro.html +++ b/fr/docs/intro.html @@ -6,13 +6,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.

astuce

If you have problems, join the discord server here

- + \ No newline at end of file diff --git a/fr/index.html b/fr/index.html index b06ef06ad..45018fef6 100644 --- a/fr/index.html +++ b/fr/index.html @@ -6,13 +6,13 @@ sern - Handlers. Redefined. | sern - Handlers. Redefined. - +

Handlers. Redefined.

With the support of the community made plugins and a powerful 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 303418e1d..49e5f3a21 100644 --- a/fr/markdown-page.html +++ b/fr/markdown-page.html @@ -6,13 +6,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 f2cc23a9c..6e27e9641 100644 --- a/fr/plugins.html +++ b/fr/plugins.html @@ -6,13 +6,13 @@ sern - Handlers. Redefined. - +

Coming soon

- + \ No newline at end of file diff --git a/index.html b/index.html index 4f02ab6c7..44052b8d5 100644 --- a/index.html +++ b/index.html @@ -6,13 +6,13 @@ sern - Handlers. Redefined. | sern - Handlers. Redefined. - +

Handlers. Redefined.

With the support of the community made plugins and a powerful 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 a067c1fe1..38ef8e4f4 100644 --- a/markdown-page.html +++ b/markdown-page.html @@ -6,13 +6,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 43b2d908c..6fb62f775 100644 --- a/plugins.html +++ b/plugins.html @@ -6,13 +6,13 @@ sern - Handlers. Redefined. - +

Coming soon

- + \ No newline at end of file diff --git a/tr/404.html b/tr/404.html index 077879175..68853cd3d 100644 --- a/tr/404.html +++ b/tr/404.html @@ -6,13 +6,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/3dc7c79a.cd0f4c9e.js b/tr/assets/js/3dc7c79a.a2af70f7.js similarity index 70% rename from tr/assets/js/3dc7c79a.cd0f4c9e.js rename to tr/assets/js/3dc7c79a.a2af70f7.js index fe1809898..1067b0b5d 100644 --- a/tr/assets/js/3dc7c79a.cd0f4c9e.js +++ b/tr/assets/js/3dc7c79a.a2af70f7.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_sern_website=self.webpackChunk_sern_website||[]).push([[9712],{3905:(e,t,r)=>{r.d(t,{Zo:()=>s,kt:()=>g});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function a(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var p=n.createContext({}),u=function(e){var t=n.useContext(p),r=t;return e&&(r="function"==typeof e?e(t):a(a({},t),e)),r},s=function(e){var t=u(e.components);return n.createElement(p.Provider,{value:t},e.children)},c={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,i=e.originalType,p=e.parentName,s=l(e,["components","mdxType","originalType","parentName"]),d=u(r),g=o,f=d["".concat(p,".").concat(g)]||d[g]||c[g]||i;return r?n.createElement(f,a(a({ref:t},s),{},{components:r})):n.createElement(f,a({ref:t},s))}));function g(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var i=r.length,a=new Array(i);a[0]=d;var l={};for(var p in t)hasOwnProperty.call(t,p)&&(l[p]=t[p]);l.originalType=e,l.mdxType="string"==typeof e?e:o,a[1]=l;for(var u=2;u{r.r(t),r.d(t,{assets:()=>p,contentTitle:()=>a,default:()=>c,frontMatter:()=>i,metadata:()=>l,toc:()=>u});var n=r(7462),o=(r(7294),r(3905));const i={},a="Preparing to Code",l={unversionedId:"guide/getting-started/preparing",id:"guide/getting-started/preparing",title:"Preparing to Code",description:"After installing and IDE you need to install node.",source:"@site/docs/guide/getting-started/preparing.md",sourceDirName:"guide/getting-started",slug:"/guide/getting-started/preparing",permalink:"/tr/docs/guide/getting-started/preparing",draft:!1,editUrl:"https://github.com/sern-handler/website/edit/main/docs/guide/getting-started/preparing.md",tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"Choosing an IDE",permalink:"/tr/docs/guide/getting-started/choose-ide"},next:{title:"Goal",permalink:"/tr/docs/guide/walkthrough/goal"}},p={},u=[],s={toc:u};function c(e){let{components:t,...r}=e;return(0,o.kt)("wrapper",(0,n.Z)({},s,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"preparing-to-code"},"Preparing to Code"),(0,o.kt)("p",null,"After installing and IDE you need to install node."),(0,o.kt)("p",null,(0,o.kt)("a",{parentName:"p",href:"https://nodejs.org/en/download/"},"Click to download the LTS version of node right here"),"."),(0,o.kt)("p",null,"After you downloaded node, you can start using us"),(0,o.kt)("p",null,"Running this will install our CLI, which allows you to create a template project without writing a single line of code."),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-shell"},"npm install -g @sern/cli\n")),(0,o.kt)("p",null,"After you downloaded our CLI, run this,"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-shell"},"sern init\n")),(0,o.kt)("p",null,"You'll be welcomed with our interactive setup guide. Complete it, and your template project is ready. If you want to do more with it, continue reading. our guides"))}c.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunk_sern_website=self.webpackChunk_sern_website||[]).push([[9712],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>g});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function a(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var p=n.createContext({}),c=function(e){var t=n.useContext(p),r=t;return e&&(r="function"==typeof e?e(t):a(a({},t),e)),r},u=function(e){var t=c(e.components);return n.createElement(p.Provider,{value:t},e.children)},s={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,i=e.originalType,p=e.parentName,u=l(e,["components","mdxType","originalType","parentName"]),d=c(r),g=o,f=d["".concat(p,".").concat(g)]||d[g]||s[g]||i;return r?n.createElement(f,a(a({ref:t},u),{},{components:r})):n.createElement(f,a({ref:t},u))}));function g(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var i=r.length,a=new Array(i);a[0]=d;var l={};for(var p in t)hasOwnProperty.call(t,p)&&(l[p]=t[p]);l.originalType=e,l.mdxType="string"==typeof e?e:o,a[1]=l;for(var c=2;c{r.r(t),r.d(t,{assets:()=>p,contentTitle:()=>a,default:()=>s,frontMatter:()=>i,metadata:()=>l,toc:()=>c});var n=r(7462),o=(r(7294),r(3905));const i={},a="Preparing to Code",l={unversionedId:"guide/getting-started/preparing",id:"guide/getting-started/preparing",title:"Preparing to Code",description:"After installing and IDE you need to install node.",source:"@site/docs/guide/getting-started/preparing.md",sourceDirName:"guide/getting-started",slug:"/guide/getting-started/preparing",permalink:"/tr/docs/guide/getting-started/preparing",draft:!1,editUrl:"https://github.com/sern-handler/website/edit/main/docs/guide/getting-started/preparing.md",tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"Choosing an IDE",permalink:"/tr/docs/guide/getting-started/choose-ide"},next:{title:"Goal",permalink:"/tr/docs/guide/walkthrough/goal"}},p={},c=[],u={toc:c};function s(e){let{components:t,...r}=e;return(0,o.kt)("wrapper",(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"preparing-to-code"},"Preparing to Code"),(0,o.kt)("p",null,"After installing and IDE you need to install node."),(0,o.kt)("p",null,(0,o.kt)("a",{parentName:"p",href:"https://nodejs.org/en/download/"},"Click to download the LTS version of node right here"),"."),(0,o.kt)("p",null,"After you downloaded node, you can start using us"),(0,o.kt)("p",null,"Running this will install our CLI, which allows you to create a template project without writing a single line of code."),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-shell"},"npm install -g @sern/cli\n")),(0,o.kt)("p",null,"If you want to do more with our CLI, continue reading our guides."))}s.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/tr/assets/js/runtime~main.2dcdbb63.js b/tr/assets/js/runtime~main.48e9d178.js similarity index 99% rename from tr/assets/js/runtime~main.2dcdbb63.js rename to tr/assets/js/runtime~main.48e9d178.js index 5b58080bf..75766e535 100644 --- a/tr/assets/js/runtime~main.2dcdbb63.js +++ b/tr/assets/js/runtime~main.48e9d178.js @@ -1 +1 @@ -(()=>{"use strict";var e,a,c,f,d,b={},t={};function r(e){var a=t[e];if(void 0!==a)return a.exports;var c=t[e]={id:e,loaded:!1,exports:{}};return b[e].call(c.exports,c,c.exports,r),c.loaded=!0,c.exports}r.m=b,r.c=t,e=[],r.O=(a,c,f,d)=>{if(!c){var b=1/0;for(i=0;i=d)&&Object.keys(r.O).every((e=>r.O[e](c[o])))?c.splice(o--,1):(t=!1,d0&&e[i-1][2]>d;i--)e[i]=e[i-1];e[i]=[c,f,d]},r.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return r.d(a,{a:a}),a},c=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,f){if(1&f&&(e=this(e)),8&f)return e;if("object"==typeof e&&e){if(4&f&&e.__esModule)return e;if(16&f&&"function"==typeof e.then)return e}var d=Object.create(null);r.r(d);var b={};a=a||[null,c({}),c([]),c(c)];for(var t=2&f&&e;"object"==typeof t&&!~a.indexOf(t);t=c(t))Object.getOwnPropertyNames(t).forEach((a=>b[a]=()=>e[a]));return b.default=()=>e,r.d(d,b),d},r.d=(e,a)=>{for(var c in a)r.o(a,c)&&!r.o(e,c)&&Object.defineProperty(e,c,{enumerable:!0,get:a[c]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((a,c)=>(r.f[c](e,a),a)),[])),r.u=e=>"assets/js/"+({53:"5bc4ccbc",65:"2f13d849",277:"c4348237",301:"5ae130ee",332:"73bd57bd",371:"edc18331",681:"f1cc380d",703:"981f6151",1003:"67e3e25a",1036:"c0846785",1198:"476a0444",1472:"cf183316",1505:"7c2ff145",2005:"1ac1bfe9",2072:"67348500",2129:"1c127a4d",2165:"26739013",2197:"935f2afb",2255:"beef0c9d",2535:"814f3328",2640:"a96c96b0",2792:"f50fe504",3012:"3a25b5a8",3045:"888566f1",3085:"1f391b9e",3089:"a6aa9e1f",3173:"2caf5b7a",3247:"7f2ac8b7",3255:"53944420",3462:"6ff82968",3608:"9e4087bc",3650:"425cbb82",3864:"57fe7727",4e3:"701614d9",4009:"79e7cc44",4013:"01a85c17",4137:"1aef51bd",4195:"c4f5d8e4",4252:"8a062262",4332:"6c624b4c",4429:"eea0bf40",4461:"a3030d1c",4626:"d9ea5336",4781:"e2a53654",4803:"9201de17",4865:"e8e3d8c7",4901:"6e015ab1",4918:"c103c7fb",4932:"a0fd2c7a",5062:"69369ae2",5397:"312c2bc5",5433:"9f1290f8",5502:"9b620520",5853:"447d9066",6054:"7cd974c8",6103:"ccc49370",6146:"608ca171",6270:"e4877132",6276:"4e28a08b",6322:"a5467962",6393:"e04ffa77",6552:"a0b9ee13",6777:"720cd117",6778:"85456a26",6851:"4279c33d",7127:"7e205c4a",7223:"3020eeee",7254:"97c22b42",7306:"f6aebfbf",7363:"26f1f3a5",7374:"6ba1d2c1",7414:"393be207",7453:"4b098d2e",7597:"5e8c322a",7705:"b40a3c0d",7749:"462b6925",7750:"3a2d3092",7833:"65578b65",7868:"7343edf0",7918:"17896441",7936:"3a0cb3a9",8032:"1b0c702f",8046:"c606405e",8494:"0a33f845",8610:"6875c492",8652:"bcd9df7e",8902:"a4d0ee3e",8938:"59284627",9012:"3f83d40d",9107:"82cdda05",9187:"295686f2",9226:"707baeff",9232:"afe88353",9248:"9693de07",9476:"90fdad0c",9514:"1be78505",9671:"0e384e19",9712:"3dc7c79a",9881:"f7831d67"}[e]||e)+"."+{53:"24efdafc",65:"f510da2f",277:"bbd90c09",301:"6fb3727a",332:"9d800187",371:"7619fb56",681:"0305d049",703:"88d5799a",1003:"aabb8fa6",1036:"4256ffad",1198:"c7602d10",1472:"bc033c27",1505:"ac336ebd",2005:"988e020d",2072:"d439a66b",2129:"1989886f",2165:"40911282",2197:"c55750a8",2255:"ccac9ffd",2529:"824aaa15",2535:"41a5b1c9",2640:"6512f1aa",2792:"75e7e6f6",3012:"b31ee531",3045:"cb4f8a25",3085:"8c38cce5",3089:"41e3be1f",3173:"652e1420",3247:"e1f6f0e3",3255:"7ae05c18",3462:"eeb2dd31",3608:"66639242",3650:"6595b6c7",3864:"a632ed02",4e3:"d3432ec7",4009:"e6810844",4013:"e1f6e46d",4137:"e6336864",4195:"e4059570",4252:"d195b545",4332:"40f1fab2",4429:"5ef6fba3",4461:"444e203b",4626:"8b7b233f",4781:"894e9187",4803:"a0a46979",4865:"e45cc536",4901:"a4722255",4918:"cc83e030",4932:"8a2f4e9d",4972:"8f7e7193",5062:"40f3e7eb",5397:"1cae9e75",5433:"78dbca29",5502:"f04bb058",5853:"52b0f2f5",6054:"7d8f5897",6103:"7974c41a",6146:"cd167ef6",6270:"271ea21e",6276:"7ce07f68",6322:"e5ba72de",6393:"e6920a0f",6552:"fd10b8ae",6777:"45f78fdb",6778:"8e41627d",6851:"b46d67f4",7127:"c270e52b",7223:"290935e6",7254:"0c6b8361",7306:"d11dd528",7363:"508193e4",7374:"b7f5d35f",7414:"28b43cb8",7453:"c0531356",7540:"0456e07a",7597:"04b90aad",7705:"7f02429b",7749:"ff49ed30",7750:"339afe92",7833:"a6b3589f",7868:"9cb5e8e9",7918:"3625818f",7936:"e7a0f6f8",8032:"b05158cc",8046:"232bd9f4",8494:"bb52c90b",8610:"d7a7cd5d",8652:"42db8687",8902:"a4e1e1de",8938:"8c214108",9012:"1d47f737",9107:"a06283ec",9187:"a51f0611",9226:"bef7fee6",9232:"d0e1f2ac",9248:"d7a67187",9476:"b762485d",9514:"b1e810d5",9671:"1e321d7c",9712:"cd0f4c9e",9881:"5473d8a2"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),f={},d="@sern/website:",r.l=(e,a,c,b)=>{if(f[e])f[e].push(a);else{var t,o;if(void 0!==c)for(var n=document.getElementsByTagName("script"),i=0;i{t.onerror=t.onload=null,clearTimeout(s);var d=f[e];if(delete f[e],t.parentNode&&t.parentNode.removeChild(t),d&&d.forEach((e=>e(c))),a)return a(c)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=l.bind(null,t.onerror),t.onload=l.bind(null,t.onload),o&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="/tr/",r.gca=function(e){return e={17896441:"7918",26739013:"2165",53944420:"3255",59284627:"8938",67348500:"2072","5bc4ccbc":"53","2f13d849":"65",c4348237:"277","5ae130ee":"301","73bd57bd":"332",edc18331:"371",f1cc380d:"681","981f6151":"703","67e3e25a":"1003",c0846785:"1036","476a0444":"1198",cf183316:"1472","7c2ff145":"1505","1ac1bfe9":"2005","1c127a4d":"2129","935f2afb":"2197",beef0c9d:"2255","814f3328":"2535",a96c96b0:"2640",f50fe504:"2792","3a25b5a8":"3012","888566f1":"3045","1f391b9e":"3085",a6aa9e1f:"3089","2caf5b7a":"3173","7f2ac8b7":"3247","6ff82968":"3462","9e4087bc":"3608","425cbb82":"3650","57fe7727":"3864","701614d9":"4000","79e7cc44":"4009","01a85c17":"4013","1aef51bd":"4137",c4f5d8e4:"4195","8a062262":"4252","6c624b4c":"4332",eea0bf40:"4429",a3030d1c:"4461",d9ea5336:"4626",e2a53654:"4781","9201de17":"4803",e8e3d8c7:"4865","6e015ab1":"4901",c103c7fb:"4918",a0fd2c7a:"4932","69369ae2":"5062","312c2bc5":"5397","9f1290f8":"5433","9b620520":"5502","447d9066":"5853","7cd974c8":"6054",ccc49370:"6103","608ca171":"6146",e4877132:"6270","4e28a08b":"6276",a5467962:"6322",e04ffa77:"6393",a0b9ee13:"6552","720cd117":"6777","85456a26":"6778","4279c33d":"6851","7e205c4a":"7127","3020eeee":"7223","97c22b42":"7254",f6aebfbf:"7306","26f1f3a5":"7363","6ba1d2c1":"7374","393be207":"7414","4b098d2e":"7453","5e8c322a":"7597",b40a3c0d:"7705","462b6925":"7749","3a2d3092":"7750","65578b65":"7833","7343edf0":"7868","3a0cb3a9":"7936","1b0c702f":"8032",c606405e:"8046","0a33f845":"8494","6875c492":"8610",bcd9df7e:"8652",a4d0ee3e:"8902","3f83d40d":"9012","82cdda05":"9107","295686f2":"9187","707baeff":"9226",afe88353:"9232","9693de07":"9248","90fdad0c":"9476","1be78505":"9514","0e384e19":"9671","3dc7c79a":"9712",f7831d67:"9881"}[e]||e,r.p+r.u(e)},(()=>{var e={1303:0,532:0};r.f.j=(a,c)=>{var f=r.o(e,a)?e[a]:void 0;if(0!==f)if(f)c.push(f[2]);else if(/^(1303|532)$/.test(a))e[a]=0;else{var d=new Promise(((c,d)=>f=e[a]=[c,d]));c.push(f[2]=d);var b=r.p+r.u(a),t=new Error;r.l(b,(c=>{if(r.o(e,a)&&(0!==(f=e[a])&&(e[a]=void 0),f)){var d=c&&("load"===c.type?"missing":c.type),b=c&&c.target&&c.target.src;t.message="Loading chunk "+a+" failed.\n("+d+": "+b+")",t.name="ChunkLoadError",t.type=d,t.request=b,f[1](t)}}),"chunk-"+a,a)}},r.O.j=a=>0===e[a];var a=(a,c)=>{var f,d,b=c[0],t=c[1],o=c[2],n=0;if(b.some((a=>0!==e[a]))){for(f in t)r.o(t,f)&&(r.m[f]=t[f]);if(o)var i=o(r)}for(a&&a(c);n{"use strict";var e,a,c,f,d,b={},t={};function r(e){var a=t[e];if(void 0!==a)return a.exports;var c=t[e]={id:e,loaded:!1,exports:{}};return b[e].call(c.exports,c,c.exports,r),c.loaded=!0,c.exports}r.m=b,r.c=t,e=[],r.O=(a,c,f,d)=>{if(!c){var b=1/0;for(i=0;i=d)&&Object.keys(r.O).every((e=>r.O[e](c[o])))?c.splice(o--,1):(t=!1,d0&&e[i-1][2]>d;i--)e[i]=e[i-1];e[i]=[c,f,d]},r.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return r.d(a,{a:a}),a},c=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,f){if(1&f&&(e=this(e)),8&f)return e;if("object"==typeof e&&e){if(4&f&&e.__esModule)return e;if(16&f&&"function"==typeof e.then)return e}var d=Object.create(null);r.r(d);var b={};a=a||[null,c({}),c([]),c(c)];for(var t=2&f&&e;"object"==typeof t&&!~a.indexOf(t);t=c(t))Object.getOwnPropertyNames(t).forEach((a=>b[a]=()=>e[a]));return b.default=()=>e,r.d(d,b),d},r.d=(e,a)=>{for(var c in a)r.o(a,c)&&!r.o(e,c)&&Object.defineProperty(e,c,{enumerable:!0,get:a[c]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((a,c)=>(r.f[c](e,a),a)),[])),r.u=e=>"assets/js/"+({53:"5bc4ccbc",65:"2f13d849",277:"c4348237",301:"5ae130ee",332:"73bd57bd",371:"edc18331",681:"f1cc380d",703:"981f6151",1003:"67e3e25a",1036:"c0846785",1198:"476a0444",1472:"cf183316",1505:"7c2ff145",2005:"1ac1bfe9",2072:"67348500",2129:"1c127a4d",2165:"26739013",2197:"935f2afb",2255:"beef0c9d",2535:"814f3328",2640:"a96c96b0",2792:"f50fe504",3012:"3a25b5a8",3045:"888566f1",3085:"1f391b9e",3089:"a6aa9e1f",3173:"2caf5b7a",3247:"7f2ac8b7",3255:"53944420",3462:"6ff82968",3608:"9e4087bc",3650:"425cbb82",3864:"57fe7727",4e3:"701614d9",4009:"79e7cc44",4013:"01a85c17",4137:"1aef51bd",4195:"c4f5d8e4",4252:"8a062262",4332:"6c624b4c",4429:"eea0bf40",4461:"a3030d1c",4626:"d9ea5336",4781:"e2a53654",4803:"9201de17",4865:"e8e3d8c7",4901:"6e015ab1",4918:"c103c7fb",4932:"a0fd2c7a",5062:"69369ae2",5397:"312c2bc5",5433:"9f1290f8",5502:"9b620520",5853:"447d9066",6054:"7cd974c8",6103:"ccc49370",6146:"608ca171",6270:"e4877132",6276:"4e28a08b",6322:"a5467962",6393:"e04ffa77",6552:"a0b9ee13",6777:"720cd117",6778:"85456a26",6851:"4279c33d",7127:"7e205c4a",7223:"3020eeee",7254:"97c22b42",7306:"f6aebfbf",7363:"26f1f3a5",7374:"6ba1d2c1",7414:"393be207",7453:"4b098d2e",7597:"5e8c322a",7705:"b40a3c0d",7749:"462b6925",7750:"3a2d3092",7833:"65578b65",7868:"7343edf0",7918:"17896441",7936:"3a0cb3a9",8032:"1b0c702f",8046:"c606405e",8494:"0a33f845",8610:"6875c492",8652:"bcd9df7e",8902:"a4d0ee3e",8938:"59284627",9012:"3f83d40d",9107:"82cdda05",9187:"295686f2",9226:"707baeff",9232:"afe88353",9248:"9693de07",9476:"90fdad0c",9514:"1be78505",9671:"0e384e19",9712:"3dc7c79a",9881:"f7831d67"}[e]||e)+"."+{53:"24efdafc",65:"f510da2f",277:"bbd90c09",301:"6fb3727a",332:"9d800187",371:"7619fb56",681:"0305d049",703:"88d5799a",1003:"aabb8fa6",1036:"4256ffad",1198:"c7602d10",1472:"bc033c27",1505:"ac336ebd",2005:"988e020d",2072:"d439a66b",2129:"1989886f",2165:"40911282",2197:"c55750a8",2255:"ccac9ffd",2529:"824aaa15",2535:"41a5b1c9",2640:"6512f1aa",2792:"75e7e6f6",3012:"b31ee531",3045:"cb4f8a25",3085:"8c38cce5",3089:"41e3be1f",3173:"652e1420",3247:"e1f6f0e3",3255:"7ae05c18",3462:"eeb2dd31",3608:"66639242",3650:"6595b6c7",3864:"a632ed02",4e3:"d3432ec7",4009:"e6810844",4013:"e1f6e46d",4137:"e6336864",4195:"e4059570",4252:"d195b545",4332:"40f1fab2",4429:"5ef6fba3",4461:"444e203b",4626:"8b7b233f",4781:"894e9187",4803:"a0a46979",4865:"e45cc536",4901:"a4722255",4918:"cc83e030",4932:"8a2f4e9d",4972:"8f7e7193",5062:"40f3e7eb",5397:"1cae9e75",5433:"78dbca29",5502:"f04bb058",5853:"52b0f2f5",6054:"7d8f5897",6103:"7974c41a",6146:"cd167ef6",6270:"271ea21e",6276:"7ce07f68",6322:"e5ba72de",6393:"e6920a0f",6552:"fd10b8ae",6777:"45f78fdb",6778:"8e41627d",6851:"b46d67f4",7127:"c270e52b",7223:"290935e6",7254:"0c6b8361",7306:"d11dd528",7363:"508193e4",7374:"b7f5d35f",7414:"28b43cb8",7453:"c0531356",7540:"0456e07a",7597:"04b90aad",7705:"7f02429b",7749:"ff49ed30",7750:"339afe92",7833:"a6b3589f",7868:"9cb5e8e9",7918:"3625818f",7936:"e7a0f6f8",8032:"b05158cc",8046:"232bd9f4",8494:"bb52c90b",8610:"d7a7cd5d",8652:"42db8687",8902:"a4e1e1de",8938:"8c214108",9012:"1d47f737",9107:"a06283ec",9187:"a51f0611",9226:"bef7fee6",9232:"d0e1f2ac",9248:"d7a67187",9476:"b762485d",9514:"b1e810d5",9671:"1e321d7c",9712:"a2af70f7",9881:"5473d8a2"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),f={},d="@sern/website:",r.l=(e,a,c,b)=>{if(f[e])f[e].push(a);else{var t,o;if(void 0!==c)for(var n=document.getElementsByTagName("script"),i=0;i{t.onerror=t.onload=null,clearTimeout(s);var d=f[e];if(delete f[e],t.parentNode&&t.parentNode.removeChild(t),d&&d.forEach((e=>e(c))),a)return a(c)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=l.bind(null,t.onerror),t.onload=l.bind(null,t.onload),o&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="/tr/",r.gca=function(e){return e={17896441:"7918",26739013:"2165",53944420:"3255",59284627:"8938",67348500:"2072","5bc4ccbc":"53","2f13d849":"65",c4348237:"277","5ae130ee":"301","73bd57bd":"332",edc18331:"371",f1cc380d:"681","981f6151":"703","67e3e25a":"1003",c0846785:"1036","476a0444":"1198",cf183316:"1472","7c2ff145":"1505","1ac1bfe9":"2005","1c127a4d":"2129","935f2afb":"2197",beef0c9d:"2255","814f3328":"2535",a96c96b0:"2640",f50fe504:"2792","3a25b5a8":"3012","888566f1":"3045","1f391b9e":"3085",a6aa9e1f:"3089","2caf5b7a":"3173","7f2ac8b7":"3247","6ff82968":"3462","9e4087bc":"3608","425cbb82":"3650","57fe7727":"3864","701614d9":"4000","79e7cc44":"4009","01a85c17":"4013","1aef51bd":"4137",c4f5d8e4:"4195","8a062262":"4252","6c624b4c":"4332",eea0bf40:"4429",a3030d1c:"4461",d9ea5336:"4626",e2a53654:"4781","9201de17":"4803",e8e3d8c7:"4865","6e015ab1":"4901",c103c7fb:"4918",a0fd2c7a:"4932","69369ae2":"5062","312c2bc5":"5397","9f1290f8":"5433","9b620520":"5502","447d9066":"5853","7cd974c8":"6054",ccc49370:"6103","608ca171":"6146",e4877132:"6270","4e28a08b":"6276",a5467962:"6322",e04ffa77:"6393",a0b9ee13:"6552","720cd117":"6777","85456a26":"6778","4279c33d":"6851","7e205c4a":"7127","3020eeee":"7223","97c22b42":"7254",f6aebfbf:"7306","26f1f3a5":"7363","6ba1d2c1":"7374","393be207":"7414","4b098d2e":"7453","5e8c322a":"7597",b40a3c0d:"7705","462b6925":"7749","3a2d3092":"7750","65578b65":"7833","7343edf0":"7868","3a0cb3a9":"7936","1b0c702f":"8032",c606405e:"8046","0a33f845":"8494","6875c492":"8610",bcd9df7e:"8652",a4d0ee3e:"8902","3f83d40d":"9012","82cdda05":"9107","295686f2":"9187","707baeff":"9226",afe88353:"9232","9693de07":"9248","90fdad0c":"9476","1be78505":"9514","0e384e19":"9671","3dc7c79a":"9712",f7831d67:"9881"}[e]||e,r.p+r.u(e)},(()=>{var e={1303:0,532:0};r.f.j=(a,c)=>{var f=r.o(e,a)?e[a]:void 0;if(0!==f)if(f)c.push(f[2]);else if(/^(1303|532)$/.test(a))e[a]=0;else{var d=new Promise(((c,d)=>f=e[a]=[c,d]));c.push(f[2]=d);var b=r.p+r.u(a),t=new Error;r.l(b,(c=>{if(r.o(e,a)&&(0!==(f=e[a])&&(e[a]=void 0),f)){var d=c&&("load"===c.type?"missing":c.type),b=c&&c.target&&c.target.src;t.message="Loading chunk "+a+" failed.\n("+d+": "+b+")",t.name="ChunkLoadError",t.type=d,t.request=b,f[1](t)}}),"chunk-"+a,a)}},r.O.j=a=>0===e[a];var a=(a,c)=>{var f,d,b=c[0],t=c[1],o=c[2],n=0;if(b.some((a=>0!==e[a]))){for(f in t)r.o(t,f)&&(r.m[f]=t[f]);if(o)var i=o(r)}for(a&&a(c);n Blog | sern - Handlers. Redefined. - + @@ -38,7 +38,7 @@ Extend the new CommandExecutabl I believe that you should build your own structures however you might like and customize to your liking. In addition, decorators now unofficially work with modules! Feel free to use TypeScript experimental decorators to augment and customize your classes.

Deprecation Warnings

The next update will bring sern v2 with some important features. Here are some things to watch out for.

Dependencies Update

  • TypeScript has been updated to 4.8.3
  • Discord.js has been upgraded to 14.5
- + \ No newline at end of file diff --git a/tr/blog/1.2.0.html b/tr/blog/1.2.0.html index dbeb5bcf0..59c5e7617 100644 --- a/tr/blog/1.2.0.html +++ b/tr/blog/1.2.0.html @@ -6,7 +6,7 @@ Release 1.2.0 | sern - Handlers. Redefined. - + @@ -17,7 +17,7 @@ Extend the new CommandExec I believe that you should build your own structures however you might like and customize to your liking. In addition, decorators now unofficially work with modules! Feel free to use TypeScript experimental decorators to augment and customize your classes.

Deprecation Warnings

The next update will bring sern v2 with some important features. Here are some things to watch out for.

Dependencies Update

  • TypeScript has been updated to 4.8.3
  • Discord.js has been upgraded to 14.5
- + \ No newline at end of file diff --git a/tr/blog/2.0.0.html b/tr/blog/2.0.0.html index dfb806eda..373fe7985 100644 --- a/tr/blog/2.0.0.html +++ b/tr/blog/2.0.0.html @@ -6,7 +6,7 @@ Release 2.0.0 | sern - Handlers. Redefined. - + @@ -27,7 +27,7 @@ data structure. Use this wisely as no guarantees are made and crashes can happen CommandType.StringSelect. The remaining SelectMenus are CommandType.RoleSelect, CommandType.ChannelSelect, CommandType.UserSelect, CommandType.MentionableSelect

commands/roleselect.ts
export default commandModule({
type: CommandType.RoleSelect,
execute(ctx) {
ctx.reply('role select')
},
})

In addition, commandModules with ContextMenus have been renamed.

- CommandType.MenuUser, CommandType.MenuMsg 
+ CommandType.CtxUser, CommandType.CtxMsg

Typings Simplification

Pre 2.0:




Post 2.0:

CommandPlugin<T> and EventPlugin<T> typings have also been static'ified, transformed from types to interfaces

Breaking Changes


All deprecation warnings from previous versions have taken effect, and are removed in 2.0.
- type Module = EventModule | CommandModule
+ type AnyModule = EventModule | CommandModule

-export type SpreadParams<T extends (...args: never) => unknown> = (
- args: Parameters<T>[number],
- ) => unknown;

Override type has been removed due to redundancy

- discord.js : 14.5
+ discord.js : 14.7

-typescript: 4.7
+ typescript: 4.9
+ interface Wrapper {
+ readonly defaultPrefix?: string;
+ readonly commands: string;
+ readonly events?: string;
+ readonly containerConfig : {
+ get: (...keys: (keyof Dependencies)[]) => unknown[];
+ }
+}

- interface Wrapper {
- readonly client: Client;
- readonly sernEmitter?: SernEmitter;
- readonly defaultPrefix?: string;
- readonly commands: string;
- readonly events?:
- | string
- | { mod: EventModule; absPath: string }[]
- | (() => { mod: EventModule; absPath: string }[]);
-}
+ DefaultLogger
+ DefaultModuleManager
+ SernEmitter
+ DefaultErrorHandling
+ type Singleton<T> = () => T
+ type Transient<T> = () => () => T;
+ type LogPayload<T = unknown> = { message: T }
+ export const single = <T>() => T
+ export const many = <T>() => () => T

Including the previous section, some names to symbols and data structures were altered to be better represented. view changelog

Context refactoring

The context data structure has been internally altered to represent its dynamics better.

- + \ No newline at end of file diff --git a/tr/blog/2.5.0.html b/tr/blog/2.5.0.html index 45571967f..ac1d19368 100644 --- a/tr/blog/2.5.0.html +++ b/tr/blog/2.5.0.html @@ -6,7 +6,7 @@ Release 2.5.0 | sern - Handlers. Redefined. - + @@ -15,7 +15,7 @@ Wow! We're increasing our semantic versioning by +0.3.9
What does this mean?

Breaking changes

Deprecations

Reason

  • The naming of plugins was getting too complex. For example, plugin naming evolved into CommandModuleCommandPlugin, CommandModuleEventPlugin and more.
  • I realize that this affects all plugins. I have updated all plugins to match these changes
  • The old way of declaring plugins has been deprecated in favor of newer functions that facilitate and ease typings
- + \ No newline at end of file diff --git a/tr/blog/archive.html b/tr/blog/archive.html index 2db9b22aa..40a86d71f 100644 --- a/tr/blog/archive.html +++ b/tr/blog/archive.html @@ -6,13 +6,13 @@ Arşiv | sern - Handlers. Redefined. - + - + \ No newline at end of file diff --git a/tr/blog/getting-started.html b/tr/blog/getting-started.html index af8c00e03..349db25d9 100644 --- a/tr/blog/getting-started.html +++ b/tr/blog/getting-started.html @@ -6,7 +6,7 @@ How to get started with sern! | sern - Handlers. Redefined. - + @@ -15,7 +15,7 @@ A: Install the publish extension. Little video:

Q: Any snippet VSCode extension?
A: Yeah, just search sern Snippets made by a verified publisher called Sr Izan (haha yeah me funny!)

Q: HEEEELLLPPPP!!!!
A: Hey, don't panic! We're here to help so, join the Discord. We're trying to get to 100 members!

- + \ No newline at end of file diff --git a/tr/blog/tags.html b/tr/blog/tags.html index 08e41d280..383f9ddde 100644 --- a/tr/blog/tags.html +++ b/tr/blog/tags.html @@ -6,13 +6,13 @@ Etiketler | sern - Handlers. Redefined. - + - + \ No newline at end of file diff --git a/tr/blog/tags/guides.html b/tr/blog/tags/guides.html index 1cd70d19a..5f01452a4 100644 --- a/tr/blog/tags/guides.html +++ b/tr/blog/tags/guides.html @@ -6,7 +6,7 @@ "guides" ile etiketlenmiş Bir gönderi | sern - Handlers. Redefined. - + @@ -15,7 +15,7 @@ A: Install the publish extension. Little video:

Q: Any snippet VSCode extension?
A: Yeah, just search sern Snippets made by a verified publisher called Sr Izan (haha yeah me funny!)

Q: HEEEELLLPPPP!!!!
A: Hey, don't panic! We're here to help so, join the Discord. We're trying to get to 100 members!

- + \ No newline at end of file diff --git a/tr/blog/tags/release.html b/tr/blog/tags/release.html index 33023599f..a48aea45c 100644 --- a/tr/blog/tags/release.html +++ b/tr/blog/tags/release.html @@ -6,7 +6,7 @@ "release" ile etiketlenmiş 3 gönderi | sern - Handlers. Redefined. - + @@ -35,7 +35,7 @@ Extend the new Comman I believe that you should build your own structures however you might like and customize to your liking. In addition, decorators now unofficially work with modules! Feel free to use TypeScript experimental decorators to augment and customize your classes.

Deprecation Warnings

The next update will bring sern v2 with some important features. Here are some things to watch out for.

Dependencies Update

  • TypeScript has been updated to 4.8.3
  • Discord.js has been upgraded to 14.5
- + \ No newline at end of file diff --git a/tr/docs/api.html b/tr/docs/api.html index c94aa59f5..24f8f7644 100644 --- a/tr/docs/api.html +++ b/tr/docs/api.html @@ -6,13 +6,13 @@ @sern/handler | sern - Handlers. Redefined. - +

@sern/handler

Handlers. Redefined.

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

NPM versionNPM downloadsLicense MITdocs.rsLines of code

📜 Installation

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

Why?

  • Most handlers don't support discord.js 14.7+
  • Customizable commands
  • Plug and play or customize to your liking
  • Embraces reactive programming for consistent and reliable backend
  • Customizable logger, error handling, and more
  • Active development and growing community

👀 Quick Look

  • Support for discord.js v14 and all interactions
  • Hybrid commands
  • Lightweight and customizable
  • ESM, CommonJS and TypeScript support
  • A powerful CLI and awesome community-made plugins

👶 Basic Usage

index.js (CommonJS)

// Import the discord.js Client and GatewayIntentBits
const { Client, GatewayIntentBits } = require('discord.js');

// Import Sern namespace
const { Sern } = require('@sern/handler');

// Our configuration file
const { defaultPrefix, token } = require('./config.json');

const client = new Client({
intents: [
GatewayIntentBits.Guilds,
GatewayIntentBits.GuildMembers,
GatewayIntentBits.GuildMessages
]
});
export const useContainer = Sern.makeDependencies({
build: root => root
.add({ '@sern/client': single(client) })
.add({ '@sern/logger': single(new DefaultLogging()) })
});

//View docs for all options
Sern.init({
defaultPrefix: '!', // removing defaultPrefix will shut down text commands
commands: 'src/commands',
// events: 'src/events' (optional),
containerConfig : {
get: useContainer
}
});

client.login(token);

ping.js (CommonJS)

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

exports.default = commandModule({
name: 'ping',
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/CommandExecutable.html b/tr/docs/api/classes/CommandExecutable.html index 7cf827cd9..003b40e0e 100644 --- a/tr/docs/api/classes/CommandExecutable.html +++ b/tr/docs/api/classes/CommandExecutable.html @@ -6,13 +6,13 @@ Class: CommandExecutable<Type> | sern - Handlers. Redefined. - +

Class: CommandExecutable<Type>

Experimental

Will be refactored / changed in future

Type parameters

NameType
Typeextends CommandType

Constructors

constructor

new CommandExecutable<Type>()

Type parameters

NameType
Typeextends CommandType

Properties

execute

Abstract execute: CommandModuleDefs[Type][``"execute"``]

Defined in

src/handler/sern.ts:121


onEvent

onEvent: ControlPlugin<any[]>[] = []

Defined in

src/handler/sern.ts:120


plugins

plugins: InitPlugin<any[]>[] = []

Defined in

src/handler/sern.ts:119


type

Abstract type: Type

Defined in

src/handler/sern.ts:118

- + \ No newline at end of file diff --git a/tr/docs/api/classes/Context.html b/tr/docs/api/classes/Context.html index f98d7a4c8..9324adab2 100644 --- a/tr/docs/api/classes/Context.html +++ b/tr/docs/api/classes/Context.html @@ -6,7 +6,7 @@ Class: Context | sern - Handlers. Redefined. - + @@ -18,7 +18,7 @@ Message

Returns CommandType.Slash or the event fired in a Both command was ChatInputCommandInteraction

Returns

Message<boolean>

Defined in

src/handler/structures/context.ts:29


user

get user(): User

If context is holding a message, message.author else, interaction.user

Returns

User

Defined in

src/handler/structures/context.ts:52

Methods

isMessage

isMessage(): boolean

Returns

boolean

Defined in

src/handler/structures/context.ts:82


isSlash

isSlash(): boolean

Returns

boolean

Defined in

src/handler/structures/context.ts:86


reply

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

Parameters

NameType
contentReplyOptions

Returns

Promise<Message<boolean>>

Defined in

src/handler/structures/context.ts:97


wrap

Static wrap(wrappable): Context

Parameters

NameType
wrappableMessage<boolean> | ChatInputCommandInteraction<CacheType>

Returns

Context

Defined in

src/handler/structures/context.ts:90

- + \ No newline at end of file diff --git a/tr/docs/api/classes/DefaultErrorHandling.html b/tr/docs/api/classes/DefaultErrorHandling.html index 6c6611025..690fe3e20 100644 --- a/tr/docs/api/classes/DefaultErrorHandling.html +++ b/tr/docs/api/classes/DefaultErrorHandling.html @@ -6,13 +6,13 @@ Class: DefaultErrorHandling | sern - Handlers. Redefined. - +

Class: DefaultErrorHandling

Implements

Constructors

constructor

new DefaultErrorHandling()

Properties

keepAlive

keepAlive: number = 5

Number of times the process should throw an error until crashing and exiting

Implementation of

ErrorHandling.keepAlive

Defined in

src/handler/contracts/errorHandling.ts:24

Methods

crash

crash(error): never

Utility function to crash

Parameters

NameType
errorError

Returns

never

Implementation of

ErrorHandling.crash

Defined in

src/handler/contracts/errorHandling.ts:25


updateAlive

updateAlive(e): void

A function that is called on every crash. Updates keepAlive

Parameters

NameType
eError

Returns

void

Implementation of

ErrorHandling.updateAlive

Defined in

src/handler/contracts/errorHandling.ts:28

- + \ No newline at end of file diff --git a/tr/docs/api/classes/DefaultLogging.html b/tr/docs/api/classes/DefaultLogging.html index 54e8e8d17..998f3eb23 100644 --- a/tr/docs/api/classes/DefaultLogging.html +++ b/tr/docs/api/classes/DefaultLogging.html @@ -6,13 +6,13 @@ Class: DefaultLogging | sern - Handlers. Redefined. - +

Class: DefaultLogging

Implements

Constructors

constructor

new DefaultLogging()

Methods

date

Private date(): Date

Returns

Date

Defined in

src/handler/contracts/logging.ts:11


debug

debug(payload): void

Parameters

NameType
payloadLogPayload<unknown>

Returns

void

Implementation of

Logging.debug

Defined in

src/handler/contracts/logging.ts:12


error

error(payload): void

Parameters

NameType
payloadLogPayload<unknown>

Returns

void

Implementation of

Logging.error

Defined in

src/handler/contracts/logging.ts:16


info

info(payload): void

Parameters

NameType
payloadLogPayload<unknown>

Returns

void

Implementation of

Logging.info

Defined in

src/handler/contracts/logging.ts:20


warning

warning(payload): void

Parameters

NameType
payloadLogPayload<unknown>

Returns

void

Implementation of

Logging.warning

Defined in

src/handler/contracts/logging.ts:24

- + \ No newline at end of file diff --git a/tr/docs/api/classes/DefaultModuleManager.html b/tr/docs/api/classes/DefaultModuleManager.html index b2ede458f..3eddd2a10 100644 --- a/tr/docs/api/classes/DefaultModuleManager.html +++ b/tr/docs/api/classes/DefaultModuleManager.html @@ -6,13 +6,13 @@ Class: DefaultModuleManager | sern - Handlers. Redefined. - +

Class: DefaultModuleManager

Implements

Constructors

constructor

new DefaultModuleManager(moduleStore)

Parameters

NameType
moduleStoreModuleStore

Defined in

src/handler/contracts/moduleManager.ts:13

Methods

get

get<T>(strat): undefined | Processed<CommandModuleDefs[T]>

Type parameters

NameType
Textends CommandType

Parameters

NameType
strat(ms: ModuleStore) => undefined | Processed<CommandModuleDefs[T]>

Returns

undefined | Processed<CommandModuleDefs[T]>

Implementation of

ModuleManager.get

Defined in

src/handler/contracts/moduleManager.ts:14


set

set(strat): void

Parameters

NameType
strat(ms: ModuleStore) => void

Returns

void

Implementation of

ModuleManager.set

Defined in

src/handler/contracts/moduleManager.ts:20

- + \ No newline at end of file diff --git a/tr/docs/api/classes/EventExecutable.html b/tr/docs/api/classes/EventExecutable.html index 547301ed6..451068b04 100644 --- a/tr/docs/api/classes/EventExecutable.html +++ b/tr/docs/api/classes/EventExecutable.html @@ -6,13 +6,13 @@ Class: EventExecutable<Type> | sern - Handlers. Redefined. - +

Class: EventExecutable<Type>

Experimental

Will be refactored in future

Type parameters

NameType
Typeextends EventType

Constructors

constructor

new EventExecutable<Type>()

Type parameters

NameType
Typeextends EventType

Properties

execute

Abstract execute: EventModuleDefs[Type][``"execute"``]

Defined in

src/handler/sern.ts:130


onEvent

onEvent: ControlPlugin<any[]>[] = []

Defined in

src/handler/sern.ts:129


plugins

plugins: InitPlugin<any[]>[] = []

Defined in

src/handler/sern.ts:128


type

Abstract type: Type

Defined in

src/handler/sern.ts:127

- + \ No newline at end of file diff --git a/tr/docs/api/classes/ModuleStore.html b/tr/docs/api/classes/ModuleStore.html index 2ba85f2ec..af0eac5a7 100644 --- a/tr/docs/api/classes/ModuleStore.html +++ b/tr/docs/api/classes/ModuleStore.html @@ -6,14 +6,14 @@ Class: ModuleStore | sern - Handlers. Redefined. - +

Class: ModuleStore

Storing all command modules This dependency is usually injected into ModuleManager

Constructors

constructor

new ModuleStore()

Properties

ApplicationCommands

Readonly ApplicationCommands: Object

Type declaration

NameType
1Map<string, Processed<CommandModule>>
2Map<string, Processed<CommandModule>>
3Map<string, Processed<CommandModule>>

Defined in

src/handler/structures/moduleStore.ts:11


BothCommands

Readonly BothCommands: Map<string, Processed<CommandModule>>

Defined in

src/handler/structures/moduleStore.ts:10


InteractionHandlers

Readonly InteractionHandlers: Object

Type declaration

NameType
2Map<string, Processed<CommandModule>>
3Map<string, Processed<CommandModule>>
5Map<string, Processed<CommandModule>>
6Map<string, Processed<CommandModule>>
7Map<string, Processed<CommandModule>>
8Map<string, Processed<CommandModule>>

Defined in

src/handler/structures/moduleStore.ts:18


ModalSubmit

Readonly ModalSubmit: Map<string, Processed<CommandModule>>

Defined in

src/handler/structures/moduleStore.ts:16


TextCommands

Readonly TextCommands: Map<string, Processed<CommandModule>>

Defined in

src/handler/structures/moduleStore.ts:17

- + \ No newline at end of file diff --git a/tr/docs/api/classes/SernEmitter.html b/tr/docs/api/classes/SernEmitter.html index 5ddeeb65e..2af137f07 100644 --- a/tr/docs/api/classes/SernEmitter.html +++ b/tr/docs/api/classes/SernEmitter.html @@ -6,7 +6,7 @@ Class: SernEmitter | sern - Handlers. Redefined. - + @@ -50,7 +50,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
emitter_NodeEventTarget
eventNamestring | symbol
options?StaticEventEmitterOptions

Returns

Promise<any[]>

Inherited from

EventEmitter.once

Defined in

node_modules/.pnpm/@types+node@18.11.18/node_modules/@types/node/ts4.8/events.d.ts:194

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

Parameters

NameType
emitter_DOMEventTarget
eventNamestring
options?StaticEventEmitterOptions

Returns

Promise<any[]>

Inherited from

EventEmitter.once

Defined in

node_modules/.pnpm/@types+node@18.11.18/node_modules/@types/node/ts4.8/events.d.ts:195

Static once<E, K>(eventEmitter, eventName): Promise<E extends Client<boolean> ? ClientEvents[K] : any[]>

Type parameters

NameType
Eextends __module
Kextends keyof ClientEvents

Parameters

NameType
eventEmitterE
eventNameE extends Client<boolean> ? K : string

Returns

Promise<E extends Client<boolean> ? ClientEvents[K] : any[]>

Inherited from

EventEmitter.once

Defined in

node_modules/.pnpm/discord.js@14.7.1/node_modules/discord.js/typings/index.d.ts:218


payload

Static Private payload<T>(type, module?, reason?): T

Type parameters

NameType
Textends Payload

Parameters

NameType
typePayloadType
module?Module
reason?unknown

Returns

T

Defined in

src/handler/sernEmitter.ts:40


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/.pnpm/@types+node@18.11.18/node_modules/@types/node/ts4.8/events.d.ts:317


success

Static success(module): { module: AnyModule ; type: Success } & { type: Success } & never & never

Creates a compliant SernEmitter module success payload

Parameters

NameType
moduleModule

Returns

{ module: AnyModule ; type: Success } & { type: Success } & never & never

Defined in

src/handler/sernEmitter.ts:66


warning

Static warning(reason): never & never & { reason: string ; type: Warning } & { type: Warning }

Creates a compliant SernEmitter module warning payload

Parameters

NameType
reasonunknown

Returns

never & never & { reason: string ; type: Warning } & { type: Warning }

Defined in

src/handler/sernEmitter.ts:76

- + \ No newline at end of file diff --git a/tr/docs/api/enums/CommandType.html b/tr/docs/api/enums/CommandType.html index 56d2b787b..4dcb90517 100644 --- a/tr/docs/api/enums/CommandType.html +++ b/tr/docs/api/enums/CommandType.html @@ -6,13 +6,13 @@ Enumeration: CommandType | sern - Handlers. Redefined. - +

Enumeration: CommandType

A bitfield that discriminates command modules

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:28


Button

Button = 16

The CommandType for ButtonInteraction commands

Defined in

src/handler/structures/enums.ts:40


ChannelSelect

ChannelSelect = 256

The CommandType for the other SelectMenuInteractions

Defined in

src/handler/structures/enums.ts:52


CtxMsg

CtxMsg = 8

The CommandType for MessageContextMenuInteraction commands

Defined in

src/handler/structures/enums.ts:36


CtxUser

CtxUser = 4

The CommandType for UserContextMenuInteraction commands

Defined in

src/handler/structures/enums.ts:32


MentionableSelect

MentionableSelect = 512

Defined in

src/handler/structures/enums.ts:53


Modal = 64

The CommandType for ModalSubmitInteraction commands

Defined in

src/handler/structures/enums.ts:48


RoleSelect

RoleSelect = 1024

Defined in

src/handler/structures/enums.ts:54


Slash

Slash = 2

The CommandType for slash commands

Defined in

src/handler/structures/enums.ts:24


StringSelect

StringSelect = 32

The CommandType for StringSelectMenuInteraction commands

Defined in

src/handler/structures/enums.ts:44


Text

Text = 1

The CommandType for text commands

Defined in

src/handler/structures/enums.ts:20


UserSelect

UserSelect = 2048

Defined in

src/handler/structures/enums.ts:55

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

Enumeration: EventType

A bitfield that discriminates event modules

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:77


External

External = 3

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

Defined in

src/handler/structures/enums.ts:86


Sern

Sern = 2

The EventType for handling sern events

Defined in

src/handler/structures/enums.ts:81

- + \ No newline at end of file diff --git a/tr/docs/api/enums/PayloadType.html b/tr/docs/api/enums/PayloadType.html index 3d86e942f..cd34a7707 100644 --- a/tr/docs/api/enums/PayloadType.html +++ b/tr/docs/api/enums/PayloadType.html @@ -6,13 +6,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 a38072f24..c0a218c3c 100644 --- a/tr/docs/api/enums/PluginType.html +++ b/tr/docs/api/enums/PluginType.html @@ -6,13 +6,13 @@ Enumeration: PluginType | sern - Handlers. Redefined. - +

Enumeration: PluginType

A bitfield that discriminates plugins

Example

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

Enumeration Members

Command

Command = 1

Deprecated

Use PluginType.Init instead

Defined in

src/handler/structures/enums.ts:112


Control

Control = 2

The PluginType for EventPlugins

Defined in

src/handler/structures/enums.ts:121


Event

Event = 2

Deprecated

Use PluginType.Control instead

Defined in

src/handler/structures/enums.ts:117


Init

Init = 1

The PluginType for InitPlugins

Defined in

src/handler/structures/enums.ts:107

- + \ No newline at end of file diff --git a/tr/docs/api/enums/SernError.html b/tr/docs/api/enums/SernError.html index 8531ab1d9..f97d5faaa 100644 --- a/tr/docs/api/enums/SernError.html +++ b/tr/docs/api/enums/SernError.html @@ -6,14 +6,14 @@ Enumeration: SernError | sern - Handlers. Redefined. - +

Enumeration: SernError

Enumeration Members

InvalidModuleType

InvalidModuleType = "Detected an unknown module type"

Throws when registering an invalid module. This means it is undefined or an invalid command type was provided

Defined in

src/handler/structures/errors.ts:9


MismatchEvent

MismatchEvent = "You cannot use message when an interaction fired or vice versa"

A crash that occurs when accessing an invalid property of Context

Defined in

src/handler/structures/errors.ts:29


MismatchModule

MismatchModule = "A module type mismatched with event emitted!"

Attempted to lookup module in command module store. Nothing was found!

Defined in

src/handler/structures/errors.ts:17


MissingRequired

MissingRequired = "@sern/client is required but was not found"

Required Dependency not found

Defined in

src/handler/structures/errors.ts:37


NotSupportedInteraction

NotSupportedInteraction = "This interaction is not supported."

Unsupported interaction at this moment.

Defined in

src/handler/structures/errors.ts:21


NotSupportedYet

NotSupportedYet = "This feature is not supported yet"

Unsupported feature attempted to access at this time

Defined in

src/handler/structures/errors.ts:33


PluginFailure

PluginFailure = "A plugin failed to call controller.next()"

One plugin called controller.stop() (end command execution / loading)

Defined in

src/handler/structures/errors.ts:25


UndefinedModule

UndefinedModule = "A module could not be detected"

Attempted to lookup module in command module store. Nothing was found!

Defined in

src/handler/structures/errors.ts:13

- + \ No newline at end of file diff --git a/tr/docs/api/interfaces/AutocompleteCommand.html b/tr/docs/api/interfaces/AutocompleteCommand.html index a5a9a2b63..179a64377 100644 --- a/tr/docs/api/interfaces/AutocompleteCommand.html +++ b/tr/docs/api/interfaces/AutocompleteCommand.html @@ -6,13 +6,13 @@ Interface: AutocompleteCommand | sern - Handlers. Redefined. - + - + \ No newline at end of file diff --git a/tr/docs/api/interfaces/AutocompletePlugin.html b/tr/docs/api/interfaces/AutocompletePlugin.html index 06cc1615f..b4e1bf700 100644 --- a/tr/docs/api/interfaces/AutocompletePlugin.html +++ b/tr/docs/api/interfaces/AutocompletePlugin.html @@ -6,13 +6,13 @@ Interface: AutocompletePlugin | sern - Handlers. Redefined. - +

Interface: AutocompletePlugin

Hierarchy

Properties

description

Optional description: string

Deprecated

will be removed in the next update

Inherited from

Plugin.description

Defined in

src/handler/plugins/plugin.ts:33


execute

execute: (autocmp: AutocompleteInteraction<CacheType>, controlller: Controller) => Awaitable<Result<void, void>>

Type declaration

▸ (autocmp, controlller): Awaitable<Result<void, void>>

Parameters
NameType
autocmpAutocompleteInteraction<CacheType>
controlllerController
Returns

Awaitable<Result<void, void>>

Defined in

src/handler/plugins/plugin.ts:73


name

Optional name: string

Deprecated

will be removed in the next update

Inherited from

Plugin.name

Defined in

src/handler/plugins/plugin.ts:31


type

type: Event

Overrides

Plugin.type

Defined in

src/handler/plugins/plugin.ts:72

- + \ No newline at end of file diff --git a/tr/docs/api/interfaces/BothCommand.html b/tr/docs/api/interfaces/BothCommand.html index a9c70356c..b294a1039 100644 --- a/tr/docs/api/interfaces/BothCommand.html +++ b/tr/docs/api/interfaces/BothCommand.html @@ -6,13 +6,13 @@ Interface: BothCommand | sern - Handlers. Redefined. - +

Interface: BothCommand

Hierarchy

Properties

alias

Optional alias: string[]

Defined in

src/types/module.ts:57


description

description: string

Overrides

Module.description

Defined in

src/types/module.ts:58


execute

execute: (ctx: Context, args: Args) => unknown

Type declaration

▸ (ctx, args): unknown

Parameters
NameType
ctxContext
argsArgs
Returns

unknown

Overrides

Module.execute

Defined in

src/types/module.ts:60


name

Optional name: string

Inherited from

Module.name

Defined in

src/types/module.ts:35


onEvent

onEvent: ControlPlugin<any[]>[]

Inherited from

Module.onEvent

Defined in

src/types/module.ts:36


options

Optional options: (SernSubCommandData | SernSubCommandGroupData | BaseOptions)[]

Defined in

src/types/module.ts:59


plugins

plugins: InitPlugin<any[]>[]

Inherited from

Module.plugins

Defined in

src/types/module.ts:37


type

type: Both

Overrides

Module.type

Defined in

src/types/module.ts:56

- + \ No newline at end of file diff --git a/tr/docs/api/interfaces/ButtonCommand.html b/tr/docs/api/interfaces/ButtonCommand.html index f873899c2..423bb19c5 100644 --- a/tr/docs/api/interfaces/ButtonCommand.html +++ b/tr/docs/api/interfaces/ButtonCommand.html @@ -6,13 +6,13 @@ Interface: ButtonCommand | sern - Handlers. Redefined. - +

Interface: ButtonCommand

Hierarchy

Properties

description

Optional description: string

Inherited from

Module.description

Defined in

src/types/module.ts:38


execute

execute: (ctx: ButtonInteraction<CacheType>) => unknown

Type declaration

▸ (ctx): unknown

Parameters
NameType
ctxButtonInteraction<CacheType>
Returns

unknown

Overrides

Module.execute

Defined in

src/types/module.ts:75


name

Optional name: string

Inherited from

Module.name

Defined in

src/types/module.ts:35


onEvent

onEvent: ControlPlugin<any[]>[]

Inherited from

Module.onEvent

Defined in

src/types/module.ts:36


plugins

plugins: InitPlugin<any[]>[]

Inherited from

Module.plugins

Defined in

src/types/module.ts:37


type

type: Button

Overrides

Module.type

Defined in

src/types/module.ts:74

- + \ No newline at end of file diff --git a/tr/docs/api/interfaces/ChannelSelectCommand.html b/tr/docs/api/interfaces/ChannelSelectCommand.html index 108be2e81..b166d49e7 100644 --- a/tr/docs/api/interfaces/ChannelSelectCommand.html +++ b/tr/docs/api/interfaces/ChannelSelectCommand.html @@ -6,13 +6,13 @@ Interface: ChannelSelectCommand | sern - Handlers. Redefined. - +

Interface: ChannelSelectCommand

Hierarchy

  • Module

    ChannelSelectCommand

Properties

description

Optional description: string

Inherited from

Module.description

Defined in

src/types/module.ts:38


execute

execute: (ctx: ChannelSelectMenuInteraction<CacheType>) => unknown

Type declaration

▸ (ctx): unknown

Parameters
NameType
ctxChannelSelectMenuInteraction<CacheType>
Returns

unknown

Overrides

Module.execute

Defined in

src/types/module.ts:85


name

Optional name: string

Inherited from

Module.name

Defined in

src/types/module.ts:35


onEvent

onEvent: ControlPlugin<any[]>[]

Inherited from

Module.onEvent

Defined in

src/types/module.ts:36


plugins

plugins: InitPlugin<any[]>[]

Inherited from

Module.plugins

Defined in

src/types/module.ts:37


type

type: ChannelSelect

Overrides

Module.type

Defined in

src/types/module.ts:84

- + \ No newline at end of file diff --git a/tr/docs/api/interfaces/CommandPlugin.html b/tr/docs/api/interfaces/CommandPlugin.html index e2be29f57..c87b15176 100644 --- a/tr/docs/api/interfaces/CommandPlugin.html +++ b/tr/docs/api/interfaces/CommandPlugin.html @@ -6,13 +6,13 @@ Interface: CommandPlugin<T> | sern - Handlers. Redefined. - +

Interface: CommandPlugin<T>

Deprecated

Use the newer helper functions and import { controller } from '@sern/handler'

Type parameters

NameType
Textends CommandType = CommandType

Properties

description

Optional description: string

Defined in

src/types/plugin.ts:51


execute

execute: (m: InitArgs<Processed<CommandModule>>, controller?: Deprecated<"Please import controller instead">) => PluginResult

Type declaration

▸ (m, controller?): PluginResult

Parameters
NameType
mInitArgs<Processed<CommandModule>>
controller?Deprecated<"Please import controller instead">
Returns

PluginResult

Defined in

src/types/plugin.ts:53


name

Optional name: string

Defined in

src/types/plugin.ts:50


type

type: Init

Defined in

src/types/plugin.ts:52

- + \ No newline at end of file diff --git a/tr/docs/api/interfaces/ContextMenuMsg.html b/tr/docs/api/interfaces/ContextMenuMsg.html index dc497ad76..8163ffced 100644 --- a/tr/docs/api/interfaces/ContextMenuMsg.html +++ b/tr/docs/api/interfaces/ContextMenuMsg.html @@ -6,13 +6,13 @@ Interface: ContextMenuMsg | sern - Handlers. Redefined. - +

Interface: ContextMenuMsg

Hierarchy

Properties

description

Optional description: string

Inherited from

Module.description

Defined in

src/types/module.ts:38


execute

execute: (ctx: MessageContextMenuCommandInteraction<CacheType>) => unknown

Type declaration

▸ (ctx): unknown

Parameters
NameType
ctxMessageContextMenuCommandInteraction<CacheType>
Returns

unknown

Overrides

Module.execute

Defined in

src/types/module.ts:70


name

Optional name: string

Inherited from

Module.name

Defined in

src/types/module.ts:35


onEvent

onEvent: ControlPlugin<any[]>[]

Inherited from

Module.onEvent

Defined in

src/types/module.ts:36


plugins

plugins: InitPlugin<any[]>[]

Inherited from

Module.plugins

Defined in

src/types/module.ts:37


type

type: CtxMsg

Overrides

Module.type

Defined in

src/types/module.ts:69

- + \ No newline at end of file diff --git a/tr/docs/api/interfaces/ContextMenuUser.html b/tr/docs/api/interfaces/ContextMenuUser.html index bf1e96b11..038e90c42 100644 --- a/tr/docs/api/interfaces/ContextMenuUser.html +++ b/tr/docs/api/interfaces/ContextMenuUser.html @@ -6,13 +6,13 @@ Interface: ContextMenuUser | sern - Handlers. Redefined. - +

Interface: ContextMenuUser

Hierarchy

Properties

description

Optional description: string

Inherited from

Module.description

Defined in

src/types/module.ts:38


execute

execute: (ctx: UserContextMenuCommandInteraction<CacheType>) => unknown

Type declaration

▸ (ctx): unknown

Parameters
NameType
ctxUserContextMenuCommandInteraction<CacheType>
Returns

unknown

Overrides

Module.execute

Defined in

src/types/module.ts:65


name

Optional name: string

Inherited from

Module.name

Defined in

src/types/module.ts:35


onEvent

onEvent: ControlPlugin<any[]>[]

Inherited from

Module.onEvent

Defined in

src/types/module.ts:36


plugins

plugins: InitPlugin<any[]>[]

Inherited from

Module.plugins

Defined in

src/types/module.ts:37


type

type: CtxUser

Overrides

Module.type

Defined in

src/types/module.ts:64

- + \ No newline at end of file diff --git a/tr/docs/api/interfaces/ControlPlugin.html b/tr/docs/api/interfaces/ControlPlugin.html index a891a420d..e3163686d 100644 --- a/tr/docs/api/interfaces/ControlPlugin.html +++ b/tr/docs/api/interfaces/ControlPlugin.html @@ -6,13 +6,13 @@ Interface: ControlPlugin<Args> | sern - Handlers. Redefined. - + - + \ No newline at end of file diff --git a/tr/docs/api/interfaces/Controller.html b/tr/docs/api/interfaces/Controller.html index 4bd23948a..d2e8b0ebf 100644 --- a/tr/docs/api/interfaces/Controller.html +++ b/tr/docs/api/interfaces/Controller.html @@ -6,13 +6,13 @@ Interface: Controller | sern - Handlers. Redefined. - + - + \ No newline at end of file diff --git a/tr/docs/api/interfaces/Dependencies.html b/tr/docs/api/interfaces/Dependencies.html index 02808d250..cc38e2cde 100644 --- a/tr/docs/api/interfaces/Dependencies.html +++ b/tr/docs/api/interfaces/Dependencies.html @@ -6,13 +6,13 @@ Interface: Dependencies | sern - Handlers. Redefined. - +
- + \ No newline at end of file diff --git a/tr/docs/api/interfaces/DependencyConfiguration.html b/tr/docs/api/interfaces/DependencyConfiguration.html index 5d3dd14ec..35977b04f 100644 --- a/tr/docs/api/interfaces/DependencyConfiguration.html +++ b/tr/docs/api/interfaces/DependencyConfiguration.html @@ -6,13 +6,13 @@ Interface: DependencyConfiguration<T> | sern - Handlers. Redefined. - + - + \ No newline at end of file diff --git a/tr/docs/api/interfaces/DiscordEmitterPlugin.html b/tr/docs/api/interfaces/DiscordEmitterPlugin.html index 30b043d46..ce62f0957 100644 --- a/tr/docs/api/interfaces/DiscordEmitterPlugin.html +++ b/tr/docs/api/interfaces/DiscordEmitterPlugin.html @@ -6,13 +6,13 @@ Interface: DiscordEmitterPlugin | sern - Handlers. Redefined. - +

Interface: DiscordEmitterPlugin

Hierarchy

  • Plugin

    DiscordEmitterPlugin

Properties

description

Optional description: string

Deprecated

will be removed in the next update

Inherited from

Plugin.description

Defined in

src/handler/plugins/plugin.ts:33


execute

execute: (payload: { absPath: string ; mod: DiscordEventCommand<keyof ClientEvents> & { name: string } }, controller: Controller) => Awaitable<Result<void, void>>

Type declaration

▸ (payload, controller): Awaitable<Result<void, void>>

Parameters
NameType
payloadObject
payload.absPathstring
payload.modDiscordEventCommand<keyof ClientEvents> & { name: string }
controllerController
Returns

Awaitable<Result<void, void>>

Defined in

src/handler/plugins/plugin.ts:49


name

Optional name: string

Deprecated

will be removed in the next update

Inherited from

Plugin.name

Defined in

src/handler/plugins/plugin.ts:31


type

type: Command

Overrides

Plugin.type

Defined in

src/handler/plugins/plugin.ts:48

- + \ No newline at end of file diff --git a/tr/docs/api/interfaces/DiscordEventCommand.html b/tr/docs/api/interfaces/DiscordEventCommand.html index 64b030211..eee05791c 100644 --- a/tr/docs/api/interfaces/DiscordEventCommand.html +++ b/tr/docs/api/interfaces/DiscordEventCommand.html @@ -6,13 +6,13 @@ Interface: DiscordEventCommand<T> | sern - Handlers. Redefined. - +

Interface: DiscordEventCommand<T>

Type parameters

NameType
Textends keyof ClientEvents = keyof ClientEvents

Hierarchy

Properties

description

Optional description: string

Inherited from

Module.description

Defined in

src/types/module.ts:38


name

Optional name: T

Overrides

Module.name

Defined in

src/types/module.ts:123


onEvent

onEvent: ControlPlugin<any[]>[]

Inherited from

Module.onEvent

Defined in

src/types/module.ts:36


plugins

plugins: InitPlugin<any[]>[]

Inherited from

Module.plugins

Defined in

src/types/module.ts:37


type

type: Discord

Overrides

Module.type

Defined in

src/types/module.ts:124

Methods

execute

execute(...args): unknown

Parameters

NameType
...argsClientEvents[T]

Returns

unknown

Overrides

Module.execute

Defined in

src/types/module.ts:125

- + \ No newline at end of file diff --git a/tr/docs/api/interfaces/DiscordEventPlugin.html b/tr/docs/api/interfaces/DiscordEventPlugin.html index 2136101b4..f61e7d238 100644 --- a/tr/docs/api/interfaces/DiscordEventPlugin.html +++ b/tr/docs/api/interfaces/DiscordEventPlugin.html @@ -6,13 +6,13 @@ Interface: DiscordEventPlugin<T> | sern - Handlers. Redefined. - +

Interface: DiscordEventPlugin<T>

Type parameters

NameType
Textends keyof ClientEvents = keyof ClientEvents

Hierarchy

Properties

description

Optional description: string

Deprecated

will be removed in the next update

Inherited from

Plugin.description

Defined in

src/handler/plugins/plugin.ts:33


execute

execute: (args: ClientEvents[T], controller: Controller) => Awaitable<Result<void, void>>

Type declaration

▸ (args, controller): Awaitable<Result<void, void>>

Parameters
NameType
argsClientEvents[T]
controllerController
Returns

Awaitable<Result<void, void>>

Defined in

src/handler/plugins/plugin.ts:105


name

Optional name: T

Deprecated

will be removed in the next update

Overrides

Plugin.name

Defined in

src/handler/plugins/plugin.ts:103


type

type: Event

Overrides

Plugin.type

Defined in

src/handler/plugins/plugin.ts:104

- + \ No newline at end of file diff --git a/tr/docs/api/interfaces/ErrorHandling.html b/tr/docs/api/interfaces/ErrorHandling.html index 66b2bac1d..bcf355f15 100644 --- a/tr/docs/api/interfaces/ErrorHandling.html +++ b/tr/docs/api/interfaces/ErrorHandling.html @@ -6,13 +6,13 @@ Interface: ErrorHandling | sern - Handlers. Redefined. - +
- + \ No newline at end of file diff --git a/tr/docs/api/interfaces/EventPlugin.html b/tr/docs/api/interfaces/EventPlugin.html index bf052c8a4..58721bd84 100644 --- a/tr/docs/api/interfaces/EventPlugin.html +++ b/tr/docs/api/interfaces/EventPlugin.html @@ -6,13 +6,13 @@ Interface: EventPlugin<T> | sern - Handlers. Redefined. - +
- + \ No newline at end of file diff --git a/tr/docs/api/interfaces/ExternalEmitterPlugin.html b/tr/docs/api/interfaces/ExternalEmitterPlugin.html index 51769640b..b8e58f466 100644 --- a/tr/docs/api/interfaces/ExternalEmitterPlugin.html +++ b/tr/docs/api/interfaces/ExternalEmitterPlugin.html @@ -6,13 +6,13 @@ Interface: ExternalEmitterPlugin | sern - Handlers. Redefined. - +

Interface: ExternalEmitterPlugin

Hierarchy

  • Plugin

    ExternalEmitterPlugin

Properties

description

Optional description: string

Deprecated

will be removed in the next update

Inherited from

Plugin.description

Defined in

src/handler/plugins/plugin.ts:33


execute

execute: (payload: { absPath: string ; mod: ExternalEventCommand & { name: string } }, controller: Controller) => Awaitable<Result<void, void>>

Type declaration

▸ (payload, controller): Awaitable<Result<void, void>>

Parameters
NameType
payloadObject
payload.absPathstring
payload.modExternalEventCommand & { name: string }
controllerController
Returns

Awaitable<Result<void, void>>

Defined in

src/handler/plugins/plugin.ts:57


name

Optional name: string

Deprecated

will be removed in the next update

Inherited from

Plugin.name

Defined in

src/handler/plugins/plugin.ts:31


type

type: Command

Overrides

Plugin.type

Defined in

src/handler/plugins/plugin.ts:56

- + \ No newline at end of file diff --git a/tr/docs/api/interfaces/ExternalEventCommand.html b/tr/docs/api/interfaces/ExternalEventCommand.html index 14dd384ed..a82b91bf9 100644 --- a/tr/docs/api/interfaces/ExternalEventCommand.html +++ b/tr/docs/api/interfaces/ExternalEventCommand.html @@ -6,13 +6,13 @@ Interface: ExternalEventCommand | sern - Handlers. Redefined. - +

Interface: ExternalEventCommand

Hierarchy

  • Module

    ExternalEventCommand

Properties

description

Optional description: string

Inherited from

Module.description

Defined in

src/types/module.ts:38


emitter

emitter: string

Defined in

src/types/module.ts:130


name

Optional name: string

Overrides

Module.name

Defined in

src/types/module.ts:129


onEvent

onEvent: ControlPlugin<any[]>[]

Inherited from

Module.onEvent

Defined in

src/types/module.ts:36


plugins

plugins: InitPlugin<any[]>[]

Inherited from

Module.plugins

Defined in

src/types/module.ts:37


type

type: External

Overrides

Module.type

Defined in

src/types/module.ts:131

Methods

execute

execute(...args): unknown

Parameters

NameType
...argsunknown[]

Returns

unknown

Overrides

Module.execute

Defined in

src/types/module.ts:132

- + \ No newline at end of file diff --git a/tr/docs/api/interfaces/ExternalEventPlugin.html b/tr/docs/api/interfaces/ExternalEventPlugin.html index 866b8bcae..628e453af 100644 --- a/tr/docs/api/interfaces/ExternalEventPlugin.html +++ b/tr/docs/api/interfaces/ExternalEventPlugin.html @@ -6,13 +6,13 @@ Interface: ExternalEventPlugin | sern - Handlers. Redefined. - +

Interface: ExternalEventPlugin

Hierarchy

Properties

description

Optional description: string

Deprecated

will be removed in the next update

Inherited from

Plugin.description

Defined in

src/handler/plugins/plugin.ts:33


execute

execute: (args: unknown[], controller: Controller) => Awaitable<Result<void, void>>

Type declaration

▸ (args, controller): Awaitable<Result<void, void>>

Parameters
NameType
argsunknown[]
controllerController
Returns

Awaitable<Result<void, void>>

Defined in

src/handler/plugins/plugin.ts:99


name

Optional name: string

Deprecated

will be removed in the next update

Inherited from

Plugin.name

Defined in

src/handler/plugins/plugin.ts:31


type

type: Event

Overrides

Plugin.type

Defined in

src/handler/plugins/plugin.ts:98

- + \ No newline at end of file diff --git a/tr/docs/api/interfaces/InitArgs.html b/tr/docs/api/interfaces/InitArgs.html index 859924ddf..aa7c83158 100644 --- a/tr/docs/api/interfaces/InitArgs.html +++ b/tr/docs/api/interfaces/InitArgs.html @@ -6,13 +6,13 @@ Interface: InitArgs<T> | sern - Handlers. Redefined. - + - + \ No newline at end of file diff --git a/tr/docs/api/interfaces/InitPlugin.html b/tr/docs/api/interfaces/InitPlugin.html index b260d5c6d..d893b7c54 100644 --- a/tr/docs/api/interfaces/InitPlugin.html +++ b/tr/docs/api/interfaces/InitPlugin.html @@ -6,13 +6,13 @@ Interface: InitPlugin<Args> | sern - Handlers. Redefined. - + - + \ No newline at end of file diff --git a/tr/docs/api/interfaces/Logging.html b/tr/docs/api/interfaces/Logging.html index 1302fd3ce..01c9b034c 100644 --- a/tr/docs/api/interfaces/Logging.html +++ b/tr/docs/api/interfaces/Logging.html @@ -6,13 +6,13 @@ Interface: Logging<T> | sern - Handlers. Redefined. - +
- + \ No newline at end of file diff --git a/tr/docs/api/interfaces/MentionableSelectCommand.html b/tr/docs/api/interfaces/MentionableSelectCommand.html index fe6bb864a..66dd68f7f 100644 --- a/tr/docs/api/interfaces/MentionableSelectCommand.html +++ b/tr/docs/api/interfaces/MentionableSelectCommand.html @@ -6,13 +6,13 @@ Interface: MentionableSelectCommand | sern - Handlers. Redefined. - +

Interface: MentionableSelectCommand

Hierarchy

  • Module

    MentionableSelectCommand

Properties

description

Optional description: string

Inherited from

Module.description

Defined in

src/types/module.ts:38


execute

execute: (ctx: MentionableSelectMenuInteraction<CacheType>) => unknown

Type declaration

▸ (ctx): unknown

Parameters
NameType
ctxMentionableSelectMenuInteraction<CacheType>
Returns

unknown

Overrides

Module.execute

Defined in

src/types/module.ts:95


name

Optional name: string

Inherited from

Module.name

Defined in

src/types/module.ts:35


onEvent

onEvent: ControlPlugin<any[]>[]

Inherited from

Module.onEvent

Defined in

src/types/module.ts:36


plugins

plugins: InitPlugin<any[]>[]

Inherited from

Module.plugins

Defined in

src/types/module.ts:37


type

type: MentionableSelect

Overrides

Module.type

Defined in

src/types/module.ts:94

- + \ No newline at end of file diff --git a/tr/docs/api/interfaces/ModalSubmitCommand.html b/tr/docs/api/interfaces/ModalSubmitCommand.html index 38edac0cc..abf23e94f 100644 --- a/tr/docs/api/interfaces/ModalSubmitCommand.html +++ b/tr/docs/api/interfaces/ModalSubmitCommand.html @@ -6,13 +6,13 @@ Interface: ModalSubmitCommand | sern - Handlers. Redefined. - +

Interface: ModalSubmitCommand

Hierarchy

Properties

description

Optional description: string

Inherited from

Module.description

Defined in

src/types/module.ts:38


execute

execute: (ctx: ModalSubmitInteraction<CacheType>) => unknown

Type declaration

▸ (ctx): unknown

Parameters
NameType
ctxModalSubmitInteraction<CacheType>
Returns

unknown

Overrides

Module.execute

Defined in

src/types/module.ts:105


name

Optional name: string

Inherited from

Module.name

Defined in

src/types/module.ts:35


onEvent

onEvent: ControlPlugin<any[]>[]

Inherited from

Module.onEvent

Defined in

src/types/module.ts:36


plugins

plugins: InitPlugin<any[]>[]

Inherited from

Module.plugins

Defined in

src/types/module.ts:37


type

type: Modal

Overrides

Module.type

Defined in

src/types/module.ts:104

- + \ No newline at end of file diff --git a/tr/docs/api/interfaces/Module.html b/tr/docs/api/interfaces/Module.html index c469f098f..842540ced 100644 --- a/tr/docs/api/interfaces/Module.html +++ b/tr/docs/api/interfaces/Module.html @@ -6,13 +6,13 @@ Interface: Module | sern - Handlers. Redefined. - +

Interface: Module

Hierarchy

Properties

description

Optional description: string

Defined in

src/types/module.ts:38


execute

execute: (...args: any[]) => any

Type declaration

▸ (...args): any

Parameters
NameType
...argsany[]
Returns

any

Defined in

src/types/module.ts:39


name

Optional name: string

Defined in

src/types/module.ts:35


onEvent

onEvent: ControlPlugin<any[]>[]

Defined in

src/types/module.ts:36


plugins

plugins: InitPlugin<any[]>[]

Defined in

src/types/module.ts:37


type

type: CommandType | EventType

Defined in

src/types/module.ts:34

- + \ No newline at end of file diff --git a/tr/docs/api/interfaces/ModuleManager.html b/tr/docs/api/interfaces/ModuleManager.html index c4b32138d..8481dfc2b 100644 --- a/tr/docs/api/interfaces/ModuleManager.html +++ b/tr/docs/api/interfaces/ModuleManager.html @@ -6,13 +6,13 @@ Interface: ModuleManager | sern - Handlers. Redefined. - + - + \ No newline at end of file diff --git a/tr/docs/api/interfaces/Plugin.html b/tr/docs/api/interfaces/Plugin.html index 1c6c742b9..0fcda804a 100644 --- a/tr/docs/api/interfaces/Plugin.html +++ b/tr/docs/api/interfaces/Plugin.html @@ -6,13 +6,13 @@ Interface: Plugin<Args> | sern - Handlers. Redefined. - + - + \ No newline at end of file diff --git a/tr/docs/api/interfaces/RoleSelectCommand.html b/tr/docs/api/interfaces/RoleSelectCommand.html index c3087ef12..169cfda07 100644 --- a/tr/docs/api/interfaces/RoleSelectCommand.html +++ b/tr/docs/api/interfaces/RoleSelectCommand.html @@ -6,13 +6,13 @@ Interface: RoleSelectCommand | sern - Handlers. Redefined. - +

Interface: RoleSelectCommand

Hierarchy

Properties

description

Optional description: string

Inherited from

Module.description

Defined in

src/types/module.ts:38


execute

execute: (ctx: RoleSelectMenuInteraction<CacheType>) => unknown

Type declaration

▸ (ctx): unknown

Parameters
NameType
ctxRoleSelectMenuInteraction<CacheType>
Returns

unknown

Overrides

Module.execute

Defined in

src/types/module.ts:90


name

Optional name: string

Inherited from

Module.name

Defined in

src/types/module.ts:35


onEvent

onEvent: ControlPlugin<any[]>[]

Inherited from

Module.onEvent

Defined in

src/types/module.ts:36


plugins

plugins: InitPlugin<any[]>[]

Inherited from

Module.plugins

Defined in

src/types/module.ts:37


type

type: RoleSelect

Overrides

Module.type

Defined in

src/types/module.ts:89

- + \ No newline at end of file diff --git a/tr/docs/api/interfaces/SernAutocompleteData.html b/tr/docs/api/interfaces/SernAutocompleteData.html index 920b29ad4..c36af3886 100644 --- a/tr/docs/api/interfaces/SernAutocompleteData.html +++ b/tr/docs/api/interfaces/SernAutocompleteData.html @@ -6,13 +6,13 @@ Interface: SernAutocompleteData | sern - Handlers. Redefined. - +

Interface: SernAutocompleteData

Hierarchy

  • Omit<BaseApplicationCommandOptionsData, "autocomplete">

    SernAutocompleteData

Properties

autocomplete

autocomplete: true

Defined in

src/types/module.ts:177


command

command: AutocompleteCommand

Defined in

src/types/module.ts:182


description

description: string

Inherited from

Omit.description

Defined in

node_modules/.pnpm/discord.js@14.7.1/node_modules/discord.js/typings/index.d.ts:4200


descriptionLocalizations

Optional descriptionLocalizations: Partial<Record<"id" | "en-US" | "en-GB" | "bg" | "zh-CN" | "zh-TW" | "hr" | "cs" | "da" | "nl" | "fi" | "fr" | "de" | "el" | "hi" | "hu" | "it" | "ja" | "ko" | "lt" | "no" | "pl" | "pt-BR" | "ro" | "ru" | "es-ES" | "sv-SE" | "th" | "tr" | "uk" | "vi", null | string>>

Inherited from

Omit.descriptionLocalizations

Defined in

node_modules/.pnpm/discord.js@14.7.1/node_modules/discord.js/typings/index.d.ts:4201


name

name: string

Inherited from

Omit.name

Defined in

node_modules/.pnpm/discord.js@14.7.1/node_modules/discord.js/typings/index.d.ts:4198


nameLocalizations

Optional nameLocalizations: Partial<Record<"id" | "en-US" | "en-GB" | "bg" | "zh-CN" | "zh-TW" | "hr" | "cs" | "da" | "nl" | "fi" | "fr" | "de" | "el" | "hi" | "hu" | "it" | "ja" | "ko" | "lt" | "no" | "pl" | "pt-BR" | "ro" | "ru" | "es-ES" | "sv-SE" | "th" | "tr" | "uk" | "vi", null | string>>

Inherited from

Omit.nameLocalizations

Defined in

node_modules/.pnpm/discord.js@14.7.1/node_modules/discord.js/typings/index.d.ts:4199


required

Optional required: boolean

Inherited from

Omit.required

Defined in

node_modules/.pnpm/discord.js@14.7.1/node_modules/discord.js/typings/index.d.ts:4202


type

type: String | Integer | Number

Defined in

src/types/module.ts:178

- + \ No newline at end of file diff --git a/tr/docs/api/interfaces/SernEmitterPlugin.html b/tr/docs/api/interfaces/SernEmitterPlugin.html index 9c1e46a67..708b5e160 100644 --- a/tr/docs/api/interfaces/SernEmitterPlugin.html +++ b/tr/docs/api/interfaces/SernEmitterPlugin.html @@ -6,13 +6,13 @@ Interface: SernEmitterPlugin | sern - Handlers. Redefined. - +

Interface: SernEmitterPlugin

Hierarchy

Properties

description

Optional description: string

Deprecated

will be removed in the next update

Inherited from

Plugin.description

Defined in

src/handler/plugins/plugin.ts:33


execute

execute: (payload: { absPath: string ; mod: SernEventCommand<keyof SernEventsMapping> & { name: string } }, controller: Controller) => Awaitable<Result<void, void>>

Type declaration

▸ (payload, controller): Awaitable<Result<void, void>>

Parameters
NameType
payloadObject
payload.absPathstring
payload.modSernEventCommand<keyof SernEventsMapping> & { name: string }
controllerController
Returns

Awaitable<Result<void, void>>

Defined in

src/handler/plugins/plugin.ts:65


name

Optional name: string

Deprecated

will be removed in the next update

Inherited from

Plugin.name

Defined in

src/handler/plugins/plugin.ts:31


type

type: Command

Overrides

Plugin.type

Defined in

src/handler/plugins/plugin.ts:64

- + \ No newline at end of file diff --git a/tr/docs/api/interfaces/SernEventCommand.html b/tr/docs/api/interfaces/SernEventCommand.html index 6adb38ed5..12112e6b3 100644 --- a/tr/docs/api/interfaces/SernEventCommand.html +++ b/tr/docs/api/interfaces/SernEventCommand.html @@ -6,13 +6,13 @@ Interface: SernEventCommand<T> | sern - Handlers. Redefined. - +

Interface: SernEventCommand<T>

Type parameters

NameType
Textends keyof SernEventsMapping = keyof SernEventsMapping

Hierarchy

Properties

description

Optional description: string

Inherited from

Module.description

Defined in

src/types/module.ts:38


name

Optional name: T

Overrides

Module.name

Defined in

src/types/module.ts:116


onEvent

onEvent: ControlPlugin<any[]>[]

Inherited from

Module.onEvent

Defined in

src/types/module.ts:36


plugins

plugins: InitPlugin<any[]>[]

Inherited from

Module.plugins

Defined in

src/types/module.ts:37


type

type: Sern

Overrides

Module.type

Defined in

src/types/module.ts:117

Methods

execute

execute(...args): unknown

Parameters

NameType
...argsSernEventsMapping[T]

Returns

unknown

Overrides

Module.execute

Defined in

src/types/module.ts:118

- + \ No newline at end of file diff --git a/tr/docs/api/interfaces/SernEventPlugin.html b/tr/docs/api/interfaces/SernEventPlugin.html index 4ed800611..65a4035a6 100644 --- a/tr/docs/api/interfaces/SernEventPlugin.html +++ b/tr/docs/api/interfaces/SernEventPlugin.html @@ -6,13 +6,13 @@ Interface: SernEventPlugin<T> | sern - Handlers. Redefined. - +

Interface: SernEventPlugin<T>

Type parameters

NameType
Textends keyof SernEventsMapping = keyof SernEventsMapping

Hierarchy

Properties

description

Optional description: string

Deprecated

will be removed in the next update

Inherited from

Plugin.description

Defined in

src/handler/plugins/plugin.ts:33


execute

execute: (args: SernEventsMapping[T], controller: Controller) => Awaitable<Result<void, void>>

Type declaration

▸ (args, controller): Awaitable<Result<void, void>>

Parameters
NameType
argsSernEventsMapping[T]
controllerController
Returns

Awaitable<Result<void, void>>

Defined in

src/handler/plugins/plugin.ts:91


name

Optional name: T

Deprecated

will be removed in the next update

Overrides

Plugin.name

Defined in

src/handler/plugins/plugin.ts:89


type

type: Event

Overrides

Plugin.type

Defined in

src/handler/plugins/plugin.ts:90

- + \ No newline at end of file diff --git a/tr/docs/api/interfaces/SernSubCommandData.html b/tr/docs/api/interfaces/SernSubCommandData.html index 7ec3d0274..d21abca21 100644 --- a/tr/docs/api/interfaces/SernSubCommandData.html +++ b/tr/docs/api/interfaces/SernSubCommandData.html @@ -6,13 +6,13 @@ Interface: SernSubCommandData | sern - Handlers. Redefined. - +

Interface: SernSubCommandData

Hierarchy

  • BaseApplicationCommandOptionsData

    SernSubCommandData

Properties

autocomplete

Optional autocomplete: undefined

Inherited from

BaseApplicationCommandOptionsData.autocomplete

Defined in

node_modules/.pnpm/discord.js@14.7.1/node_modules/discord.js/typings/index.d.ts:4203


description

description: string

Inherited from

BaseApplicationCommandOptionsData.description

Defined in

node_modules/.pnpm/discord.js@14.7.1/node_modules/discord.js/typings/index.d.ts:4200


descriptionLocalizations

Optional descriptionLocalizations: Partial<Record<"id" | "en-US" | "en-GB" | "bg" | "zh-CN" | "zh-TW" | "hr" | "cs" | "da" | "nl" | "fi" | "fr" | "de" | "el" | "hi" | "hu" | "it" | "ja" | "ko" | "lt" | "no" | "pl" | "pt-BR" | "ro" | "ru" | "es-ES" | "sv-SE" | "th" | "tr" | "uk" | "vi", null | string>>

Inherited from

BaseApplicationCommandOptionsData.descriptionLocalizations

Defined in

node_modules/.pnpm/discord.js@14.7.1/node_modules/discord.js/typings/index.d.ts:4201


name

name: string

Inherited from

BaseApplicationCommandOptionsData.name

Defined in

node_modules/.pnpm/discord.js@14.7.1/node_modules/discord.js/typings/index.d.ts:4198


nameLocalizations

Optional nameLocalizations: Partial<Record<"id" | "en-US" | "en-GB" | "bg" | "zh-CN" | "zh-TW" | "hr" | "cs" | "da" | "nl" | "fi" | "fr" | "de" | "el" | "hi" | "hu" | "it" | "ja" | "ko" | "lt" | "no" | "pl" | "pt-BR" | "ro" | "ru" | "es-ES" | "sv-SE" | "th" | "tr" | "uk" | "vi", null | string>>

Inherited from

BaseApplicationCommandOptionsData.nameLocalizations

Defined in

node_modules/.pnpm/discord.js@14.7.1/node_modules/discord.js/typings/index.d.ts:4199


options

Optional options: BaseOptions[]

Defined in

src/types/module.ts:214


required

Optional required: undefined

Overrides

BaseApplicationCommandOptionsData.required

Defined in

src/types/module.ts:213


type

type: Subcommand

Defined in

src/types/module.ts:212

- + \ No newline at end of file diff --git a/tr/docs/api/interfaces/SernSubCommandGroupData.html b/tr/docs/api/interfaces/SernSubCommandGroupData.html index 7ed014e30..3737efa53 100644 --- a/tr/docs/api/interfaces/SernSubCommandGroupData.html +++ b/tr/docs/api/interfaces/SernSubCommandGroupData.html @@ -6,13 +6,13 @@ Interface: SernSubCommandGroupData | sern - Handlers. Redefined. - +

Interface: SernSubCommandGroupData

Hierarchy

  • BaseApplicationCommandOptionsData

    SernSubCommandGroupData

Properties

autocomplete

Optional autocomplete: undefined

Inherited from

BaseApplicationCommandOptionsData.autocomplete

Defined in

node_modules/.pnpm/discord.js@14.7.1/node_modules/discord.js/typings/index.d.ts:4203


description

description: string

Inherited from

BaseApplicationCommandOptionsData.description

Defined in

node_modules/.pnpm/discord.js@14.7.1/node_modules/discord.js/typings/index.d.ts:4200


descriptionLocalizations

Optional descriptionLocalizations: Partial<Record<"id" | "en-US" | "en-GB" | "bg" | "zh-CN" | "zh-TW" | "hr" | "cs" | "da" | "nl" | "fi" | "fr" | "de" | "el" | "hi" | "hu" | "it" | "ja" | "ko" | "lt" | "no" | "pl" | "pt-BR" | "ro" | "ru" | "es-ES" | "sv-SE" | "th" | "tr" | "uk" | "vi", null | string>>

Inherited from

BaseApplicationCommandOptionsData.descriptionLocalizations

Defined in

node_modules/.pnpm/discord.js@14.7.1/node_modules/discord.js/typings/index.d.ts:4201


name

name: string

Inherited from

BaseApplicationCommandOptionsData.name

Defined in

node_modules/.pnpm/discord.js@14.7.1/node_modules/discord.js/typings/index.d.ts:4198


nameLocalizations

Optional nameLocalizations: Partial<Record<"id" | "en-US" | "en-GB" | "bg" | "zh-CN" | "zh-TW" | "hr" | "cs" | "da" | "nl" | "fi" | "fr" | "de" | "el" | "hi" | "hu" | "it" | "ja" | "ko" | "lt" | "no" | "pl" | "pt-BR" | "ro" | "ru" | "es-ES" | "sv-SE" | "th" | "tr" | "uk" | "vi", null | string>>

Inherited from

BaseApplicationCommandOptionsData.nameLocalizations

Defined in

node_modules/.pnpm/discord.js@14.7.1/node_modules/discord.js/typings/index.d.ts:4199


options

Optional options: SernSubCommandData[]

Defined in

src/types/module.ts:220


required

Optional required: undefined

Overrides

BaseApplicationCommandOptionsData.required

Defined in

src/types/module.ts:219


type

type: SubcommandGroup

Defined in

src/types/module.ts:218

- + \ No newline at end of file diff --git a/tr/docs/api/interfaces/SlashCommand.html b/tr/docs/api/interfaces/SlashCommand.html index df02d9b24..e996621f2 100644 --- a/tr/docs/api/interfaces/SlashCommand.html +++ b/tr/docs/api/interfaces/SlashCommand.html @@ -6,13 +6,13 @@ Interface: SlashCommand | sern - Handlers. Redefined. - +

Interface: SlashCommand

Hierarchy

Properties

description

description: string

Overrides

Module.description

Defined in

src/types/module.ts:50


execute

execute: (ctx: Context, args: ["slash", SlashOptions]) => unknown

Type declaration

▸ (ctx, args): unknown

Parameters
NameType
ctxContext
args["slash", SlashOptions]
Returns

unknown

Overrides

Module.execute

Defined in

src/types/module.ts:52


name

Optional name: string

Inherited from

Module.name

Defined in

src/types/module.ts:35


onEvent

onEvent: ControlPlugin<any[]>[]

Inherited from

Module.onEvent

Defined in

src/types/module.ts:36


options

Optional options: (SernSubCommandData | SernSubCommandGroupData | BaseOptions)[]

Defined in

src/types/module.ts:51


plugins

plugins: InitPlugin<any[]>[]

Inherited from

Module.plugins

Defined in

src/types/module.ts:37


type

type: Slash

Overrides

Module.type

Defined in

src/types/module.ts:49

- + \ No newline at end of file diff --git a/tr/docs/api/interfaces/StringSelectCommand.html b/tr/docs/api/interfaces/StringSelectCommand.html index 517cbb275..44b803ab6 100644 --- a/tr/docs/api/interfaces/StringSelectCommand.html +++ b/tr/docs/api/interfaces/StringSelectCommand.html @@ -6,13 +6,13 @@ Interface: StringSelectCommand | sern - Handlers. Redefined. - +

Interface: StringSelectCommand

Hierarchy

Properties

description

Optional description: string

Inherited from

Module.description

Defined in

src/types/module.ts:38


execute

execute: (ctx: StringSelectMenuInteraction<CacheType>) => unknown

Type declaration

▸ (ctx): unknown

Parameters
NameType
ctxStringSelectMenuInteraction<CacheType>
Returns

unknown

Overrides

Module.execute

Defined in

src/types/module.ts:80


name

Optional name: string

Inherited from

Module.name

Defined in

src/types/module.ts:35


onEvent

onEvent: ControlPlugin<any[]>[]

Inherited from

Module.onEvent

Defined in

src/types/module.ts:36


plugins

plugins: InitPlugin<any[]>[]

Inherited from

Module.plugins

Defined in

src/types/module.ts:37


type

type: StringSelect

Overrides

Module.type

Defined in

src/types/module.ts:79

- + \ No newline at end of file diff --git a/tr/docs/api/interfaces/TextCommand.html b/tr/docs/api/interfaces/TextCommand.html index 0fddddf5c..defd52671 100644 --- a/tr/docs/api/interfaces/TextCommand.html +++ b/tr/docs/api/interfaces/TextCommand.html @@ -6,13 +6,13 @@ Interface: TextCommand | sern - Handlers. Redefined. - +

Interface: TextCommand

Hierarchy

Properties

alias

Optional alias: string[]

Defined in

src/types/module.ts:44


description

Optional description: string

Inherited from

Module.description

Defined in

src/types/module.ts:38


execute

execute: (ctx: Context, args: ["text", string[]]) => unknown

Type declaration

▸ (ctx, args): unknown

Parameters
NameType
ctxContext
args["text", string[]]
Returns

unknown

Overrides

Module.execute

Defined in

src/types/module.ts:45


name

Optional name: string

Inherited from

Module.name

Defined in

src/types/module.ts:35


onEvent

onEvent: ControlPlugin<any[]>[]

Inherited from

Module.onEvent

Defined in

src/types/module.ts:36


plugins

plugins: InitPlugin<any[]>[]

Inherited from

Module.plugins

Defined in

src/types/module.ts:37


type

type: Text

Overrides

Module.type

Defined in

src/types/module.ts:43

- + \ No newline at end of file diff --git a/tr/docs/api/interfaces/UserSelectCommand.html b/tr/docs/api/interfaces/UserSelectCommand.html index 2a11bb828..620ab7d5e 100644 --- a/tr/docs/api/interfaces/UserSelectCommand.html +++ b/tr/docs/api/interfaces/UserSelectCommand.html @@ -6,13 +6,13 @@ Interface: UserSelectCommand | sern - Handlers. Redefined. - +

Interface: UserSelectCommand

Hierarchy

Properties

description

Optional description: string

Inherited from

Module.description

Defined in

src/types/module.ts:38


execute

execute: (ctx: UserSelectMenuInteraction<CacheType>) => unknown

Type declaration

▸ (ctx): unknown

Parameters
NameType
ctxUserSelectMenuInteraction<CacheType>
Returns

unknown

Overrides

Module.execute

Defined in

src/types/module.ts:100


name

Optional name: string

Inherited from

Module.name

Defined in

src/types/module.ts:35


onEvent

onEvent: ControlPlugin<any[]>[]

Inherited from

Module.onEvent

Defined in

src/types/module.ts:36


plugins

plugins: InitPlugin<any[]>[]

Inherited from

Module.plugins

Defined in

src/types/module.ts:37


type

type: UserSelect

Overrides

Module.type

Defined in

src/types/module.ts:99

- + \ No newline at end of file diff --git a/tr/docs/api/interfaces/Wrapper.html b/tr/docs/api/interfaces/Wrapper.html index 8e35d69b8..2c2e25bee 100644 --- a/tr/docs/api/interfaces/Wrapper.html +++ b/tr/docs/api/interfaces/Wrapper.html @@ -6,13 +6,13 @@ Interface: Wrapper | sern - Handlers. Redefined. - +
- + \ No newline at end of file diff --git a/tr/docs/api/modules.html b/tr/docs/api/modules.html index ebb312f1a..ad50f0c43 100644 --- a/tr/docs/api/modules.html +++ b/tr/docs/api/modules.html @@ -6,7 +6,7 @@ @sern/handler | sern - Handlers. Redefined. - + @@ -19,7 +19,7 @@ where typings can be very bad.

Type parameters

NameType
Textends () => () => unknown

Parameters

NameType
cbT

Returns

T

Defined in

src/handler/dependencies/lifetimeFunctions.ts:33


useContainerRaw

useContainerRaw<T>(): Container<T, {}>

Returns the underlying data structure holding all dependencies. Please be careful as this only gets the client's current state. Exposes some methods from iti

Type parameters

NameType
Textends Dependencies

Returns

Container<T, {}>

Defined in

src/handler/dependencies/provider.ts:54

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

Namespace: Sern

References

CommandExecutable

Re-exports CommandExecutable


EventExecutable

Re-exports EventExecutable


commandModule

Re-exports commandModule


controller

Re-exports controller


discordEvent

Re-exports discordEvent


eventModule

Re-exports eventModule

Functions

init

init(wrapper): void

Example

src/index.ts
Sern.init({
defaultPrefix: '!',
commands: 'dist/commands',
events: 'dist/events',
containerConfig : {
get: useContainer
}
})

Parameters

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

Returns

void

Defined in

src/handler/sern.ts:38


makeDependencies

makeDependencies<T>(conf): <V>(...keys: [...V[]]) => MapDeps<T, V>

Type parameters

NameType
Textends Dependencies

Parameters

NameTypeDescription
confDependencyConfiguration<T>a configuration for creating your project dependencies

Returns

fn

▸ <V>(...keys): MapDeps<T, V>

Type parameters
NameType
Vextends keyof T[]
Parameters
NameType
...keys[...V[]]
Returns

MapDeps<T, V>

Defined in

src/handler/sern.ts:107

- + \ No newline at end of file diff --git a/tr/docs/guide.html b/tr/docs/guide.html index 9e7786446..d6a9b5a9c 100644 --- a/tr/docs/guide.html +++ b/tr/docs/guide.html @@ -6,13 +6,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 6dfac4462..e593d7579 100644 --- a/tr/docs/guide/getting-started/choose-ide.html +++ b/tr/docs/guide/getting-started/choose-ide.html @@ -6,14 +6,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 fe31161e2..899afcdf9 100644 --- a/tr/docs/guide/getting-started/preparing.html +++ b/tr/docs/guide/getting-started/preparing.html @@ -6,13 +6,13 @@ Preparing to Code | sern - Handlers. Redefined. - +
-

Preparing to Code

After installing and IDE you need to install node.

Click to download the LTS version of node right here.

After you downloaded node, you can start using us

Running this will install our CLI, which allows you to create a template project without writing a single line of code.

npm install -g @sern/cli

After you downloaded our CLI, run this,

sern init

You'll be welcomed with our interactive setup guide. Complete it, and your template project is ready. If you want to do more with it, continue reading. our guides

- +

Preparing to Code

After installing and IDE you need to install node.

Click to download the LTS version of node right here.

After you downloaded node, you can start using us

Running this will install our CLI, which allows you to create a template project without writing a single line of code.

npm install -g @sern/cli

If you want to do more with our CLI, continue reading our guides.

+ \ No newline at end of file diff --git a/tr/docs/guide/walkthrough/cli.html b/tr/docs/guide/walkthrough/cli.html index 54c96eb60..6a1d39dfb 100644 --- a/tr/docs/guide/walkthrough/cli.html +++ b/tr/docs/guide/walkthrough/cli.html @@ -6,7 +6,7 @@ CLI | sern - Handlers. Redefined. - + @@ -14,7 +14,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 588907ad8..c649b2c79 100644 --- a/tr/docs/guide/walkthrough/conclusion.html +++ b/tr/docs/guide/walkthrough/conclusion.html @@ -6,7 +6,7 @@ Conclusion | sern - Handlers. Redefined. - + @@ -14,7 +14,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 d2d42945c..4eb97a212 100644 --- a/tr/docs/guide/walkthrough/first-command.html +++ b/tr/docs/guide/walkthrough/first-command.html @@ -6,7 +6,7 @@ First Command | sern - Handlers. Redefined. - + @@ -15,7 +15,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 01596950f..205eaec29 100644 --- a/tr/docs/guide/walkthrough/first-event.html +++ b/tr/docs/guide/walkthrough/first-event.html @@ -6,7 +6,7 @@ First Event Module | sern - Handlers. Redefined. - + @@ -14,7 +14,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 : [],
name: 'guildMemberAdd', //name of event.
async execute(member: GuildMember) {
(await member.guild.channels.fetch('channel-id') as TextChannel).send(`Welcome, ${member}`);
}
})

Javascript:


exports.default = eventModule({
type: EventType.Discord,
plugins : [], //NOT SUPPORTED YET!!
name: 'guildMemberAdd', //name of event.
async execute(member) {
(await member.guild.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 91ba8defc..88392d2af 100644 --- a/tr/docs/guide/walkthrough/goal.html +++ b/tr/docs/guide/walkthrough/goal.html @@ -6,7 +6,7 @@ Goal | sern - Handlers. Redefined. - + @@ -14,7 +14,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 1ea25ad07..8a3370807 100644 --- a/tr/docs/guide/walkthrough/good-to-know.html +++ b/tr/docs/guide/walkthrough/good-to-know.html @@ -6,7 +6,7 @@ Good to know | sern - Handlers. Redefined. - + @@ -14,7 +14,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 e6d155c7c..7040e41b5 100644 --- a/tr/docs/guide/walkthrough/plugins.html +++ b/tr/docs/guide/walkthrough/plugins.html @@ -6,7 +6,7 @@ Plugins | sern - Handlers. Redefined. - + @@ -17,7 +17,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 5a321992d..62bc444b3 100644 --- a/tr/docs/guide/walkthrough/sern-emitter.html +++ b/tr/docs/guide/walkthrough/sern-emitter.html @@ -6,13 +6,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
  • On default, sern creates a single SernEmitter for your bot process.
  • 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 dfc5054b3..a7e136e7f 100644 --- a/tr/docs/intro.html +++ b/tr/docs/intro.html @@ -6,13 +6,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.

tip

If you have problems, join the discord server here

- + \ No newline at end of file diff --git a/tr/index.html b/tr/index.html index be7aaae40..acb3b8f91 100644 --- a/tr/index.html +++ b/tr/index.html @@ -6,13 +6,13 @@ sern - Handlers. Redefined. | sern - Handlers. Redefined. - +

Handlers. Redefined.

With the support of the community made plugins and a powerful 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 ddd13a2fb..810596a31 100644 --- a/tr/markdown-page.html +++ b/tr/markdown-page.html @@ -6,13 +6,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 381d19c73..dd5c6861b 100644 --- a/tr/plugins.html +++ b/tr/plugins.html @@ -6,13 +6,13 @@ sern - Handlers. Redefined. - +

Coming soon

- + \ No newline at end of file