1.3.7-dev

This commit is contained in:
night0721 2021-10-09 08:50:42 +08:00
parent 2bc76d0ee5
commit 121dd8a499
44 changed files with 1145 additions and 38 deletions

File diff suppressed because one or more lines are too long

View file

@ -4,4 +4,4 @@
</dd></dl></div></section><section class="tsd-panel tsd-hierarchy"><h3>Hierarchy</h3><ul class="tsd-hierarchy"><li><span class="target">CODMClient</span></li></ul></section><section class="tsd-panel-group tsd-index-group"><h2>Index</h2><section class="tsd-panel tsd-index-panel"><div class="tsd-index-content"><section class="tsd-index-section "><h3>Constructors</h3><ul class="tsd-index-list"><li class="tsd-kind-constructor tsd-parent-kind-class"><a href="CODMClient.html#constructor" class="tsd-kind-icon">constructor</a></li></ul></section><section class="tsd-index-section "><h3>Properties</h3><ul class="tsd-index-list"><li class="tsd-kind-property tsd-parent-kind-class"><a href="CODMClient.html#key" class="tsd-kind-icon">key</a></li></ul></section><section class="tsd-index-section "><h3>Methods</h3><ul class="tsd-index-list"><li class="tsd-kind-method tsd-parent-kind-class"><a href="CODMClient.html#getperk" class="tsd-kind-icon">getperk</a></li></ul></section></div></section></section><section class="tsd-panel-group tsd-member-group "><h2>Constructors</h2><section class="tsd-panel tsd-member tsd-kind-constructor tsd-parent-kind-class"><a name="constructor" class="tsd-anchor"></a><h3>constructor</h3><ul class="tsd-signatures tsd-kind-constructor tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">new CODMClient<span class="tsd-signature-symbol">(</span>key<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="CODMClient.html" class="tsd-signature-type" data-tsd-kind="Class">CODMClient</a></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in CODMClient/codmclient.ts:11</li></ul></aside><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>key: <span class="tsd-signature-type">string</span></h5></li></ul><h4 class="tsd-returns-title">Returns <a href="CODMClient.html" class="tsd-signature-type" data-tsd-kind="Class">CODMClient</a></h4></li></ul></section></section><section class="tsd-panel-group tsd-member-group "><h2>Properties</h2><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class"><a name="key" class="tsd-anchor"></a><h3>key</h3><div class="tsd-signature tsd-kind-icon">key<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div><aside class="tsd-sources"></aside></section></section><section class="tsd-panel-group tsd-member-group "><h2>Methods</h2><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a name="getperk" class="tsd-anchor"></a><h3>getperk</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">getperk<span class="tsd-signature-symbol">(</span>name<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/PerkData.html" class="tsd-signature-type" data-tsd-kind="Interface">PerkData</a><span class="tsd-signature-symbol">&gt;</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in CODMClient/codmclient.ts:21</li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead"> </dd></dl></div></section><section class="tsd-panel tsd-hierarchy"><h3>Hierarchy</h3><ul class="tsd-hierarchy"><li><span class="target">CODMClient</span></li></ul></section><section class="tsd-panel-group tsd-index-group"><h2>Index</h2><section class="tsd-panel tsd-index-panel"><div class="tsd-index-content"><section class="tsd-index-section "><h3>Constructors</h3><ul class="tsd-index-list"><li class="tsd-kind-constructor tsd-parent-kind-class"><a href="CODMClient.html#constructor" class="tsd-kind-icon">constructor</a></li></ul></section><section class="tsd-index-section "><h3>Properties</h3><ul class="tsd-index-list"><li class="tsd-kind-property tsd-parent-kind-class"><a href="CODMClient.html#key" class="tsd-kind-icon">key</a></li></ul></section><section class="tsd-index-section "><h3>Methods</h3><ul class="tsd-index-list"><li class="tsd-kind-method tsd-parent-kind-class"><a href="CODMClient.html#getperk" class="tsd-kind-icon">getperk</a></li></ul></section></div></section></section><section class="tsd-panel-group tsd-member-group "><h2>Constructors</h2><section class="tsd-panel tsd-member tsd-kind-constructor tsd-parent-kind-class"><a name="constructor" class="tsd-anchor"></a><h3>constructor</h3><ul class="tsd-signatures tsd-kind-constructor tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">new CODMClient<span class="tsd-signature-symbol">(</span>key<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="CODMClient.html" class="tsd-signature-type" data-tsd-kind="Class">CODMClient</a></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in CODMClient/codmclient.ts:11</li></ul></aside><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>key: <span class="tsd-signature-type">string</span></h5></li></ul><h4 class="tsd-returns-title">Returns <a href="CODMClient.html" class="tsd-signature-type" data-tsd-kind="Class">CODMClient</a></h4></li></ul></section></section><section class="tsd-panel-group tsd-member-group "><h2>Properties</h2><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class"><a name="key" class="tsd-anchor"></a><h3>key</h3><div class="tsd-signature tsd-kind-icon">key<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div><aside class="tsd-sources"></aside></section></section><section class="tsd-panel-group tsd-member-group "><h2>Methods</h2><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a name="getperk" class="tsd-anchor"></a><h3>getperk</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">getperk<span class="tsd-signature-symbol">(</span>name<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/PerkData.html" class="tsd-signature-type" data-tsd-kind="Interface">PerkData</a><span class="tsd-signature-symbol">&gt;</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in CODMClient/codmclient.ts:21</li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Sends a CODM perk object</p> <p>Sends a CODM perk object</p>
</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>name: <span class="tsd-signature-type">string</span></h5><div class="tsd-comment tsd-typography"><div class="lead"> </div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>name: <span class="tsd-signature-type">string</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
</div></div></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/PerkData.html" class="tsd-signature-type" data-tsd-kind="Interface">PerkData</a><span class="tsd-signature-symbol">&gt;</span></h4></li></ul></section></section></div><div class="col-4 col-menu menu-sticky-wrap menu-highlight"><nav class="tsd-navigation primary"><ul><li class=""><a href="../modules.html">Exports</a></li></ul></nav><nav class="tsd-navigation secondary menu-sticky"><ul><li class="current tsd-kind-class"><a href="CODMClient.html" class="tsd-kind-icon">CODMClient</a><ul><li class="tsd-kind-constructor tsd-parent-kind-class"><a href="CODMClient.html#constructor" class="tsd-kind-icon">constructor</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="CODMClient.html#key" class="tsd-kind-icon">key</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="CODMClient.html#getperk" class="tsd-kind-icon">getperk</a></li></ul></li></ul></nav></div></div></div><footer class="with-border-bottom"><div class="container"><h2>Legend</h2><div class="tsd-legend-group"><ul class="tsd-legend"><li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li><li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li><li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private method</span></li></ul></div><h2>Settings</h2><p>Theme <select id="theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></p></div></footer><div class="container tsd-generator"><p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></div><div class="overlay"></div><script src="../assets/main.js"></script></body></html> </div></div></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/PerkData.html" class="tsd-signature-type" data-tsd-kind="Interface">PerkData</a><span class="tsd-signature-symbol">&gt;</span></h4></li></ul></section></section></div><div class="col-4 col-menu menu-sticky-wrap menu-highlight"><nav class="tsd-navigation primary"><ul><li class=""><a href="../modules.html">Exports</a></li></ul></nav><nav class="tsd-navigation secondary menu-sticky"><ul><li class="current tsd-kind-class"><a href="CODMClient.html" class="tsd-kind-icon">CODMClient</a><ul><li class="tsd-kind-constructor tsd-parent-kind-class"><a href="CODMClient.html#constructor" class="tsd-kind-icon">constructor</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="CODMClient.html#key" class="tsd-kind-icon">key</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="CODMClient.html#getperk" class="tsd-kind-icon">getperk</a></li></ul></li></ul></nav></div></div></div><footer class="with-border-bottom"><div class="container"><h2>Legend</h2><div class="tsd-legend-group"><ul class="tsd-legend"><li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li><li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li><li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private property</span></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private method</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li></ul></div><h2>Settings</h2><p>Theme <select id="theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></p></div></footer><div class="container tsd-generator"><p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></div><div class="overlay"></div><script src="../assets/main.js"></script></body></html>

View file

@ -3,4 +3,4 @@
</dd></dl></div></section><section class="tsd-panel tsd-hierarchy"><h3>Hierarchy</h3><ul class="tsd-hierarchy"><li><span class="target">CodeClient</span></li></ul></section><section class="tsd-panel-group tsd-index-group"><h2>Index</h2><section class="tsd-panel tsd-index-panel"><div class="tsd-index-content"><section class="tsd-index-section "><h3>Constructors</h3><ul class="tsd-index-list"><li class="tsd-kind-constructor tsd-parent-kind-class"><a href="CodeClient.html#constructor" class="tsd-kind-icon">constructor</a></li></ul></section><section class="tsd-index-section "><h3>Methods</h3><ul class="tsd-index-list"><li class="tsd-kind-method tsd-parent-kind-class"><a href="CodeClient.html#createBin" class="tsd-kind-icon">create<wbr/>Bin</a></li></ul></section></div></section></section><section class="tsd-panel-group tsd-member-group "><h2>Constructors</h2><section class="tsd-panel tsd-member tsd-kind-constructor tsd-parent-kind-class"><a name="constructor" class="tsd-anchor"></a><h3>constructor</h3><ul class="tsd-signatures tsd-kind-constructor tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">new <wbr/>Code<wbr/>Client<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="CodeClient.html" class="tsd-signature-type" data-tsd-kind="Class">CodeClient</a></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in CodeClient/codeclient.ts:10</li></ul></aside><h4 class="tsd-returns-title">Returns <a href="CodeClient.html" class="tsd-signature-type" data-tsd-kind="Class">CodeClient</a></h4></li></ul></section></section><section class="tsd-panel-group tsd-member-group "><h2>Methods</h2><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a name="createBin" class="tsd-anchor"></a><h3>create<wbr/>Bin</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">create<wbr/>Bin<span class="tsd-signature-symbol">(</span>title<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">String</span>, description<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">String</span>, code<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">String</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/CodeData.html" class="tsd-signature-type" data-tsd-kind="Interface">CodeData</a><span class="tsd-signature-symbol">&gt;</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in CodeClient/codeclient.ts:18</li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead"> </dd></dl></div></section><section class="tsd-panel tsd-hierarchy"><h3>Hierarchy</h3><ul class="tsd-hierarchy"><li><span class="target">CodeClient</span></li></ul></section><section class="tsd-panel-group tsd-index-group"><h2>Index</h2><section class="tsd-panel tsd-index-panel"><div class="tsd-index-content"><section class="tsd-index-section "><h3>Constructors</h3><ul class="tsd-index-list"><li class="tsd-kind-constructor tsd-parent-kind-class"><a href="CodeClient.html#constructor" class="tsd-kind-icon">constructor</a></li></ul></section><section class="tsd-index-section "><h3>Methods</h3><ul class="tsd-index-list"><li class="tsd-kind-method tsd-parent-kind-class"><a href="CodeClient.html#createBin" class="tsd-kind-icon">create<wbr/>Bin</a></li></ul></section></div></section></section><section class="tsd-panel-group tsd-member-group "><h2>Constructors</h2><section class="tsd-panel tsd-member tsd-kind-constructor tsd-parent-kind-class"><a name="constructor" class="tsd-anchor"></a><h3>constructor</h3><ul class="tsd-signatures tsd-kind-constructor tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">new <wbr/>Code<wbr/>Client<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="CodeClient.html" class="tsd-signature-type" data-tsd-kind="Class">CodeClient</a></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in CodeClient/codeclient.ts:10</li></ul></aside><h4 class="tsd-returns-title">Returns <a href="CodeClient.html" class="tsd-signature-type" data-tsd-kind="Class">CodeClient</a></h4></li></ul></section></section><section class="tsd-panel-group tsd-member-group "><h2>Methods</h2><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a name="createBin" class="tsd-anchor"></a><h3>create<wbr/>Bin</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">create<wbr/>Bin<span class="tsd-signature-symbol">(</span>title<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">String</span>, description<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">String</span>, code<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">String</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/CodeData.html" class="tsd-signature-type" data-tsd-kind="Interface">CodeData</a><span class="tsd-signature-symbol">&gt;</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in CodeClient/codeclient.ts:18</li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Sends the link of the code</p> <p>Sends the link of the code</p>
</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>title: <span class="tsd-signature-type">String</span></h5></li><li><h5>description: <span class="tsd-signature-type">String</span></h5></li><li><h5>code: <span class="tsd-signature-type">String</span></h5><div class="tsd-comment tsd-typography"><div class="lead"> </div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>title: <span class="tsd-signature-type">String</span></h5></li><li><h5>description: <span class="tsd-signature-type">String</span></h5></li><li><h5>code: <span class="tsd-signature-type">String</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
</div></div></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/CodeData.html" class="tsd-signature-type" data-tsd-kind="Interface">CodeData</a><span class="tsd-signature-symbol">&gt;</span></h4></li></ul></section></section></div><div class="col-4 col-menu menu-sticky-wrap menu-highlight"><nav class="tsd-navigation primary"><ul><li class=""><a href="../modules.html">Exports</a></li></ul></nav><nav class="tsd-navigation secondary menu-sticky"><ul><li class="current tsd-kind-class"><a href="CodeClient.html" class="tsd-kind-icon">Code<wbr/>Client</a><ul><li class="tsd-kind-constructor tsd-parent-kind-class"><a href="CodeClient.html#constructor" class="tsd-kind-icon">constructor</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="CodeClient.html#createBin" class="tsd-kind-icon">create<wbr/>Bin</a></li></ul></li></ul></nav></div></div></div><footer class="with-border-bottom"><div class="container"><h2>Legend</h2><div class="tsd-legend-group"><ul class="tsd-legend"><li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li><li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li><li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private method</span></li></ul></div><h2>Settings</h2><p>Theme <select id="theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></p></div></footer><div class="container tsd-generator"><p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></div><div class="overlay"></div><script src="../assets/main.js"></script></body></html> </div></div></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/CodeData.html" class="tsd-signature-type" data-tsd-kind="Interface">CodeData</a><span class="tsd-signature-symbol">&gt;</span></h4></li></ul></section></section></div><div class="col-4 col-menu menu-sticky-wrap menu-highlight"><nav class="tsd-navigation primary"><ul><li class=""><a href="../modules.html">Exports</a></li></ul></nav><nav class="tsd-navigation secondary menu-sticky"><ul><li class="current tsd-kind-class"><a href="CodeClient.html" class="tsd-kind-icon">Code<wbr/>Client</a><ul><li class="tsd-kind-constructor tsd-parent-kind-class"><a href="CodeClient.html#constructor" class="tsd-kind-icon">constructor</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="CodeClient.html#createBin" class="tsd-kind-icon">create<wbr/>Bin</a></li></ul></li></ul></nav></div></div></div><footer class="with-border-bottom"><div class="container"><h2>Legend</h2><div class="tsd-legend-group"><ul class="tsd-legend"><li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li><li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li><li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private property</span></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private method</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li></ul></div><h2>Settings</h2><p>Theme <select id="theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></p></div></footer><div class="container tsd-generator"><p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></div><div class="overlay"></div><script src="../assets/main.js"></script></body></html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -3,4 +3,4 @@
</dd></dl></div></section><section class="tsd-panel tsd-hierarchy"><h3>Hierarchy</h3><ul class="tsd-hierarchy"><li><span class="target">URLClient</span></li></ul></section><section class="tsd-panel-group tsd-index-group"><h2>Index</h2><section class="tsd-panel tsd-index-panel"><div class="tsd-index-content"><section class="tsd-index-section "><h3>Constructors</h3><ul class="tsd-index-list"><li class="tsd-kind-constructor tsd-parent-kind-class"><a href="URLClient.html#constructor" class="tsd-kind-icon">constructor</a></li></ul></section><section class="tsd-index-section "><h3>Methods</h3><ul class="tsd-index-list"><li class="tsd-kind-method tsd-parent-kind-class"><a href="URLClient.html#createShortURL" class="tsd-kind-icon">create<wbr/>ShortURL</a></li></ul></section></div></section></section><section class="tsd-panel-group tsd-member-group "><h2>Constructors</h2><section class="tsd-panel tsd-member tsd-kind-constructor tsd-parent-kind-class"><a name="constructor" class="tsd-anchor"></a><h3>constructor</h3><ul class="tsd-signatures tsd-kind-constructor tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">new URLClient<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="URLClient.html" class="tsd-signature-type" data-tsd-kind="Class">URLClient</a></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in URLClient/urlclient.ts:10</li></ul></aside><h4 class="tsd-returns-title">Returns <a href="URLClient.html" class="tsd-signature-type" data-tsd-kind="Class">URLClient</a></h4></li></ul></section></section><section class="tsd-panel-group tsd-member-group "><h2>Methods</h2><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a name="createShortURL" class="tsd-anchor"></a><h3>create<wbr/>ShortURL</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">create<wbr/>ShortURL<span class="tsd-signature-symbol">(</span>shortName<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, targetURL<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/URLData.html" class="tsd-signature-type" data-tsd-kind="Interface">URLData</a><span class="tsd-signature-symbol">&gt;</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in URLClient/urlclient.ts:17</li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead"> </dd></dl></div></section><section class="tsd-panel tsd-hierarchy"><h3>Hierarchy</h3><ul class="tsd-hierarchy"><li><span class="target">URLClient</span></li></ul></section><section class="tsd-panel-group tsd-index-group"><h2>Index</h2><section class="tsd-panel tsd-index-panel"><div class="tsd-index-content"><section class="tsd-index-section "><h3>Constructors</h3><ul class="tsd-index-list"><li class="tsd-kind-constructor tsd-parent-kind-class"><a href="URLClient.html#constructor" class="tsd-kind-icon">constructor</a></li></ul></section><section class="tsd-index-section "><h3>Methods</h3><ul class="tsd-index-list"><li class="tsd-kind-method tsd-parent-kind-class"><a href="URLClient.html#createShortURL" class="tsd-kind-icon">create<wbr/>ShortURL</a></li></ul></section></div></section></section><section class="tsd-panel-group tsd-member-group "><h2>Constructors</h2><section class="tsd-panel tsd-member tsd-kind-constructor tsd-parent-kind-class"><a name="constructor" class="tsd-anchor"></a><h3>constructor</h3><ul class="tsd-signatures tsd-kind-constructor tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">new URLClient<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="URLClient.html" class="tsd-signature-type" data-tsd-kind="Class">URLClient</a></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in URLClient/urlclient.ts:10</li></ul></aside><h4 class="tsd-returns-title">Returns <a href="URLClient.html" class="tsd-signature-type" data-tsd-kind="Class">URLClient</a></h4></li></ul></section></section><section class="tsd-panel-group tsd-member-group "><h2>Methods</h2><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a name="createShortURL" class="tsd-anchor"></a><h3>create<wbr/>ShortURL</h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">create<wbr/>ShortURL<span class="tsd-signature-symbol">(</span>shortName<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, targetURL<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/URLData.html" class="tsd-signature-type" data-tsd-kind="Interface">URLData</a><span class="tsd-signature-symbol">&gt;</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in URLClient/urlclient.ts:17</li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Sends the link of the URL</p> <p>Sends the link of the URL</p>
</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>shortName: <span class="tsd-signature-type">string</span></h5></li><li><h5>targetURL: <span class="tsd-signature-type">string</span></h5><div class="tsd-comment tsd-typography"><div class="lead"> </div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>shortName: <span class="tsd-signature-type">string</span></h5></li><li><h5>targetURL: <span class="tsd-signature-type">string</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
</div></div></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/URLData.html" class="tsd-signature-type" data-tsd-kind="Interface">URLData</a><span class="tsd-signature-symbol">&gt;</span></h4></li></ul></section></section></div><div class="col-4 col-menu menu-sticky-wrap menu-highlight"><nav class="tsd-navigation primary"><ul><li class=""><a href="../modules.html">Exports</a></li></ul></nav><nav class="tsd-navigation secondary menu-sticky"><ul><li class="current tsd-kind-class"><a href="URLClient.html" class="tsd-kind-icon">URLClient</a><ul><li class="tsd-kind-constructor tsd-parent-kind-class"><a href="URLClient.html#constructor" class="tsd-kind-icon">constructor</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="URLClient.html#createShortURL" class="tsd-kind-icon">create<wbr/>ShortURL</a></li></ul></li></ul></nav></div></div></div><footer class="with-border-bottom"><div class="container"><h2>Legend</h2><div class="tsd-legend-group"><ul class="tsd-legend"><li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li><li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li><li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private method</span></li></ul></div><h2>Settings</h2><p>Theme <select id="theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></p></div></footer><div class="container tsd-generator"><p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></div><div class="overlay"></div><script src="../assets/main.js"></script></body></html> </div></div></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/URLData.html" class="tsd-signature-type" data-tsd-kind="Interface">URLData</a><span class="tsd-signature-symbol">&gt;</span></h4></li></ul></section></section></div><div class="col-4 col-menu menu-sticky-wrap menu-highlight"><nav class="tsd-navigation primary"><ul><li class=""><a href="../modules.html">Exports</a></li></ul></nav><nav class="tsd-navigation secondary menu-sticky"><ul><li class="current tsd-kind-class"><a href="URLClient.html" class="tsd-kind-icon">URLClient</a><ul><li class="tsd-kind-constructor tsd-parent-kind-class"><a href="URLClient.html#constructor" class="tsd-kind-icon">constructor</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="URLClient.html#createShortURL" class="tsd-kind-icon">create<wbr/>ShortURL</a></li></ul></li></ul></nav></div></div></div><footer class="with-border-bottom"><div class="container"><h2>Legend</h2><div class="tsd-legend-group"><ul class="tsd-legend"><li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li><li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li><li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private property</span></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private method</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li></ul></div><h2>Settings</h2><p>Theme <select id="theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></p></div></footer><div class="container tsd-generator"><p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></div><div class="overlay"></div><script src="../assets/main.js"></script></body></html>

File diff suppressed because one or more lines are too long

View file

@ -1,3 +1,3 @@
<!DOCTYPE html><html class="default no-js"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>CODMClientOptions | cath</title><meta name="description" content="Documentation for cath"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script async src="../assets/search.js" id="search-script"></script></head><body><header><div class="tsd-page-toolbar"><div class="container"><div class="table-wrap"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget search no-caption">Search</label><input type="text" id="tsd-search-field"/></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">cath</a></div><div class="table-cell" id="tsd-widgets"><div id="tsd-filter"><a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a><div class="tsd-filter-group"><div class="tsd-select" id="tsd-filter-visibility"><span class="tsd-select-label">All</span><ul class="tsd-select-list"><li data-value="public">Public</li><li data-value="protected">Public/Protected</li><li data-value="private" class="selected">All</li></ul></div> <input type="checkbox" id="tsd-filter-inherited" checked/><label class="tsd-widget" for="tsd-filter-inherited">Inherited</label><input type="checkbox" id="tsd-filter-externals" checked/><label class="tsd-widget" for="tsd-filter-externals">Externals</label></div></div><a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a></div></div></div></div><div class="tsd-page-title"><div class="container"><ul class="tsd-breadcrumb"><li><a href="../modules.html">cath</a></li><li><a href="CODMClientOptions.html">CODMClientOptions</a></li></ul><h1>Interface CODMClientOptions</h1></div></div></header><div class="container container-main"><div class="row"><div class="col-8 col-content"><section class="tsd-panel tsd-hierarchy"><h3>Hierarchy</h3><ul class="tsd-hierarchy"><li><span class="target">CODMClientOptions</span></li></ul></section><section class="tsd-panel-group tsd-index-group"><h2>Index</h2><section class="tsd-panel tsd-index-panel"><div class="tsd-index-content"><section class="tsd-index-section "><h3>Properties</h3><ul class="tsd-index-list"><li class="tsd-kind-property tsd-parent-kind-interface"><a href="CODMClientOptions.html#key" class="tsd-kind-icon">key</a></li></ul></section></div></section></section><section class="tsd-panel-group tsd-member-group "><h2>Properties</h2><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="key" class="tsd-anchor"></a><h3>key</h3><div class="tsd-signature tsd-kind-icon">key<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div><aside class="tsd-sources"><ul><li>Defined in CODMClient/codmclient.interface.ts:5</li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead"> <!DOCTYPE html><html class="default no-js"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>CODMClientOptions | cath</title><meta name="description" content="Documentation for cath"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script async src="../assets/search.js" id="search-script"></script></head><body><header><div class="tsd-page-toolbar"><div class="container"><div class="table-wrap"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget search no-caption">Search</label><input type="text" id="tsd-search-field"/></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">cath</a></div><div class="table-cell" id="tsd-widgets"><div id="tsd-filter"><a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a><div class="tsd-filter-group"><div class="tsd-select" id="tsd-filter-visibility"><span class="tsd-select-label">All</span><ul class="tsd-select-list"><li data-value="public">Public</li><li data-value="protected">Public/Protected</li><li data-value="private" class="selected">All</li></ul></div> <input type="checkbox" id="tsd-filter-inherited" checked/><label class="tsd-widget" for="tsd-filter-inherited">Inherited</label><input type="checkbox" id="tsd-filter-externals" checked/><label class="tsd-widget" for="tsd-filter-externals">Externals</label></div></div><a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a></div></div></div></div><div class="tsd-page-title"><div class="container"><ul class="tsd-breadcrumb"><li><a href="../modules.html">cath</a></li><li><a href="CODMClientOptions.html">CODMClientOptions</a></li></ul><h1>Interface CODMClientOptions</h1></div></div></header><div class="container container-main"><div class="row"><div class="col-8 col-content"><section class="tsd-panel tsd-hierarchy"><h3>Hierarchy</h3><ul class="tsd-hierarchy"><li><span class="target">CODMClientOptions</span></li></ul></section><section class="tsd-panel-group tsd-index-group"><h2>Index</h2><section class="tsd-panel tsd-index-panel"><div class="tsd-index-content"><section class="tsd-index-section "><h3>Properties</h3><ul class="tsd-index-list"><li class="tsd-kind-property tsd-parent-kind-interface"><a href="CODMClientOptions.html#key" class="tsd-kind-icon">key</a></li></ul></section></div></section></section><section class="tsd-panel-group tsd-member-group "><h2>Properties</h2><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="key" class="tsd-anchor"></a><h3>key</h3><div class="tsd-signature tsd-kind-icon">key<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div><aside class="tsd-sources"><ul><li>Defined in CODMClient/codmclient.interface.ts:5</li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Authorisation key for the API</p> <p>Authorisation key for the API</p>
</div></div></section></section></div><div class="col-4 col-menu menu-sticky-wrap menu-highlight"><nav class="tsd-navigation primary"><ul><li class=""><a href="../modules.html">Exports</a></li></ul></nav><nav class="tsd-navigation secondary menu-sticky"><ul><li class="current tsd-kind-interface"><a href="CODMClientOptions.html" class="tsd-kind-icon">CODMClient<wbr/>Options</a><ul><li class="tsd-kind-property tsd-parent-kind-interface"><a href="CODMClientOptions.html#key" class="tsd-kind-icon">key</a></li></ul></li></ul></nav></div></div></div><footer class="with-border-bottom"><div class="container"><h2>Legend</h2><div class="tsd-legend-group"><ul class="tsd-legend"><li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li><li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li><li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private method</span></li></ul></div><h2>Settings</h2><p>Theme <select id="theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></p></div></footer><div class="container tsd-generator"><p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></div><div class="overlay"></div><script src="../assets/main.js"></script></body></html> </div></div></section></section></div><div class="col-4 col-menu menu-sticky-wrap menu-highlight"><nav class="tsd-navigation primary"><ul><li class=""><a href="../modules.html">Exports</a></li></ul></nav><nav class="tsd-navigation secondary menu-sticky"><ul><li class="current tsd-kind-interface"><a href="CODMClientOptions.html" class="tsd-kind-icon">CODMClient<wbr/>Options</a><ul><li class="tsd-kind-property tsd-parent-kind-interface"><a href="CODMClientOptions.html#key" class="tsd-kind-icon">key</a></li></ul></li></ul></nav></div></div></div><footer class="with-border-bottom"><div class="container"><h2>Legend</h2><div class="tsd-legend-group"><ul class="tsd-legend"><li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li><li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li><li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private property</span></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private method</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li></ul></div><h2>Settings</h2><p>Theme <select id="theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></p></div></footer><div class="container tsd-generator"><p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></div><div class="overlay"></div><script src="../assets/main.js"></script></body></html>

View file

@ -1 +1 @@
<!DOCTYPE html><html class="default no-js"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>CodeData | cath</title><meta name="description" content="Documentation for cath"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script async src="../assets/search.js" id="search-script"></script></head><body><header><div class="tsd-page-toolbar"><div class="container"><div class="table-wrap"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget search no-caption">Search</label><input type="text" id="tsd-search-field"/></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">cath</a></div><div class="table-cell" id="tsd-widgets"><div id="tsd-filter"><a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a><div class="tsd-filter-group"><div class="tsd-select" id="tsd-filter-visibility"><span class="tsd-select-label">All</span><ul class="tsd-select-list"><li data-value="public">Public</li><li data-value="protected">Public/Protected</li><li data-value="private" class="selected">All</li></ul></div> <input type="checkbox" id="tsd-filter-inherited" checked/><label class="tsd-widget" for="tsd-filter-inherited">Inherited</label><input type="checkbox" id="tsd-filter-externals" checked/><label class="tsd-widget" for="tsd-filter-externals">Externals</label></div></div><a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a></div></div></div></div><div class="tsd-page-title"><div class="container"><ul class="tsd-breadcrumb"><li><a href="../modules.html">cath</a></li><li><a href="CodeData.html">CodeData</a></li></ul><h1>Interface CodeData</h1></div></div></header><div class="container container-main"><div class="row"><div class="col-8 col-content"><section class="tsd-panel tsd-hierarchy"><h3>Hierarchy</h3><ul class="tsd-hierarchy"><li><span class="target">CodeData</span></li></ul></section><section class="tsd-panel-group tsd-index-group"><h2>Index</h2><section class="tsd-panel tsd-index-panel"><div class="tsd-index-content"><section class="tsd-index-section "><h3>Properties</h3><ul class="tsd-index-list"><li class="tsd-kind-property tsd-parent-kind-interface"><a href="CodeData.html#id" class="tsd-kind-icon">id</a></li></ul></section></div></section></section><section class="tsd-panel-group tsd-member-group "><h2>Properties</h2><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="id" class="tsd-anchor"></a><h3>id</h3><div class="tsd-signature tsd-kind-icon">id<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div><aside class="tsd-sources"><ul><li>Defined in CodeClient/codeclient.interface.ts:2</li></ul></aside></section></section></div><div class="col-4 col-menu menu-sticky-wrap menu-highlight"><nav class="tsd-navigation primary"><ul><li class=""><a href="../modules.html">Exports</a></li></ul></nav><nav class="tsd-navigation secondary menu-sticky"><ul><li class="current tsd-kind-interface"><a href="CodeData.html" class="tsd-kind-icon">Code<wbr/>Data</a><ul><li class="tsd-kind-property tsd-parent-kind-interface"><a href="CodeData.html#id" class="tsd-kind-icon">id</a></li></ul></li></ul></nav></div></div></div><footer class="with-border-bottom"><div class="container"><h2>Legend</h2><div class="tsd-legend-group"><ul class="tsd-legend"><li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li><li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li><li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private method</span></li></ul></div><h2>Settings</h2><p>Theme <select id="theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></p></div></footer><div class="container tsd-generator"><p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></div><div class="overlay"></div><script src="../assets/main.js"></script></body></html> <!DOCTYPE html><html class="default no-js"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>CodeData | cath</title><meta name="description" content="Documentation for cath"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script async src="../assets/search.js" id="search-script"></script></head><body><header><div class="tsd-page-toolbar"><div class="container"><div class="table-wrap"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget search no-caption">Search</label><input type="text" id="tsd-search-field"/></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">cath</a></div><div class="table-cell" id="tsd-widgets"><div id="tsd-filter"><a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a><div class="tsd-filter-group"><div class="tsd-select" id="tsd-filter-visibility"><span class="tsd-select-label">All</span><ul class="tsd-select-list"><li data-value="public">Public</li><li data-value="protected">Public/Protected</li><li data-value="private" class="selected">All</li></ul></div> <input type="checkbox" id="tsd-filter-inherited" checked/><label class="tsd-widget" for="tsd-filter-inherited">Inherited</label><input type="checkbox" id="tsd-filter-externals" checked/><label class="tsd-widget" for="tsd-filter-externals">Externals</label></div></div><a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a></div></div></div></div><div class="tsd-page-title"><div class="container"><ul class="tsd-breadcrumb"><li><a href="../modules.html">cath</a></li><li><a href="CodeData.html">CodeData</a></li></ul><h1>Interface CodeData</h1></div></div></header><div class="container container-main"><div class="row"><div class="col-8 col-content"><section class="tsd-panel tsd-hierarchy"><h3>Hierarchy</h3><ul class="tsd-hierarchy"><li><span class="target">CodeData</span></li></ul></section><section class="tsd-panel-group tsd-index-group"><h2>Index</h2><section class="tsd-panel tsd-index-panel"><div class="tsd-index-content"><section class="tsd-index-section "><h3>Properties</h3><ul class="tsd-index-list"><li class="tsd-kind-property tsd-parent-kind-interface"><a href="CodeData.html#id" class="tsd-kind-icon">id</a></li></ul></section></div></section></section><section class="tsd-panel-group tsd-member-group "><h2>Properties</h2><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="id" class="tsd-anchor"></a><h3>id</h3><div class="tsd-signature tsd-kind-icon">id<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div><aside class="tsd-sources"><ul><li>Defined in CodeClient/codeclient.interface.ts:2</li></ul></aside></section></section></div><div class="col-4 col-menu menu-sticky-wrap menu-highlight"><nav class="tsd-navigation primary"><ul><li class=""><a href="../modules.html">Exports</a></li></ul></nav><nav class="tsd-navigation secondary menu-sticky"><ul><li class="current tsd-kind-interface"><a href="CodeData.html" class="tsd-kind-icon">Code<wbr/>Data</a><ul><li class="tsd-kind-property tsd-parent-kind-interface"><a href="CodeData.html#id" class="tsd-kind-icon">id</a></li></ul></li></ul></nav></div></div></div><footer class="with-border-bottom"><div class="container"><h2>Legend</h2><div class="tsd-legend-group"><ul class="tsd-legend"><li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li><li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li><li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private property</span></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private method</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li></ul></div><h2>Settings</h2><p>Theme <select id="theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></p></div></footer><div class="container tsd-generator"><p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></div><div class="overlay"></div><script src="../assets/main.js"></script></body></html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,7 @@
<!DOCTYPE html><html class="default no-js"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>GiveawaysClientOptions | cath</title><meta name="description" content="Documentation for cath"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script async src="../assets/search.js" id="search-script"></script></head><body><header><div class="tsd-page-toolbar"><div class="container"><div class="table-wrap"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget search no-caption">Search</label><input type="text" id="tsd-search-field"/></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">cath</a></div><div class="table-cell" id="tsd-widgets"><div id="tsd-filter"><a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a><div class="tsd-filter-group"><div class="tsd-select" id="tsd-filter-visibility"><span class="tsd-select-label">All</span><ul class="tsd-select-list"><li data-value="public">Public</li><li data-value="protected">Public/Protected</li><li data-value="private" class="selected">All</li></ul></div> <input type="checkbox" id="tsd-filter-inherited" checked/><label class="tsd-widget" for="tsd-filter-inherited">Inherited</label><input type="checkbox" id="tsd-filter-externals" checked/><label class="tsd-widget" for="tsd-filter-externals">Externals</label></div></div><a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a></div></div></div></div><div class="tsd-page-title"><div class="container"><ul class="tsd-breadcrumb"><li><a href="../modules.html">cath</a></li><li><a href="GiveawaysClientOptions.html">GiveawaysClientOptions</a></li></ul><h1>Interface GiveawaysClientOptions</h1></div></div></header><div class="container container-main"><div class="row"><div class="col-8 col-content"><section class="tsd-panel tsd-hierarchy"><h3>Hierarchy</h3><ul class="tsd-hierarchy"><li><span class="target">GiveawaysClientOptions</span></li></ul></section><section class="tsd-panel-group tsd-index-group"><h2>Index</h2><section class="tsd-panel tsd-index-panel"><div class="tsd-index-content"><section class="tsd-index-section "><h3>Properties</h3><ul class="tsd-index-list"><li class="tsd-kind-property tsd-parent-kind-interface"><a href="GiveawaysClientOptions.html#GiveawayMessages" class="tsd-kind-icon">Giveaway<wbr/>Messages</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="GiveawaysClientOptions.html#MongooseConnectionURI" class="tsd-kind-icon">Mongoose<wbr/>ConnectionURI</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="GiveawaysClientOptions.html#client" class="tsd-kind-icon">client</a></li></ul></section></div></section></section><section class="tsd-panel-group tsd-member-group "><h2>Properties</h2><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="GiveawayMessages" class="tsd-anchor"></a><h3>Giveaway<wbr/>Messages</h3><div class="tsd-signature tsd-kind-icon">Giveaway<wbr/>Messages<span class="tsd-signature-symbol">:</span> <a href="DefaultGiveawayMessages.html" class="tsd-signature-type" data-tsd-kind="Interface">DefaultGiveawayMessages</a></div><aside class="tsd-sources"><ul><li>Defined in GiveawaysClient/giveaway.interface.ts:27</li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Customizable messages for the giveaway embed</p>
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="MongooseConnectionURI" class="tsd-anchor"></a><h3>Mongoose<wbr/>ConnectionURI</h3><div class="tsd-signature tsd-kind-icon">Mongoose<wbr/>ConnectionURI<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div><aside class="tsd-sources"><ul><li>Defined in GiveawaysClient/giveaway.interface.ts:23</li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Connection URI for the MongoDB</p>
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="client" class="tsd-anchor"></a><h3>client</h3><div class="tsd-signature tsd-kind-icon">client<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Client</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">&gt;</span></div><aside class="tsd-sources"><ul><li>Defined in GiveawaysClient/giveaway.interface.ts:19</li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Discord Client</p>
</div></div></section></section></div><div class="col-4 col-menu menu-sticky-wrap menu-highlight"><nav class="tsd-navigation primary"><ul><li class=""><a href="../modules.html">Exports</a></li></ul></nav><nav class="tsd-navigation secondary menu-sticky"><ul><li class="current tsd-kind-interface"><a href="GiveawaysClientOptions.html" class="tsd-kind-icon">Giveaways<wbr/>Client<wbr/>Options</a><ul><li class="tsd-kind-property tsd-parent-kind-interface"><a href="GiveawaysClientOptions.html#GiveawayMessages" class="tsd-kind-icon">Giveaway<wbr/>Messages</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="GiveawaysClientOptions.html#MongooseConnectionURI" class="tsd-kind-icon">Mongoose<wbr/>ConnectionURI</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="GiveawaysClientOptions.html#client" class="tsd-kind-icon">client</a></li></ul></li></ul></nav></div></div></div><footer class="with-border-bottom"><div class="container"><h2>Legend</h2><div class="tsd-legend-group"><ul class="tsd-legend"><li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li><li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li><li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private property</span></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private method</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li></ul></div><h2>Settings</h2><p>Theme <select id="theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></p></div></footer><div class="container tsd-generator"><p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></div><div class="overlay"></div><script src="../assets/main.js"></script></body></html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -4,4 +4,4 @@
<p>Discord Client</p> <p>Discord Client</p>
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="color" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagOptional">Optional</span> color</h3><div class="tsd-signature tsd-kind-icon">color<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">ColorResolvable</span></div><aside class="tsd-sources"><ul><li>Defined in StarboardClient/starboard.interface.ts:11</li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead"> </div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="color" class="tsd-anchor"></a><h3><span class="tsd-flag ts-flagOptional">Optional</span> color</h3><div class="tsd-signature tsd-kind-icon">color<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">ColorResolvable</span></div><aside class="tsd-sources"><ul><li>Defined in StarboardClient/starboard.interface.ts:11</li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Color of Embed</p> <p>Color of Embed</p>
</div></div></section></section></div><div class="col-4 col-menu menu-sticky-wrap menu-highlight"><nav class="tsd-navigation primary"><ul><li class=""><a href="../modules.html">Exports</a></li></ul></nav><nav class="tsd-navigation secondary menu-sticky"><ul><li class="current tsd-kind-interface"><a href="StarboardClientOptions.html" class="tsd-kind-icon">Starboard<wbr/>Client<wbr/>Options</a><ul><li class="tsd-kind-property tsd-parent-kind-interface"><a href="StarboardClientOptions.html#Guilds" class="tsd-kind-icon">Guilds</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="StarboardClientOptions.html#client" class="tsd-kind-icon">client</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="StarboardClientOptions.html#color" class="tsd-kind-icon">color</a></li></ul></li></ul></nav></div></div></div><footer class="with-border-bottom"><div class="container"><h2>Legend</h2><div class="tsd-legend-group"><ul class="tsd-legend"><li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li><li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li><li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private method</span></li></ul></div><h2>Settings</h2><p>Theme <select id="theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></p></div></footer><div class="container tsd-generator"><p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></div><div class="overlay"></div><script src="../assets/main.js"></script></body></html> </div></div></section></section></div><div class="col-4 col-menu menu-sticky-wrap menu-highlight"><nav class="tsd-navigation primary"><ul><li class=""><a href="../modules.html">Exports</a></li></ul></nav><nav class="tsd-navigation secondary menu-sticky"><ul><li class="current tsd-kind-interface"><a href="StarboardClientOptions.html" class="tsd-kind-icon">Starboard<wbr/>Client<wbr/>Options</a><ul><li class="tsd-kind-property tsd-parent-kind-interface"><a href="StarboardClientOptions.html#Guilds" class="tsd-kind-icon">Guilds</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="StarboardClientOptions.html#client" class="tsd-kind-icon">client</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="StarboardClientOptions.html#color" class="tsd-kind-icon">color</a></li></ul></li></ul></nav></div></div></div><footer class="with-border-bottom"><div class="container"><h2>Legend</h2><div class="tsd-legend-group"><ul class="tsd-legend"><li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li><li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li><li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private property</span></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private method</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li></ul></div><h2>Settings</h2><p>Theme <select id="theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></p></div></footer><div class="container tsd-generator"><p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></div><div class="overlay"></div><script src="../assets/main.js"></script></body></html>

File diff suppressed because one or more lines are too long

View file

@ -2,4 +2,4 @@
<p>Amount of stars required in order to be registered as a starred channel</p> <p>Amount of stars required in order to be registered as a starred channel</p>
</div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="starboardChannel" class="tsd-anchor"></a><h3>starboard<wbr/>Channel</h3><div class="tsd-signature tsd-kind-icon">starboard<wbr/>Channel<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div><aside class="tsd-sources"><ul><li>Defined in StarboardClient/starboard.interface.ts:32</li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead"> </div></div></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="starboardChannel" class="tsd-anchor"></a><h3>starboard<wbr/>Channel</h3><div class="tsd-signature tsd-kind-icon">starboard<wbr/>Channel<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div><aside class="tsd-sources"><ul><li>Defined in StarboardClient/starboard.interface.ts:32</li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Channel to send starred messages</p> <p>Channel to send starred messages</p>
</div></div></section></section></div><div class="col-4 col-menu menu-sticky-wrap menu-highlight"><nav class="tsd-navigation primary"><ul><li class=""><a href="../modules.html">Exports</a></li></ul></nav><nav class="tsd-navigation secondary menu-sticky"><ul><li class="current tsd-kind-interface"><a href="StarboardGuildOptions.html" class="tsd-kind-icon">Starboard<wbr/>Guild<wbr/>Options</a><ul><li class="tsd-kind-property tsd-parent-kind-interface"><a href="StarboardGuildOptions.html#starCount" class="tsd-kind-icon">star<wbr/>Count</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="StarboardGuildOptions.html#starboardChannel" class="tsd-kind-icon">starboard<wbr/>Channel</a></li></ul></li></ul></nav></div></div></div><footer class="with-border-bottom"><div class="container"><h2>Legend</h2><div class="tsd-legend-group"><ul class="tsd-legend"><li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li><li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li><li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private method</span></li></ul></div><h2>Settings</h2><p>Theme <select id="theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></p></div></footer><div class="container tsd-generator"><p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></div><div class="overlay"></div><script src="../assets/main.js"></script></body></html> </div></div></section></section></div><div class="col-4 col-menu menu-sticky-wrap menu-highlight"><nav class="tsd-navigation primary"><ul><li class=""><a href="../modules.html">Exports</a></li></ul></nav><nav class="tsd-navigation secondary menu-sticky"><ul><li class="current tsd-kind-interface"><a href="StarboardGuildOptions.html" class="tsd-kind-icon">Starboard<wbr/>Guild<wbr/>Options</a><ul><li class="tsd-kind-property tsd-parent-kind-interface"><a href="StarboardGuildOptions.html#starCount" class="tsd-kind-icon">star<wbr/>Count</a></li><li class="tsd-kind-property tsd-parent-kind-interface"><a href="StarboardGuildOptions.html#starboardChannel" class="tsd-kind-icon">starboard<wbr/>Channel</a></li></ul></li></ul></nav></div></div></div><footer class="with-border-bottom"><div class="container"><h2>Legend</h2><div class="tsd-legend-group"><ul class="tsd-legend"><li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li><li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li><li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private property</span></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private method</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li></ul></div><h2>Settings</h2><p>Theme <select id="theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></p></div></footer><div class="container tsd-generator"><p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></div><div class="overlay"></div><script src="../assets/main.js"></script></body></html>

View file

@ -1 +1 @@
<!DOCTYPE html><html class="default no-js"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>URLData | cath</title><meta name="description" content="Documentation for cath"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script async src="../assets/search.js" id="search-script"></script></head><body><header><div class="tsd-page-toolbar"><div class="container"><div class="table-wrap"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget search no-caption">Search</label><input type="text" id="tsd-search-field"/></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">cath</a></div><div class="table-cell" id="tsd-widgets"><div id="tsd-filter"><a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a><div class="tsd-filter-group"><div class="tsd-select" id="tsd-filter-visibility"><span class="tsd-select-label">All</span><ul class="tsd-select-list"><li data-value="public">Public</li><li data-value="protected">Public/Protected</li><li data-value="private" class="selected">All</li></ul></div> <input type="checkbox" id="tsd-filter-inherited" checked/><label class="tsd-widget" for="tsd-filter-inherited">Inherited</label><input type="checkbox" id="tsd-filter-externals" checked/><label class="tsd-widget" for="tsd-filter-externals">Externals</label></div></div><a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a></div></div></div></div><div class="tsd-page-title"><div class="container"><ul class="tsd-breadcrumb"><li><a href="../modules.html">cath</a></li><li><a href="URLData.html">URLData</a></li></ul><h1>Interface URLData</h1></div></div></header><div class="container container-main"><div class="row"><div class="col-8 col-content"><section class="tsd-panel tsd-hierarchy"><h3>Hierarchy</h3><ul class="tsd-hierarchy"><li><span class="target">URLData</span></li></ul></section><section class="tsd-panel-group tsd-index-group"><h2>Index</h2><section class="tsd-panel tsd-index-panel"><div class="tsd-index-content"><section class="tsd-index-section "><h3>Properties</h3><ul class="tsd-index-list"><li class="tsd-kind-property tsd-parent-kind-interface"><a href="URLData.html#url" class="tsd-kind-icon">url</a></li></ul></section></div></section></section><section class="tsd-panel-group tsd-member-group "><h2>Properties</h2><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="url" class="tsd-anchor"></a><h3>url</h3><div class="tsd-signature tsd-kind-icon">url<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">String</span></div><aside class="tsd-sources"><ul><li>Defined in URLClient/urlclient.interface.ts:2</li></ul></aside></section></section></div><div class="col-4 col-menu menu-sticky-wrap menu-highlight"><nav class="tsd-navigation primary"><ul><li class=""><a href="../modules.html">Exports</a></li></ul></nav><nav class="tsd-navigation secondary menu-sticky"><ul><li class="current tsd-kind-interface"><a href="URLData.html" class="tsd-kind-icon">URLData</a><ul><li class="tsd-kind-property tsd-parent-kind-interface"><a href="URLData.html#url" class="tsd-kind-icon">url</a></li></ul></li></ul></nav></div></div></div><footer class="with-border-bottom"><div class="container"><h2>Legend</h2><div class="tsd-legend-group"><ul class="tsd-legend"><li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li><li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li><li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private method</span></li></ul></div><h2>Settings</h2><p>Theme <select id="theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></p></div></footer><div class="container tsd-generator"><p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></div><div class="overlay"></div><script src="../assets/main.js"></script></body></html> <!DOCTYPE html><html class="default no-js"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>URLData | cath</title><meta name="description" content="Documentation for cath"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script async src="../assets/search.js" id="search-script"></script></head><body><header><div class="tsd-page-toolbar"><div class="container"><div class="table-wrap"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget search no-caption">Search</label><input type="text" id="tsd-search-field"/></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">cath</a></div><div class="table-cell" id="tsd-widgets"><div id="tsd-filter"><a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a><div class="tsd-filter-group"><div class="tsd-select" id="tsd-filter-visibility"><span class="tsd-select-label">All</span><ul class="tsd-select-list"><li data-value="public">Public</li><li data-value="protected">Public/Protected</li><li data-value="private" class="selected">All</li></ul></div> <input type="checkbox" id="tsd-filter-inherited" checked/><label class="tsd-widget" for="tsd-filter-inherited">Inherited</label><input type="checkbox" id="tsd-filter-externals" checked/><label class="tsd-widget" for="tsd-filter-externals">Externals</label></div></div><a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a></div></div></div></div><div class="tsd-page-title"><div class="container"><ul class="tsd-breadcrumb"><li><a href="../modules.html">cath</a></li><li><a href="URLData.html">URLData</a></li></ul><h1>Interface URLData</h1></div></div></header><div class="container container-main"><div class="row"><div class="col-8 col-content"><section class="tsd-panel tsd-hierarchy"><h3>Hierarchy</h3><ul class="tsd-hierarchy"><li><span class="target">URLData</span></li></ul></section><section class="tsd-panel-group tsd-index-group"><h2>Index</h2><section class="tsd-panel tsd-index-panel"><div class="tsd-index-content"><section class="tsd-index-section "><h3>Properties</h3><ul class="tsd-index-list"><li class="tsd-kind-property tsd-parent-kind-interface"><a href="URLData.html#url" class="tsd-kind-icon">url</a></li></ul></section></div></section></section><section class="tsd-panel-group tsd-member-group "><h2>Properties</h2><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface"><a name="url" class="tsd-anchor"></a><h3>url</h3><div class="tsd-signature tsd-kind-icon">url<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">String</span></div><aside class="tsd-sources"><ul><li>Defined in URLClient/urlclient.interface.ts:2</li></ul></aside></section></section></div><div class="col-4 col-menu menu-sticky-wrap menu-highlight"><nav class="tsd-navigation primary"><ul><li class=""><a href="../modules.html">Exports</a></li></ul></nav><nav class="tsd-navigation secondary menu-sticky"><ul><li class="current tsd-kind-interface"><a href="URLData.html" class="tsd-kind-icon">URLData</a><ul><li class="tsd-kind-property tsd-parent-kind-interface"><a href="URLData.html#url" class="tsd-kind-icon">url</a></li></ul></li></ul></nav></div></div></div><footer class="with-border-bottom"><div class="container"><h2>Legend</h2><div class="tsd-legend-group"><ul class="tsd-legend"><li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li><li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li><li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private property</span></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private method</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li></ul></div><h2>Settings</h2><p>Theme <select id="theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></p></div></footer><div class="container tsd-generator"><p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></div><div class="overlay"></div><script src="../assets/main.js"></script></body></html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1,6 +1,6 @@
{ {
"name": "cath", "name": "cath",
"version": "1.3.6", "version": "1.3.7-dev",
"description": "A powerful package that can interact with Cath API", "description": "A powerful package that can interact with Cath API",
"main": "./dist/index.js", "main": "./dist/index.js",
"types": "./dist/index.d.ts", "types": "./dist/index.d.ts",
@ -23,7 +23,7 @@
"bugs": { "bugs": {
"url": "https://github.com/night0721/cath/issues" "url": "https://github.com/night0721/cath/issues"
}, },
"homepage": "https://github.com/night0721/cath#readme", "homepage": "https://cath.js.org",
"keywords": [ "keywords": [
"cath", "cath",
"cath.exe", "cath.exe",
@ -37,6 +37,7 @@
"dependencies": { "dependencies": {
"axios": "^0.21.4", "axios": "^0.21.4",
"discord.js": "^13.1.0", "discord.js": "^13.1.0",
"mongoose": "^5.13.9",
"typedoc": "^0.22.4" "typedoc": "^0.22.4"
}, },
"devDependencies": { "devDependencies": {

View file

@ -1,5 +1,6 @@
export class CathError { export class CathError extends Error {
constructor(public err: String) { constructor(public err: string) {
console.error(`Cath Error: ${this.err}`); super(err);
console.log(`Cath Error: ${err}`);
} }
} }

View file

@ -0,0 +1,47 @@
import { Client } from "discord.js";
export interface GiveawaySchema {
Guild: string;
Channel: string;
Message: string;
HostBy: string;
End: number;
Start: number;
Award: string;
Winners: number;
Ended: boolean;
Requirements: { Enabled: boolean; Roles?: [string] };
Clickers: [string];
}
export interface GiveawaysClientOptions {
/**
* Discord Client
*/
client: Client;
/**
* Connection URI for the MongoDB
*/
MongooseConnectionURI: string;
/**
* Customizable messages for the giveaway embed
*/
GiveawayMessages: DefaultGiveawayMessages;
}
export interface DefaultGiveawayMessages {
dmWinner: true;
giveaway: "🎉🎉 **GIVEAWAY!** 🎉🎉";
giveawayDescription: "🎁 Award: **{award}**\n🎊 Hosted by: {hostedBy}\n⏲ Winner(s): `{winners}` \n🙏 Entrants: {totalParticipants} \n\n**Requirements:** {requirements}";
giveawayFooterImage: "https://emoji.gg/assets/emoji/3461-giveaway.gif";
winMessage: "congratulations {winners}! You have won **{prize}** from total `{totalParticipants}` entrants!";
rerolledMessage: "Rerolled! {winner} is the new winner of the giveaway!"; // only {winner} placeholder
toParticipate: "**Click the `Enter` button to enter the giveaway!**";
newParticipant: "You have successfully entered for this giveaway! There are total `{totalParticipants}` entrants"; // no placeholders | ephemeral
alreadyParticipated: "**You have already participated in this giveaway!**"; // no placeholders | ephemeral
noParticipants: "There isn't enough entrant in this giveaway!"; // no placeholders
dmMessage: "You have won a giveaway in **{guildName}**!\nPrize: [{prize}]({giveawayURL})";
noWinner: "There isn't any winner in this giveaway due to not enough entrants"; // no {winner} placerholder
alreadyEnded: "The giveaway had already ended!"; // no {winner} placeholder
noWeeklyExp: "you dont have the required minimum weekly xp to join this giveaway";
noLevel: "You dont have the minimum required level to join this giveaway";
nonoRole: "You don't the required role(s)\n{requiredRoles} role(s) to join the giveaway";
editParticipants: true;
}

View file

@ -0,0 +1,694 @@
import mongoose, { Schema, model } from "mongoose";
import {
Client,
Snowflake,
Message,
MessageActionRow,
MessageButton,
MessageEmbed,
TextChannel,
GuildMember,
ButtonInteraction,
} from "discord.js";
import { CathError } from "../Error/CathError";
import {
GiveawaySchema,
GiveawaysClientOptions,
DefaultGiveawayMessages,
} from "./giveaway.interface";
import { parseString } from "../functions/ms";
export class GiveawaysClient {
public schema = model<GiveawaySchema>(
"cath-giveaways",
new Schema({
Guild: {
type: String,
required: true,
},
Channel: {
type: String,
required: true,
},
Message: {
type: String,
required: true,
},
HostBy: {
type: String,
required: true,
},
End: {
type: Number,
required: true,
},
Start: {
type: Number,
required: true,
},
Award: {
type: String,
required: true,
},
Winners: {
type: Number,
required: true,
},
Ended: {
type: Boolean,
default: false,
},
Requirements: {
type: Object,
default: { Enabled: false, Roles: [] },
},
Clickers: {
type: Array,
default: [],
},
})
);
public client: Client;
public GiveawayMessages: DefaultGiveawayMessages;
public MongooseConnectionURI: string;
/**
* @name GiveawaysClient
* @kind constructor
* @param {GiveawaysClientOptions}options
*/
constructor(options: GiveawaysClientOptions) {
this.GiveawayMessages = options.GiveawayMessages || this.GiveawayMessages;
this.client = options.client;
this.MongooseConnectionURI = options.MongooseConnectionURI;
mongoose
.connect(this.MongooseConnectionURI, {
useNewUrlParser: true,
useUnifiedTopology: true,
})
.then(() => console.log("Connected to Giveaway Database"))
.catch(e => {
throw new CathError(e);
});
this.client.on("interactionCreate", async interaction => {
if (interaction.isButton()) {
let win = "" || [];
if (!interaction.guild) return;
await (interaction.member as GuildMember).fetch();
const id = interaction.customId;
if (id.startsWith("g")) {
const tag = id.split("_");
if (tag[0] === "genter") {
const data = await this.schema.findOne({
Message: interaction.message.id,
});
if (data.Requirements.Enabled) {
if (data.Requirements.Roles.length) {
const roles = data.Requirements.Roles.map(x =>
(interaction.message as Message).guild.members.cache
.get(interaction.user.id)
.roles.cache.get(x)
);
if (!roles[0]) {
const requiredRoles = (
interaction.message as Message
).guild.roles.cache
.filter(x => data.Requirements.Roles.includes(x.id))
.filter(
x =>
!(interaction.message as Message).guild.members.cache
.get(interaction.user.id)
.roles.cache.get(x.id)
)
.map(x => `\`${x.name}\``)
.join(", ");
interaction.reply({
content: this.GiveawayMessages.nonoRole.replace(
/{requiredRoles}/g,
requiredRoles
),
ephemeral: true,
});
}
}
}
if (!data.Clickers.includes(interaction.user.id)) {
data.Clickers.push(interaction.user.id);
data.save();
interaction
.reply({
content: this.GiveawayMessages.newParticipant.replace(
/{totalParticipants}/g,
data.Clickers.length.toString()
),
ephemeral: true,
})
.catch();
} else {
interaction.reply({
content: this.GiveawayMessages.alreadyParticipated,
ephemeral: true,
});
}
}
if (tag[0] === "greroll") {
if (interaction.user.id !== tag[1])
interaction.reply({
ephemeral: true,
content: "Only the host can reroll the giveaway",
});
try {
win = await this.reroll(
this.client,
interaction.message.id,
interaction.message as Message
);
} catch (err) {
console.log(err);
interaction.reply({
content: "⚠️ **Unable To Find That Giveaway**",
ephemeral: true,
});
}
if (!win.length)
interaction.channel.send(this.GiveawayMessages.noParticipants);
else {
interaction.reply({ content: "Rerolled", ephemeral: true });
interaction.channel.send({
content: this.GiveawayMessages.rerolledMessage.replace(
/{winner}/g,
`<@${win}>`
),
components: [
new MessageActionRow().addComponents([
new MessageButton()
.setLabel("Giveaway")
.setURL(
`https://discord.com/channels/${interaction.guild.id}/${interaction.channel.id}/${interaction.message.id}`
)
.setStyle("LINK"),
]),
],
});
}
}
if (tag[0] === "gend") {
if (interaction.user.id !== tag[1])
interaction.reply({
content: "You Cannot End This Giveaway, Only The Host Can",
ephemeral: true,
});
interaction.reply({ content: "Ended", ephemeral: true });
await this.endByButton(
this.client,
interaction.message.id,
interaction
);
}
}
}
});
}
private getButtons(host: string) {
const reroll = new MessageButton()
.setLabel("Reroll")
.setStyle("SECONDARY")
.setCustomId(`greroll_${host}`)
.setDisabled(true);
const end = new MessageButton()
.setLabel("End")
.setStyle("DANGER")
.setCustomId(`gend_${host}`);
const enter = new MessageButton()
.setLabel("Enter")
.setStyle("SUCCESS")
.setCustomId(`genter_${host}`);
const b = [enter, end, reroll];
return b;
}
private async choose(winners: number, msgid: Snowflake, message: Message) {
const data = await this.getByMessage(msgid);
const final = [];
if (data.Requirements.Enabled == true) {
const c = data.Clickers.filter(x =>
this.checkRoles(x, data.Requirements.Roles, message)
);
for (let i = 0; i < winners; i++) {
if (!c.length) return final[0] ? final : [];
const win = c[Math.floor(Math.random() * c.length)];
if (final.includes(win)) break;
if (!win) return final[0] ? final : [];
final.push(win);
}
} else {
for (let i = 0; i < winners; i++) {
if (!data.Clickers.length) return final[0] ? final : [];
const win =
data.Clickers[Math.floor(Math.random() * data.Clickers.length)];
if (final.includes(win)) break;
if (!win) return final[0] ? final : [];
final.push(win);
}
}
return final[0] ? final : [];
}
private checkRoles(
userID: Snowflake,
roleIDs: Snowflake[],
message: Message
): Boolean {
let res = null;
roleIDs.forEach(roleID => {
const role = message.guild.roles.cache.get(roleID);
if (!message.guild.members.cache.get(userID).roles.cache.get(role.id))
res = false;
});
if (res == false) return false;
else return true;
}
private async editButtons(client: Client, data: GiveawaySchema) {
const m = await (
client.guilds.cache
.get(data.Guild)
.channels.cache.get(data.Channel) as TextChannel
).messages.fetch(data.Message);
const bs = await this.getButtons(data.HostBy);
bs.find(x => x.label == "Enter")
.setDisabled()
.setStyle("SECONDARY");
bs.find(x => x.label == "End")
.setDisabled()
.setStyle("SECONDARY");
bs.find(x => x.label == "Reroll")
.setDisabled(false)
.setStyle("SUCCESS");
const row = new MessageActionRow().addComponents(bs);
m.edit({
components: [row],
embeds: m.embeds,
}).catch(e => {
throw new CathError(e);
});
}
private async giveawayEmbed(
client: Client,
status: string,
{ host, prize, endAfter, winners, requirements }
) {
const hostedBy =
client.users.cache.get(host) ||
(await client.users.fetch(host).catch(() => null));
let req = "";
if (requirements.Roles)
req += `\n Role(s): ${requirements.Roles.map(x => `<@&${x}>`).join(
", "
)}`;
if (requirements.weeklyamari)
req += `\n Weekly Amari: \`${requirements.weeklyamari}\``;
if (requirements.amarilevel)
req += `\n Amari Level: \`${requirements.amarilevel}\``;
const embed = new MessageEmbed()
.setTitle(`Status: ${status}! 🎉`)
.setDescription(
`${
this.GiveawayMessages.toParticipate
}\n${this.GiveawayMessages.giveawayDescription
.replace(/{requirements}/g, req)
.replace(/{hostedBy}/g, hostedBy || "Can't find the user")
.replace(/{award}/g, prize)
.replace(/{winners}/g, winners)
.replace(/{totalParticipants}/g, "0")}`
)
.setColor("RANDOM")
.setFooter("Ends", this.GiveawayMessages.giveawayFooterImage)
.setTimestamp(Date.now() + parseString(endAfter));
return embed;
}
public async create(
client: Client,
{ prize, host, winners, endAfter, requirements, Channel }
) {
if (!client)
throw new Error(
"NuggiesError: client wasnt provided while creating giveaway!"
);
if (!prize)
throw new Error(
"NuggiesError: prize wasnt provided while creating giveaway!"
);
if (typeof prize !== "string")
throw new TypeError("NuggiesError: prize should be a string");
if (!host)
throw new Error(
"NuggiesError: host wasnt provided while creating giveaway"
);
if (!winners)
throw new Error(
"NuggiesError: winner count wasnt provided while creating giveaway"
);
if (isNaN(winners))
throw new TypeError("NuggiesError: winners should be a Number");
if (!endAfter)
throw new Error(
"NuggiesError: time wasnt provided while creating giveaway"
);
if (typeof endAfter !== "string")
throw new TypeError("NuggiesError: endAfter should be a string");
if (!Channel)
throw new Error(
"NuggiesError: channel ID wasnt provided while creating giveaway"
);
const status = "In Progress";
const msg = await (client.channels.cache.get(Channel) as TextChannel).send({
content: this.GiveawayMessages.giveaway,
components: [new MessageActionRow().addComponents(this.getButtons(host))],
embeds: [
await this.giveawayEmbed(client, status, {
host,
prize,
endAfter,
winners,
requirements,
}),
],
});
const data = await new this.schema({
Message: msg.id,
Channel: Channel,
Guild: msg.guild.id,
HostBy: host,
Winners: winners,
Award: prize,
Start: Date.now(),
End: Date.now() + parseString(endAfter),
Requirements: requirements,
}).save();
await this.startTimer(msg, data);
}
private async startTimer(message: Message, data, instant = false) {
if (!message) throw new CathError("Missing 'message'");
if (!data) throw new CathError("Missing 'data'");
const msg = await (
message.guild.channels.cache.get(data.Channel) as TextChannel
).messages.fetch(data.Message);
await msg.fetch();
const time = instant ? 0 : data.End - Date.now();
setTimeout(async () => {
const winners = await this.choose(data.winners, data.Message, message);
if (!winners) {
msg.channel.send({
content: this.replacePlaceholders(
this.GiveawayMessages.noWinner,
data,
msg
),
});
data.Ended = true;
data.save();
const embed = msg.embeds[0];
embed.description = this.replacePlaceholders(
this.GiveawayMessages.giveawayDescription,
data,
msg
);
msg.edit({ embeds: [embed] });
this.editButtons(message.client, data);
return "NO_WINNERS";
}
message.channel.send({
content: this.replacePlaceholders(
this.GiveawayMessages.winMessage,
await this.getByMessage(data.Message),
msg,
winners as []
),
});
if (this.GiveawayMessages.dmWinner) {
const dmEmbed = new MessageEmbed()
.setTitle("You Won!")
.setDescription(
this.replacePlaceholders(
this.GiveawayMessages.dmMessage,
data,
msg,
winners as []
)
)
.setColor("RANDOM")
.setTimestamp()
.setThumbnail(msg.guild.iconURL({ dynamic: true }))
.setFooter("Made by Cath Team");
(winners as []).forEach(user => {
message.guild.members.cache.get(user).send({ embeds: [dmEmbed] });
});
}
const embed = msg.embeds[0];
embed.description = this.replacePlaceholders(
this.GiveawayMessages.giveawayDescription,
data,
msg,
winners as []
);
msg.edit({ embeds: [embed] }).catch(err => console.log(err));
data.Ended = true;
data.save().catch(err => {
console.log(err);
});
this.editButtons(message.client, data);
}, time);
}
private gotoGiveaway(data) {
if (!data) throw new CathError("Missing 'data'");
const link = `https://discord.com/channels/${data.Guild}/${data.Channel}/${data.Message}`;
const button = new MessageButton()
.setLabel("Giveaway")
.setStyle("LINK")
.setURL(link);
return button;
}
private async endByButton(
client: Client,
Message: Snowflake,
button: ButtonInteraction
) {
if (!client) throw new CathError("Missing 'client'");
if (!Message) throw new CathError("Missing 'Message'");
if (!button) throw new CathError("Missing 'button'");
const data = await this.getByMessage(Message);
const msg = await (
client.guilds.cache
.get(data.Guild)
.channels.cache.get(data.Channel) as TextChannel
).messages.fetch(Message);
const res = await this.end(msg, data, msg);
if (res == "ENDED")
button.reply({
content: this.replacePlaceholders(
this.GiveawayMessages.alreadyEnded,
data,
msg
),
ephemeral: true,
});
}
public async end(message: Message, data, giveawaymsg: Message) {
if (!message) throw new CathError("Missing 'Message'");
if (!data) throw new CathError("Missing 'data'");
if (!giveawaymsg) throw new CathError("Missing 'Message'");
const newData = await this.getByMessage(data.Message);
if (newData.Ended) return "ENDED";
const winners = await this.choose(data.Winners, message.id, message);
const msg = await (
message.client.guilds.cache
.get(data.Guild)
.channels.cache.get(data.Channel) as TextChannel
).messages.fetch(data.Message);
if (!winners) {
message.channel.send(
this.replacePlaceholders(this.GiveawayMessages.noWinner, newData, msg)
);
data.Ended = true;
await data.save();
const embed = giveawaymsg.embeds[0];
embed.description = this.replacePlaceholders(
this.GiveawayMessages.giveawayDescription,
newData,
msg
);
embed.title = "Status: Ended! 🎉";
giveawaymsg.edit({ embeds: [embed] }).catch(err => console.log(err));
this.editButtons(message.client, data);
return "NO_WINNERS";
}
message.channel.send(
this.replacePlaceholders(
this.GiveawayMessages.winMessage,
newData,
msg,
winners as []
)
);
if (this.GiveawayMessages.dmWinner) {
const dmEmbed = new MessageEmbed()
.setTitle("You Won!")
.setDescription(
this.replacePlaceholders(
this.GiveawayMessages.dmMessage,
newData,
msg,
winners as []
)
)
.setColor("RANDOM")
.setTimestamp()
.setThumbnail(msg.guild.iconURL({ dynamic: true }))
.setFooter("Made by Cath Team");
(winners as []).forEach(user => {
message.guild.members.cache
.get(user)
.send({ embeds: [dmEmbed] })
.catch();
});
}
const embed = giveawaymsg.embeds[0];
embed.description = this.replacePlaceholders(
this.GiveawayMessages.giveawayDescription,
data,
msg,
winners as []
);
embed.title = "Status: Ended! 🎉";
giveawaymsg.edit({ embeds: [embed] }).catch(err => console.log(err));
data.Ended = true;
data.save().catch(err => {
console.log(err);
});
this.editButtons(message.client, data);
}
public async reroll(client: Client, Message: Snowflake, message: Message) {
if (!client) throw new CathError("Missing 'client'");
if (!Message) throw new CathError("Missing 'Message'");
const data = await this.getByMessage(Message);
const msg = await (
client.guilds.cache
.get(data.Guild)
.channels.cache.get(data.Channel) as TextChannel
).messages.fetch(Message);
const embed = message.embeds[0];
embed.title = "Status: Rerolled! 🎉";
message.edit({ embeds: [embed] }).catch(err => console.log(err));
const chosen = await this.choose(1, Message, message);
if (!chosen) return [];
const dmEmbed = new MessageEmbed()
.setTitle("You Won!")
.setDescription(
this.replacePlaceholders(
this.GiveawayMessages.dmMessage,
data,
msg,
chosen as []
)
)
.setColor("RANDOM")
.setTimestamp()
.setThumbnail(msg.guild.iconURL({ dynamic: true }))
.setFooter("Made by Cath Team");
(chosen as []).forEach(user => {
client.users.cache.get(user).send({ embeds: [dmEmbed] });
});
return chosen;
}
public async getByMessage(Message: Snowflake) {
const doc = await this.schema.findOne({ Message: Message });
if (!doc) return;
return doc;
}
public async start(client: Client) {
await this.schema.find({ Ended: false }).then(data => {
setTimeout(async () => {
data.forEach(async e => {
const guild = await client.guilds.fetch(e.Guild);
if (!guild) await e.delete();
const channel = guild.channels.cache.get(e.Channel) as TextChannel;
if (!channel) await e.delete();
const msg = await channel.messages.fetch(e.Message).catch();
if (!msg) await e.delete();
this.startTimer(msg, e);
});
}, 10000);
});
if (this.GiveawayMessages.editParticipants) {
setInterval(async () => {
const docs = await this.schema.find({ Ended: false });
for (let i = 0; i < docs.length; i++) {
const guild = client.guilds.cache.get(docs[i].Guild);
if (!guild) return;
const channel = (await guild.channels.fetch(
docs[i].Channel
)) as TextChannel;
if (!channel) return;
const msg = await channel.messages.fetch(docs[i].Message);
if (!msg) return;
const embed = msg.embeds[0];
const req = docs[i].Requirements.Enabled
? docs[i].Requirements.Roles.map(x => `<@&${x}>`).join(", ")
: "None!";
embed.description = `${
this.GiveawayMessages.toParticipate
}\n${this.GiveawayMessages.giveawayDescription
.replace(/{requirements}/g, req)
.replace(/{hostedBy}/g, `<@!${docs[i].HostBy}>`)
.replace(/{award}/g, docs[i].Award)
.replace(/{winners}/g, docs[i].Winners.toString())
.replace(
/{totalParticipants}/g,
docs[i].Clickers.length.toString()
)}`;
msg.edit({ embeds: [embed] });
}
}, 10 * 1000);
}
}
private replacePlaceholders(
string: string,
data: GiveawaySchema,
msg: Message,
winners = []
) {
const newString = string
.replace(/{guildName}/g, msg.guild.name)
.replace(/{totalParticipants}/g, data.Clickers.length.toString())
.replace(/{award}/g, data.Award)
.replace(
/{giveawayURL}/g,
`https://discord.com/channels/${msg.guild.id}/${msg.channel.id}/${data.Message}`
)
.replace(
/{hostedBy}/g,
msg.guild.members.cache.get(data.HostBy).toString()
)
.replace(
/{winners}/g,
winners.length > 0
? winners.map(winner => `<@${winner}>`).join(", ")
: "None" || "None"
);
return newString;
}
}

View file

@ -0,0 +1,6 @@
export { GiveawaysClient } from "./giveaway";
export {
GiveawaySchema,
GiveawaysClientOptions,
DefaultGiveawayMessages,
} from "./giveaway.interface";

View file

@ -2,7 +2,6 @@ import axios from "axios";
import config from "../utils/config.json"; import config from "../utils/config.json";
/** /**
* Sends a 8ball response * Sends a 8ball response
* @return {Promise<String>}
*/ */
export async function random8ball(): Promise<string> { export async function random8ball(): Promise<string> {
const data = await axios const data = await axios

21
src/functions/HHMMSS.ts Normal file
View file

@ -0,0 +1,21 @@
import { CathError } from "../Error/CathError";
/**
* Returns a string(00:00:00)
*/
export function HHMMSS(str: string) {
if (!str) throw new CathError("Missing 'str'");
var sec_num = parseInt(str, 10);
var hours = Math.floor(sec_num / 3600);
var minutes = Math.floor((sec_num - hours * 3600) / 60);
var seconds = sec_num - hours * 3600 - minutes * 60;
if (hours < 10) {
hours = 0 + hours;
}
if (minutes < 10) {
minutes = 0 + minutes;
}
if (seconds < 10) {
seconds = 0 + seconds;
}
return hours + ":" + minutes + ":" + seconds;
}

8
src/functions/bool.ts Normal file
View file

@ -0,0 +1,8 @@
/**
* Returns true/false
*/
export function bool() {
const arr = [true, false];
const num = arr[Math.floor(Math.random() * arr.length)];
return num;
}

View file

@ -0,0 +1,12 @@
/**
* Returns a string without " ` " or " @ "
*/
export function cleanText(text: string): string {
if (typeof text === "string") {
return text
.replace(/`/g, "`" + String.fromCharCode(8203))
.replace(/@/g, "@" + String.fromCharCode(8203));
} else {
return text;
}
}

View file

@ -0,0 +1,19 @@
import { Message } from "discord.js";
export async function confirmation(
message: Message,
author,
validReactions = [],
time = 60000
) {
try {
for (const reaction of validReactions) await message.react(reaction);
const filter = (reaction, user) =>
validReactions.includes(reaction.emoji.name) && user.id === author.id;
return message
.awaitReactions({ filter, max: 1, time: time })
.then(collected => collected.first() && collected.first().emoji.name);
} catch (e) {
console.log(e);
}
}

9
src/functions/daysAgo.ts Normal file
View file

@ -0,0 +1,9 @@
import { CathError } from "../Error/CathError";
export function daysAgo(date: Date) {
if (!date) throw new CathError("Missing 'date'");
let now = new Date();
let diff = now.getTime() - date.getTime();
let days = Math.floor(diff / 86400000);
return days + (days == 1 ? " day" : " days") + " ago";
}

View file

@ -0,0 +1,9 @@
import { CathError } from "../Error/CathError";
/**
* Edit the first letter of the string to uppercase
*/
export function formatUpper(str: string) {
if (!str) throw new CathError("Missing 'str'");
return str.charAt(0).toUpperCase() + str.slice(1).toLowerCase();
}

138
src/functions/ms.ts Normal file
View file

@ -0,0 +1,138 @@
import { CathError } from "../Error/CathError";
var s = 1000;
var m = s * 60;
var h = m * 60;
var d = h * 24;
var mn = d * 30;
var w = d * 7;
var y = d * 365.25;
export function parseString(val: string) {
var type = typeof val;
if (type === "string" && val.length > 0) {
return parse(val);
}
throw new CathError("Missing 'val' or type of 'val' isn't a string");
}
export function parseMS(val: number, options?: msOptions) {
options = options || {};
if (isFinite(val)) {
return options?.long ? fmtLong(val) : fmtShort(val);
}
throw new CathError("Missing 'val' or type of 'val' isn't a number");
}
function parse(str) {
str = String(str);
if (str.length > 100) {
return;
}
var match =
/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|months?|mths|mn|years?|yrs?|y)?$/i.exec(
str
);
if (!match) {
return;
}
var n = parseFloat(match[1]);
var type = (match[2] || "ms").toLowerCase();
switch (type) {
case "years":
case "year":
case "yrs":
case "yr":
case "y":
return n * y;
case "month":
case "months":
case "mth":
case "mths":
return n * mn;
case "weeks":
case "week":
case "w":
return n * w;
case "days":
case "day":
case "d":
return n * d;
case "hours":
case "hour":
case "hrs":
case "hr":
case "h":
return n * h;
case "minutes":
case "minute":
case "mins":
case "min":
case "m":
return n * m;
case "seconds":
case "second":
case "secs":
case "sec":
case "s":
return n * s;
case "milliseconds":
case "millisecond":
case "msecs":
case "msec":
case "ms":
return n;
default:
return undefined;
}
}
function fmtShort(ms: number): string {
var msAbs = Math.abs(ms);
if (msAbs >= mn) {
return Math.round(ms / mn) + "mo";
}
if (msAbs >= w) {
return Math.round(ms / w) + "w";
}
if (msAbs >= d) {
return Math.round(ms / d) + "d";
}
if (msAbs >= h) {
return Math.round(ms / h) + "h";
}
if (msAbs >= m) {
return Math.round(ms / m) + "m";
}
if (msAbs >= s) {
return Math.round(ms / s) + "s";
}
return ms + "ms";
}
function fmtLong(ms: number) {
var msAbs = Math.abs(ms);
if (msAbs >= mn) {
return plural(ms, msAbs, mn, "month");
}
if (msAbs >= w) {
return plural(ms, msAbs, w, "week");
}
if (msAbs >= d) {
return plural(ms, msAbs, d, "day");
}
if (msAbs >= h) {
return plural(ms, msAbs, h, "hour");
}
if (msAbs >= m) {
return plural(ms, msAbs, m, "minute");
}
if (msAbs >= s) {
return plural(ms, msAbs, s, "second");
}
return ms + " ms";
}
function plural(ms: number, msAbs: number, n: number, name: string) {
var isPlural = msAbs >= n * 1.5;
return Math.round(ms / n) + " " + name + (isPlural ? "s" : "");
}
export interface msOptions {
long?: boolean;
short?: boolean;
}

View file

@ -1,5 +1,6 @@
import { Message, MessageEmbed, User } from "discord.js"; import { Message, MessageEmbed, User } from "discord.js";
export class Pagination { export class Pagination {
constructor() {}
public chunk(arr, size: number) { public chunk(arr, size: number) {
const temp = []; const temp = [];
for (let i = 0; i < arr.length; i += size) { for (let i = 0; i < arr.length; i += size) {
@ -8,9 +9,7 @@ export class Pagination {
return temp; return temp;
} }
get paginationEmojis() { private paginationEmojis: ["◀", "⛔", "▶"];
return ["◀", "⛔", "▶"];
}
public async pagination( public async pagination(
msg: Message, msg: Message,

8
src/functions/randint.ts Normal file
View file

@ -0,0 +1,8 @@
import { CathError } from "../Error/CathError";
/**
* Returns a random number in range
*/
export function randint(max: number, min: number) {
if (!max || !min) throw new CathError("Missing number");
return Math.floor(Math.random() * (max - (min ? min : 0))) + (min ? min : 0);
}

13
src/functions/randomID.ts Normal file
View file

@ -0,0 +1,13 @@
import { CathError } from "../Error/CathError";
/**
* Returns a random ID/String
*/
export function randomID(length: number) {
if (!length) throw new CathError("Missing 'length'");
var result = "";
var c = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
for (var i = 0; i < length; i++) {
result += c.charAt(Math.floor(Math.random() * c.length));
}
return result;
}

View file

@ -1,10 +1,10 @@
import axios from "axios"; import axios from "axios";
import { CathError } from "../Error/CathError";
/** /**
* Sends an embed of reddit * Sends an embed of reddit
* @return {Promise<RedditObject>}
*/ */
export async function getreddit(sub: string): Promise<RedditObject> { export async function getreddit(sub: string): Promise<RedditObject> {
if (!sub) throw new Error("Cath Error: Missing Subreddit"); if (!sub) throw new CathError("Missing Subreddit");
const content = await axios const content = await axios
.get(`https://www.reddit.com/r/${sub}/random/.json`) .get(`https://www.reddit.com/r/${sub}/random/.json`)
.then(res => res.data); .then(res => res.data);

View file

@ -0,0 +1,9 @@
import { CathError } from "../Error/CathError";
/**
* Select a random element of the array
*/
export function selectRandom(array = []): any {
if (!array) throw new CathError("Missing 'array'");
if (!array.length) throw new CathError("array length can't be 0");
return array[Math.floor(Math.random() * array.length)];
}

9
src/functions/sleep.ts Normal file
View file

@ -0,0 +1,9 @@
import { CathError } from "../Error/CathError";
export function sleep(ms: number) {
if (!ms) throw new CathError("Missing 'ms'");
let start = new Date().getTime();
let end = start;
while (end < start + ms) {
end = new Date().getTime();
}
}

20
src/functions/timer.ts Normal file
View file

@ -0,0 +1,20 @@
import { CathError } from "../Error/CathError";
export function timer(timestamp: number) {
if (!timestamp) throw new CathError("Missing 'timestamp");
const timeLeft = timestamp;
const days = Math.floor(timeLeft / 86400000);
const hours = Math.floor(timeLeft / 3600000) - days * 24;
const minutes = Math.floor(timeLeft / 60000) - days * 1440 - hours * 60;
const seconds =
Math.floor(timeLeft / 1000) - days * 86400 - hours * 3600 - minutes * 60;
const mseconds = timeLeft / 1000 - days * 86400 - hours * 3600 - minutes * 60;
let string = "";
if (days) string = string + `${days} ${days == 1 ? "day " : "days "}`;
if (hours) string = string + `${hours} ${hours == 1 ? "hour " : "hours "}`;
if (minutes)
string = string + `${minutes} ${minutes == 1 ? "minute " : "minutes "}`;
if (seconds)
string = string + `${seconds} ${seconds == 1 ? "second " : "seconds "}`;
if (!string.length) string = `${mseconds.toFixed(1)} second`;
return string;
}

View file

@ -0,0 +1,14 @@
import { CathError } from "../Error/CathError";
/**
* Trim an array from 10th elemnt
*/
export function trimArray(arr = []) {
if (!arr) throw new CathError("Missing 'arr'");
if (arr.length > 10) {
const length = arr.length - 10;
arr = arr.slice(0, 10);
arr.push(`\n${length} more...`);
}
return arr.join(" **|** ");
}

33
src/index.d.ts vendored
View file

@ -1,7 +1,32 @@
export { CODMClient, CODMClientOptions, PerkData } from "./CODMClient/index"; export { CODMClient, CODMClientOptions, PerkData } from "./CODMClient";
export { StarboardClient, StarboardClientOptions, StarboardGuild, StarboardGuildOptions, starMessageData, } from "./StarboardClient/index"; export {
export { CodeClient, CodeData } from "./CodeClient/index"; StarboardClient,
export { URLClient, URLData } from "./URLClient/index"; StarboardClientOptions,
StarboardGuild,
StarboardGuildOptions,
starMessageData,
} from "./StarboardClient";
export { CodeClient, CodeData } from "./CodeClient";
export { URLClient, URLData } from "./URLClient";
export {
GiveawaysClient,
GiveawaySchema,
GiveawaysClientOptions,
DefaultGiveawayMessages,
} from "./GiveawaysClient";
export { random8ball } from "./functions/8ball"; export { random8ball } from "./functions/8ball";
export { getreddit, RedditObject } from "./functions/reddit"; export { getreddit, RedditObject } from "./functions/reddit";
export { Pagination } from "./functions/pagination"; export { Pagination } from "./functions/pagination";
export { bool } from "./functions/bool";
export { randint } from "./functions/randint";
export { timer } from "./functions/timer";
export { selectRandom } from "./functions/selectRandom";
export { parseMS, parseString } from "./functions/ms";
export { confirmation } from "./functions/confirmation";
export { HHMMSS } from "./functions/HHMMSS";
export { formatUpper } from "./functions/formatUpper";
export { cleanText } from "./functions/cleanText";
export { daysAgo } from "./functions/daysAgo";
export { sleep } from "./functions/sleep";
export { trimArray } from "./functions/trimArray";

View file

@ -1,13 +1,32 @@
export { CODMClient, CODMClientOptions, PerkData } from "./CODMClient/index"; export { CODMClient, CODMClientOptions, PerkData } from "./CODMClient";
export { export {
StarboardClient, StarboardClient,
StarboardClientOptions, StarboardClientOptions,
StarboardGuild, StarboardGuild,
StarboardGuildOptions, StarboardGuildOptions,
starMessageData, starMessageData,
} from "./StarboardClient/index"; } from "./StarboardClient";
export { CodeClient, CodeData } from "./CodeClient/index"; export { CodeClient, CodeData } from "./CodeClient";
export { URLClient, URLData } from "./URLClient/index"; export { URLClient, URLData } from "./URLClient";
export {
GiveawaysClient,
GiveawaySchema,
GiveawaysClientOptions,
DefaultGiveawayMessages,
} from "./GiveawaysClient";
export { random8ball } from "./functions/8ball"; export { random8ball } from "./functions/8ball";
export { getreddit, RedditObject } from "./functions/reddit"; export { getreddit, RedditObject } from "./functions/reddit";
export { Pagination } from "./functions/pagination"; export { Pagination } from "./functions/pagination";
export { bool } from "./functions/bool";
export { randint } from "./functions/randint";
export { timer } from "./functions/timer";
export { selectRandom } from "./functions/selectRandom";
export { parseMS, parseString } from "./functions/ms";
export { confirmation } from "./functions/confirmation";
export { HHMMSS } from "./functions/HHMMSS";
export { formatUpper } from "./functions/formatUpper";
export { cleanText } from "./functions/cleanText";
export { daysAgo } from "./functions/daysAgo";
export { sleep } from "./functions/sleep";
export { trimArray } from "./functions/trimArray";