Files
website/tr/blog.html
github-actions[bot] e2cf3bcbba deploy: dd0a61d71a
2022-09-28 16:52:24 +00:00

23 lines
31 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!doctype html>
<html lang="tr" dir="ltr" class="blog-wrapper blog-list-page plugin-blog plugin-id-default">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="generator" content="Docusaurus v2.0.0-rc.1">
<link rel="alternate" type="application/rss+xml" href="/tr/blog/rss.xml" title="sern - Handlers. Redefined. RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/tr/blog/atom.xml" title="sern - Handlers. Redefined. Atom Feed"><title data-rh="true">Blog | sern - Handlers. Redefined.</title><meta data-rh="true" property="og:url" content="https://sern-handler.js.org/tr/blog"><meta data-rh="true" name="docusaurus_locale" content="tr"><meta data-rh="true" name="docsearch:language" content="tr"><meta data-rh="true" name="og:title" content="sern - Handlers. Redefined."><meta data-rh="true" name="og:description" content="A customizable, batteries-included, powerful discord.js framework to automate and streamline bot development"><meta data-rh="true" name="og:image" content="https://i.imgur.com/rr8nqDP.png"><meta data-rh="true" name="og:url" content="https://sern-handler.js.org"><meta data-rh="true" name="og:type" content="website"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" name="twitter:site" content="@sern-handler"><meta data-rh="true" name="twitter:title" content="sern - Handlers. Redefined."><meta data-rh="true" name="twitter:description" content="A customizable, batteries-included, powerful discord.js framework to automate and streamline bot development"><meta data-rh="true" name="twitter:image" content="./assets/images/logo.png"><meta data-rh="true" name="twitter:url" content="https://sern-handler.js.org"><meta data-rh="true" name="theme-color" content="#cb547c"><meta data-rh="true" property="og:title" content="Blog | sern - Handlers. Redefined."><meta data-rh="true" name="description" content="Blog"><meta data-rh="true" property="og:description" content="Blog"><meta data-rh="true" name="docusaurus_tag" content="blog_posts_list"><meta data-rh="true" name="docsearch:docusaurus_tag" content="blog_posts_list"><link data-rh="true" rel="icon" href="/tr/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://sern-handler.js.org/tr/blog"><link data-rh="true" rel="alternate" href="https://sern-handler.js.org/blog" hreflang="en"><link data-rh="true" rel="alternate" href="https://sern-handler.js.org/fr/blog" hreflang="fr"><link data-rh="true" rel="alternate" href="https://sern-handler.js.org/tr/blog" hreflang="tr"><link data-rh="true" rel="alternate" href="https://sern-handler.js.org/blog" hreflang="x-default"><link rel="stylesheet" href="/tr/assets/css/styles.c6e92678.css">
<link rel="preload" href="/tr/assets/js/runtime~main.9f609f77.js" as="script">
<link rel="preload" href="/tr/assets/js/main.decb3634.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
<div role="region"><a href="#" class="skipToContent_fXgn">Ana içeriğe geç</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/tr/"><div class="navbar__logo"><img src="/tr/img/favicon.ico" alt="logo logo" class="themedImage_ToTc themedImage--light_HNdA"><img src="/tr/img/favicon.ico" alt="logo logo" class="themedImage_ToTc themedImage--dark_i4oU"></div><b class="navbar__title text--truncate">home</b></a><a class="navbar__item navbar__link" href="/tr/docs/intro">docs &amp; guide</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/tr/blog">blog</a><a class="navbar__item navbar__link" href="/tr/plugins">plugins</a></div><div class="navbar__items navbar__items--right"><a href="https://github.com/sern-handler" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="searchBox_ZlJk"></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div class="main-wrapper mainWrapper_z2l0"><div class="container margin-vert--lg"><div class="row"><aside class="col col--3"><nav class="sidebar_re4s thin-scrollbar" aria-label="Blog son gönderiler navigasyonu"><div class="sidebarItemTitle_pO2u margin-bottom--md">Recent posts</div><ul class="sidebarItemList_Yudw clean-list"><li class="sidebarItem__DBe"><a class="sidebarItemLink_mo7H" href="/tr/blog/1.2.0">Release 1.2.0</a></li></ul></nav></aside><main class="col col--7" itemscope="" itemtype="http://schema.org/Blog"><article class="margin-bottom--xl" itemprop="blogPost" itemscope="" itemtype="http://schema.org/BlogPosting"><header><h2 class="title_f1Hy" itemprop="headline"><a itemprop="url" href="/tr/blog/1.2.0">Release 1.2.0</a></h2><div class="container_mt6G margin-vert--md"><time datetime="2022-09-28T00:00:00.000Z" itemprop="datePublished">28 Eylül 2022</time> · <!-- -->2 dakikalık okuma</div><div class="margin-top--md margin-bottom--sm row"><div class="col col--6 authorCol_Hf19"><div class="avatar margin-bottom--sm"><a href="https://github.com/jacoobes" target="_blank" rel="noopener noreferrer" class="avatar__photo-link"><img class="avatar__photo" src="https://github.com/jacoobes.png" alt="jacoobes"></a><div class="avatar__intro" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><div class="avatar__name"><a href="https://github.com/jacoobes" target="_blank" rel="noopener noreferrer" itemprop="url"><span itemprop="name">jacoobes</span></a></div><small class="avatar__subtitle" itemprop="description">Head Dev</small></div></div></div></div></header><div class="markdown" itemprop="articleBody"><h2 class="anchor anchorWithStickyNavbar_LWe7" id="class-based-modules">Class-based modules<a class="hash-link" href="#class-based-modules" title="Başlığa doğrudan bağlantı"></a></h2><p>Today we&#x27;re announcing the ability to create class based modules!
To get started, install</p><div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#403f53;--prism-background-color:#FBFBFB"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#403f53"><span class="token plain">npm install @sern/handler@latest</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Kodu panoya kopyala" title="Kopyala" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p>Quick List of changes!</p><ul><li><a href="#class-based-modules">Class based modules</a></li><li><a href="#deprecation-warnings">Deprecation Warnings</a></li><li><a href="#dependencies-update">Dependencies update</a></li></ul><h3 class="anchor anchorWithStickyNavbar_LWe7" id="class-based-modules-1">Class based modules<a class="hash-link" href="#class-based-modules-1" title="Başlığa doğrudan bağlantı"></a></h3><p>Incorporate class based modules into your project instead of the traditional <code>commandModule</code> or <code>eventModule</code>
Extend the new <a href="/tr/docs/api/classes/CommandExecutable">CommandExecutable</a> or <a href="/tr/docs/api/classes/EventExecutable">EventExecutable</a></p><div class="language-ts codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#403f53;--prism-background-color:#FBFBFB"><div class="codeBlockTitle_Ktv7">commands/meaning-of-life.ts</div><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-ts codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#403f53"><span class="token keyword" style="color:rgb(12, 150, 155)">import</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(153, 76, 195)">{</span><span class="token plain"> CommandType</span><span class="token punctuation" style="color:rgb(153, 76, 195)">,</span><span class="token plain"> CommandExecutable</span><span class="token punctuation" style="color:rgb(153, 76, 195)">,</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(12, 150, 155)">type</span><span class="token plain"> </span><span class="token class-name" style="color:rgb(17, 17, 17)">Args</span><span class="token punctuation" style="color:rgb(153, 76, 195)">,</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(12, 150, 155)">type</span><span class="token plain"> </span><span class="token class-name" style="color:rgb(17, 17, 17)">Context</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(153, 76, 195)">}</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(12, 150, 155)">from</span><span class="token plain"> </span><span class="token string" style="color:rgb(72, 118, 214)">&quot;@sern/handler&quot;</span><span class="token punctuation" style="color:rgb(153, 76, 195)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"></span><span class="token keyword" style="color:rgb(12, 150, 155)">import</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(153, 76, 195)">{</span><span class="token plain"> publish </span><span class="token punctuation" style="color:rgb(153, 76, 195)">}</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(12, 150, 155)">from</span><span class="token plain"> </span><span class="token string" style="color:rgb(72, 118, 214)">&quot;../plugins/publish.js&quot;</span><span class="token punctuation" style="color:rgb(153, 76, 195)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"></span><span class="token keyword" style="color:rgb(12, 150, 155)">import</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(153, 76, 195)">{</span><span class="token plain"> serendipityOnly </span><span class="token punctuation" style="color:rgb(153, 76, 195)">}</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(12, 150, 155)">from</span><span class="token plain"> </span><span class="token string" style="color:rgb(72, 118, 214)">&quot;../plugins/serendipityOnly.js&quot;</span><span class="token punctuation" style="color:rgb(153, 76, 195)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"></span><span class="token keyword" style="color:rgb(12, 150, 155)">export</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(12, 150, 155)">default</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(12, 150, 155)">class</span><span class="token plain"> </span><span class="token class-name keyword" style="color:rgb(12, 150, 155)">extends</span><span class="token plain"> CommandExecutable</span><span class="token operator" style="color:rgb(12, 150, 155)">&lt;</span><span class="token plain">CommandType</span><span class="token punctuation" style="color:rgb(153, 76, 195)">.</span><span class="token plain">Both</span><span class="token operator" style="color:rgb(12, 150, 155)">&gt;</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(153, 76, 195)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> type </span><span class="token operator" style="color:rgb(12, 150, 155)">=</span><span class="token plain"> CommandType</span><span class="token punctuation" style="color:rgb(153, 76, 195)">.</span><span class="token plain">Both </span><span class="token keyword" style="color:rgb(12, 150, 155)">as</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(12, 150, 155)">const</span><span class="token punctuation" style="color:rgb(153, 76, 195)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> description </span><span class="token operator" style="color:rgb(12, 150, 155)">=</span><span class="token plain"> </span><span class="token string" style="color:rgb(72, 118, 214)">&#x27;What is the meaning of life?&#x27;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> override onEvent </span><span class="token operator" style="color:rgb(12, 150, 155)">=</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(153, 76, 195)">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> </span><span class="token function" style="color:rgb(153, 76, 195);font-style:italic">serendipityOnly</span><span class="token punctuation" style="color:rgb(153, 76, 195)">(</span><span class="token punctuation" style="color:rgb(153, 76, 195)">)</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(153, 76, 195)">]</span><span class="token punctuation" style="color:rgb(153, 76, 195)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> override plugins </span><span class="token operator" style="color:rgb(12, 150, 155)">=</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(153, 76, 195)">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> </span><span class="token function" style="color:rgb(153, 76, 195);font-style:italic">publish</span><span class="token punctuation" style="color:rgb(153, 76, 195)">(</span><span class="token punctuation" style="color:rgb(153, 76, 195)">)</span><span class="token punctuation" style="color:rgb(153, 76, 195)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(153, 76, 195)">]</span><span class="token punctuation" style="color:rgb(153, 76, 195)">;</span><span class="token plain"></span><br></span><span class="token-line theme-code-block-highlighted-line" style="color:#403f53"><span class="token plain"> </span><span class="token function-variable function" style="color:rgb(153, 76, 195);font-style:italic">execute</span><span class="token plain"> </span><span class="token operator" style="color:rgb(12, 150, 155)">=</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(12, 150, 155)">async</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(153, 76, 195)">(</span><span class="token plain">ctx</span><span class="token operator" style="color:rgb(12, 150, 155)">:</span><span class="token plain"> Context</span><span class="token punctuation" style="color:rgb(153, 76, 195)">,</span><span class="token plain"> args</span><span class="token operator" style="color:rgb(12, 150, 155)">:</span><span class="token plain"> Args</span><span class="token punctuation" style="color:rgb(153, 76, 195)">)</span><span class="token plain"> </span><span class="token operator" style="color:rgb(12, 150, 155)">=&gt;</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(153, 76, 195)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> </span><span class="token keyword" style="color:rgb(12, 150, 155)">await</span><span class="token plain"> ctx</span><span class="token punctuation" style="color:rgb(153, 76, 195)">.</span><span class="token function" style="color:rgb(153, 76, 195);font-style:italic">reply</span><span class="token punctuation" style="color:rgb(153, 76, 195)">(</span><span class="token string" style="color:rgb(72, 118, 214)">&#x27;42&#x27;</span><span class="token punctuation" style="color:rgb(153, 76, 195)">)</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(153, 76, 195)">}</span><span class="token punctuation" style="color:rgb(153, 76, 195)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"></span><span class="token punctuation" style="color:rgb(153, 76, 195)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Kodu panoya kopyala" title="Kopyala" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><div class="theme-admonition theme-admonition-caution alert alert--warning admonition_LlT9"><div class="admonitionHeading_tbUL"><span class="admonitionIcon_kALy"><svg viewBox="0 0 16 16"><path fill-rule="evenodd" d="M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"></path></svg></span>caution</div><div class="admonitionContent_S0QG"><p>execute must not be a method of the class. It should be as above, a property on the class!</p></div></div><div class="language-ts codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#403f53;--prism-background-color:#FBFBFB"><div class="codeBlockTitle_Ktv7">commands/guildMemberAdd.ts</div><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-ts codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#403f53"><span class="token keyword" style="color:rgb(12, 150, 155)">import</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(153, 76, 195)">{</span><span class="token plain"> CommandType</span><span class="token punctuation" style="color:rgb(153, 76, 195)">,</span><span class="token plain"> EventExecutable</span><span class="token punctuation" style="color:rgb(153, 76, 195)">,</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(12, 150, 155)">type</span><span class="token plain"> </span><span class="token class-name" style="color:rgb(17, 17, 17)">EventType</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(153, 76, 195)">}</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(12, 150, 155)">from</span><span class="token plain"> </span><span class="token string" style="color:rgb(72, 118, 214)">&quot;@sern/handler&quot;</span><span class="token punctuation" style="color:rgb(153, 76, 195)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"></span><span class="token keyword" style="color:rgb(12, 150, 155)">import</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(12, 150, 155)">type</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(153, 76, 195)">{</span><span class="token plain"> GuildMember </span><span class="token punctuation" style="color:rgb(153, 76, 195)">}</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(12, 150, 155)">from</span><span class="token plain"> </span><span class="token string" style="color:rgb(72, 118, 214)">&#x27;discord.js&#x27;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"></span><span class="token keyword" style="color:rgb(12, 150, 155)">export</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(12, 150, 155)">default</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(12, 150, 155)">class</span><span class="token plain"> </span><span class="token class-name keyword" style="color:rgb(12, 150, 155)">extends</span><span class="token plain"> EventExecutable</span><span class="token operator" style="color:rgb(12, 150, 155)">&lt;</span><span class="token plain">EventType</span><span class="token punctuation" style="color:rgb(153, 76, 195)">.</span><span class="token plain">Discord</span><span class="token operator" style="color:rgb(12, 150, 155)">&gt;</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(153, 76, 195)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> type </span><span class="token operator" style="color:rgb(12, 150, 155)">=</span><span class="token plain"> EventType</span><span class="token punctuation" style="color:rgb(153, 76, 195)">.</span><span class="token plain">Discord </span><span class="token keyword" style="color:rgb(12, 150, 155)">as</span><span class="token plain"> </span><span class="token keyword" style="color:rgb(12, 150, 155)">const</span><span class="token punctuation" style="color:rgb(153, 76, 195)">;</span><span class="token plain"></span><br></span><span class="token-line theme-code-block-highlighted-line" style="color:#403f53"><span class="token plain"> </span><span class="token function-variable function" style="color:rgb(153, 76, 195);font-style:italic">execute</span><span class="token plain"> </span><span class="token operator" style="color:rgb(12, 150, 155)">=</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(153, 76, 195)">(</span><span class="token plain">member</span><span class="token operator" style="color:rgb(12, 150, 155)">:</span><span class="token plain"> GuildMember</span><span class="token punctuation" style="color:rgb(153, 76, 195)">)</span><span class="token plain"> </span><span class="token operator" style="color:rgb(12, 150, 155)">=&gt;</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(153, 76, 195)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> </span><span class="token builtin" style="color:rgb(72, 118, 214)">console</span><span class="token punctuation" style="color:rgb(153, 76, 195)">.</span><span class="token function" style="color:rgb(153, 76, 195);font-style:italic">log</span><span class="token punctuation" style="color:rgb(153, 76, 195)">(</span><span class="token plain">member</span><span class="token punctuation" style="color:rgb(153, 76, 195)">)</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"> </span><span class="token punctuation" style="color:rgb(153, 76, 195)">}</span><span class="token punctuation" style="color:rgb(153, 76, 195)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#403f53"><span class="token plain"></span><span class="token punctuation" style="color:rgb(153, 76, 195)">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Kodu panoya kopyala" title="Kopyala" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p>Now, you might ask <strong>why</strong> this feature was added. <br> Simply put, to give flexibility to the developers.
I believe that you should build your own structures however you might like and customize to your liking.
In addition, <strong>decorators now unofficially work with modules!</strong>
Feel free to use TypeScript experimental decorators to augment and customize your classes. </p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="deprecation-warnings">Deprecation Warnings<a class="hash-link" href="#deprecation-warnings" title="Başlığa doğrudan bağlantı"></a></h3><p>The next update will bring sern v2 with some important features. Here are some things to watch out for.</p><ul><li><a href="/tr/docs/api/interfaces/Wrapper">Wrapper#client</a> will be deprecated</li><li><a href="/tr/docs/api/interfaces/Wrapper">Wrapper#sernEmitter</a> will be deprecated<ul><li>a SernEmitter will be automatically created once Sern#init is called</li></ul></li><li>The option to pass in a function or array for <a href="/tr/docs/api/interfaces/Wrapper">Wrapper#events</a> will be deprecated. Only strings are accepted.</li><li><a href="/tr/docs/api/classes/SernEmitter">Sern#addExternal</a> will be deprecated in favor of a better way.</li></ul><h3 class="anchor anchorWithStickyNavbar_LWe7" id="dependencies-update">Dependencies Update<a class="hash-link" href="#dependencies-update" title="Başlığa doğrudan bağlantı"></a></h3><ul><li>TypeScript has been updated to 4.8.3</li><li>Discord.js has been upgraded to 14.5</li></ul></div><footer class="row docusaurus-mt-lg"><div class="col"><b>Etiketler:</b><ul class="tags_jXut padding--none margin-left--sm"><li class="tag_QGVx"><a class="tag_zVej tagRegular_sFm0" href="/tr/blog/tags/release">release</a></li></ul></div></footer></article><nav class="pagination-nav" aria-label="Blog gönderi sayfası navigasyonu"></nav></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="row footer__links"><div class="col footer__col"><div class="footer__title">Information</div><ul class="footer__items clean-list"><li class="footer__item"><a class="footer__link-item" href="/tr/docs/intro">docs &amp; guide</a></li></ul></div><div class="col footer__col"><div class="footer__title">Community</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://stackoverflow.com/questions/tagged/sern-handler" target="_blank" rel="noopener noreferrer" class="footer__link-item">Stack Overflow<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://discord.gg/DwbF5H5JgQ" target="_blank" rel="noopener noreferrer" class="footer__link-item">Discord<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://opencollective.com/sern" target="_blank" rel="noopener noreferrer" class="footer__link-item">Open Collective<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div><div class="col footer__col"><div class="footer__title">More</div><ul class="footer__items clean-list"><li class="footer__item"><a class="footer__link-item" href="/tr/blog">blog</a></li><li class="footer__item"><a href="https://github.com/sern-handler" target="_blank" rel="noopener noreferrer" class="footer__link-item">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div></div><div class="footer__bottom text--center"><div class="footer__copyright">Built with ❤️ by the sern Handler team and its contributors</div></div></div></footer></div>
<script src="/tr/assets/js/runtime~main.9f609f77.js"></script>
<script src="/tr/assets/js/main.decb3634.js"></script>
</body>
</html>