mirror of
https://github.com/sern-handler/handler
synced 2026-06-06 01:16:55 +00:00
Compare commits
360 Commits
api-update
...
fix/dispos
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4722849f56 | ||
|
|
513ac8edf4 | ||
|
|
3673263f3a | ||
|
|
24ec4d6ad6 | ||
|
|
27d13f1ea5 | ||
|
|
81a0180d05 | ||
|
|
89d7409536 | ||
|
|
aa802f761e | ||
|
|
2414992b73 | ||
|
|
70c6236802 | ||
|
|
ed5bb20c60 | ||
|
|
0d77878dfb | ||
|
|
8ac7b60b59 | ||
|
|
1f25aa64b9 | ||
|
|
7cddee30aa | ||
|
|
e7286eee9f | ||
|
|
a67450328e | ||
|
|
926d531863 | ||
|
|
ef3d3d71a0 | ||
|
|
47401f46a3 | ||
|
|
1059065980 | ||
|
|
974c30fa6c | ||
|
|
3a569726d8 | ||
|
|
1b7f2a49a8 | ||
|
|
97fa2a2d78 | ||
|
|
a52ad270d8 | ||
|
|
3f703c17b8 | ||
|
|
f9e7eaf92d | ||
|
|
52e145600d | ||
|
|
59d08ef207 | ||
|
|
7deb79e907 | ||
|
|
f2d4b5bda1 | ||
|
|
a575b3ed74 | ||
|
|
2042559b4d | ||
|
|
220a60ecf8 | ||
|
|
55715d5659 | ||
|
|
d0c3b7469e | ||
|
|
eabfb81819 | ||
|
|
1789ccb2f2 | ||
|
|
25c5891ade | ||
|
|
2106cdc1d0 | ||
|
|
61e82fdc7b | ||
|
|
3755b95b1a | ||
|
|
06807ea77f | ||
|
|
3fd3f1c236 | ||
|
|
92623d2914 | ||
|
|
a91f260a86 | ||
|
|
dda0e3395b | ||
|
|
9a8904f5ae | ||
|
|
04c4625bfa | ||
|
|
91b3768e37 | ||
|
|
d6f49d1d97 | ||
|
|
8ecd30cf18 | ||
|
|
a19edaf883 | ||
|
|
90e55dfa14 | ||
|
|
2106522812 | ||
|
|
ce8c4bf649 | ||
|
|
e89b918390 | ||
|
|
f8b69ae542 | ||
|
|
48f9f6ec16 | ||
|
|
86ebb221ed | ||
|
|
4efdbb21fb | ||
|
|
07b11b357b | ||
|
|
ac7f47c590 | ||
| 45cbda7b42 | |||
|
|
5cad432589 | ||
|
|
044a10dace | ||
|
|
9d5c6c714f | ||
|
|
4f2387119a | ||
|
|
a6fa4e3dcb | ||
|
|
c281832db2 | ||
|
|
a359f73fa2 | ||
| 655bb8d358 | |||
| e8d5029834 | |||
|
|
b0399f9507 | ||
|
|
b962dae36c | ||
|
|
c73cf96cb2 | ||
|
|
7458befe8a | ||
|
|
efe49391e8 | ||
|
|
3140f80c10 | ||
|
|
504cdee7b2 | ||
|
|
c7661f272c | ||
|
|
daac37c288 | ||
|
|
a579e272d0 | ||
|
|
2051aa1ac0 | ||
|
|
237c8537c6 | ||
|
|
77fb00d386 | ||
|
|
89f6bbb975 | ||
|
|
8ef4ee87e9 | ||
|
|
fd39858636 | ||
|
|
132b625070 | ||
|
|
03439fec43 | ||
|
|
fc87e99ed0 | ||
|
|
a08541a8e7 | ||
|
|
8bd5eb4949 | ||
|
|
e1059f93f7 | ||
|
|
800531453f | ||
|
|
c9f2d75665 | ||
|
|
e59e0b9d40 | ||
|
|
26ccd118ff | ||
|
|
4b97d86908 | ||
|
|
b1c82448bd | ||
|
|
d80081384a | ||
|
|
50253ca322 | ||
|
|
215aca2f46 | ||
|
|
a7f5ea269f | ||
|
|
52d6368440 | ||
|
|
1e723a4154 | ||
|
|
5fe13f43d2 | ||
|
|
ab9d39306a | ||
|
|
d429f3adbf | ||
|
|
5e011b471e | ||
|
|
41344608c6 | ||
|
|
7a72cc4fe3 | ||
|
|
70cca0dbb0 | ||
|
|
7798e36458 | ||
|
|
9144485c39 | ||
|
|
cf15b67ede | ||
|
|
57cc94ff81 | ||
|
|
6a2a5b4565 | ||
|
|
5fdc1eda7f | ||
|
|
e00d1df32e | ||
|
|
31c221bd5e | ||
|
|
0aba4a6606 | ||
|
|
e9c7661804 | ||
|
|
446417bfb9 | ||
|
|
6b58ef731b | ||
|
|
b62129bf04 | ||
|
|
3d121ff01c | ||
|
|
d201087d4f | ||
|
|
1af4a2bed4 | ||
|
|
edcaed083e | ||
|
|
a4fe2c50df | ||
|
|
9ea991626d | ||
|
|
64f20f1cf5 | ||
|
|
41cc72fe63 | ||
|
|
d983f95906 | ||
|
|
c1f690633c | ||
|
|
8544d301ef | ||
|
|
52bcba9cfc | ||
|
|
21febd2c90 | ||
|
|
11daebb30a | ||
|
|
b817f98c10 | ||
|
|
563f583318 | ||
|
|
e4c7bfe686 | ||
|
|
69fa4908c3 | ||
|
|
4fa28d605f | ||
|
|
079b554f8b | ||
|
|
dec56335b9 | ||
|
|
50be972d4f | ||
|
|
507d183970 | ||
|
|
90edd4f91e | ||
|
|
5f11142599 | ||
|
|
7a635f9978 | ||
|
|
a17aeac558 | ||
|
|
af6ebed348 | ||
|
|
2f96b7634d | ||
|
|
97741faa69 | ||
|
|
94070d99e8 | ||
|
|
473be775f0 | ||
|
|
36af102251 | ||
|
|
cee740ea3f | ||
|
|
2fd7697300 | ||
|
|
f9609ce6cd | ||
|
|
a3064aa915 | ||
|
|
0a53a48521 | ||
|
|
05037b5315 | ||
|
|
06a3e69210 | ||
|
|
74c4b77d4b | ||
|
|
d381ff568e | ||
|
|
6db5c71506 | ||
|
|
507c9e7939 | ||
|
|
09610d0501 | ||
|
|
0862bf92d0 | ||
|
|
62162f6b8c | ||
|
|
eb501db09a | ||
|
|
964848a4e2 | ||
|
|
78dead1b49 | ||
|
|
39e6d6d2f9 | ||
|
|
5aff57ed6d | ||
|
|
4095471346 | ||
|
|
f7b9c52df1 | ||
|
|
d20d01524b | ||
|
|
5684c060bc | ||
|
|
ca8b31f280 | ||
|
|
ce9a0831a6 | ||
|
|
3a32968a17 | ||
|
|
e549f8bc3e | ||
|
|
3ab73459ad | ||
|
|
16af2e996d | ||
|
|
4f9a842b0e | ||
|
|
5dfd1a1fc1 | ||
|
|
c45a10c950 | ||
|
|
b45ba34f3c | ||
|
|
facee79c90 | ||
|
|
306eee071d | ||
|
|
00d55208a0 | ||
|
|
49fad801a5 | ||
|
|
c9f44ce72b | ||
|
|
a9a2528faf | ||
|
|
529edb7da5 | ||
|
|
f236dc05e2 | ||
|
|
c78936a225 | ||
|
|
1860b898f3 | ||
|
|
fd10772a9b | ||
|
|
cd36bd8a47 | ||
|
|
dda7f41231 | ||
|
|
371a57194c | ||
|
|
bfcc160a39 | ||
|
|
86fa531eb6 | ||
|
|
58052e94cb | ||
|
|
96f4281121 | ||
|
|
f9ae7c003b | ||
|
|
ec211d5a8d | ||
|
|
3faf83bbf7 | ||
|
|
8eed099503 | ||
|
|
e2874be4e7 | ||
|
|
1d6751a9cd | ||
|
|
f6afafa352 | ||
|
|
b4b195dc95 | ||
|
|
33f14467ec | ||
|
|
cb95105c1c | ||
|
|
845b82feef | ||
|
|
833a323f3c | ||
|
|
42e5f20425 | ||
|
|
2b25e6bfbb | ||
|
|
1a27341092 | ||
|
|
4680e451bb | ||
|
|
917d8b0d1b | ||
|
|
b8492ee45d | ||
|
|
08aac1d67a | ||
|
|
a13df6fb42 | ||
|
|
7089f5c0dc | ||
|
|
559c1a7a7b | ||
|
|
ac27d168e2 | ||
|
|
d1e6ec4589 | ||
|
|
ff379d03be | ||
|
|
1e4e933db2 | ||
|
|
ce960f4c8d | ||
|
|
1130456045 | ||
|
|
1617d2dcc3 | ||
|
|
ddacbd6e38 | ||
|
|
d69819e9fc | ||
|
|
49e4ba623f | ||
|
|
1b6c413fc2 | ||
|
|
e986535935 | ||
|
|
c30aac476c | ||
|
|
f9622d3788 | ||
|
|
f286a24686 | ||
|
|
166934d749 | ||
|
|
01d79177e8 | ||
|
|
50dac7fb46 | ||
|
|
714d23d401 | ||
|
|
565c4fc35a | ||
|
|
8d18c4b182 | ||
|
|
71cec6f142 | ||
|
|
14556223fd | ||
|
|
59c1c9c6a9 | ||
|
|
a120136f55 | ||
|
|
9b2d7eea5f | ||
|
|
4d7aa97b66 | ||
|
|
83eadcd2e5 | ||
|
|
c0bf346841 | ||
|
|
73c161fffe | ||
|
|
ee763301d0 | ||
|
|
c5f6eb9794 | ||
|
|
ec8a61a9ee | ||
|
|
87c17dbe10 | ||
|
|
790ce1681c | ||
|
|
cbad7380e1 | ||
|
|
ad36875be2 | ||
|
|
50288867a5 | ||
|
|
6b8995d149 | ||
|
|
82bbddac8d | ||
|
|
03936eb2ea | ||
|
|
c4019f7a08 | ||
|
|
992619f8e5 | ||
|
|
b995560ec6 | ||
|
|
f01ef9b86c | ||
|
|
702c5750fc | ||
|
|
d5d1b4129b | ||
|
|
7658d3e3ab | ||
|
|
9c1abc6b2e | ||
|
|
20bc135a7d | ||
|
|
8a373de880 | ||
|
|
395549c173 | ||
|
|
dbc180fa78 | ||
|
|
ff5c161469 | ||
|
|
82637245f3 | ||
|
|
bc3ed918da | ||
|
|
62bfcb1eb7 | ||
|
|
fbf54c9d36 | ||
|
|
b999918b71 | ||
|
|
224ce97fe8 | ||
|
|
f52dd01ca5 | ||
|
|
b8841e926d | ||
|
|
f0f54cb7f2 | ||
|
|
ebe759f5e0 | ||
|
|
58d97e08a5 | ||
|
|
21a438768b | ||
|
|
b3ed8da68f | ||
|
|
c5bd94131d | ||
|
|
3dec347ef0 | ||
|
|
4e9530f4d7 | ||
|
|
0da1b5a4dc | ||
|
|
8a7a671300 | ||
|
|
bf8a5d5a11 | ||
|
|
74378f0f12 | ||
|
|
0559fcca96 | ||
|
|
70d7bdb8c5 | ||
|
|
b6ea3da23f | ||
|
|
75a6a04db5 | ||
|
|
24fae252a7 | ||
|
|
d70a2a1d5e | ||
|
|
0d6e592614 | ||
|
|
44ee2f4440 | ||
|
|
b560d56346 | ||
|
|
344229b65f | ||
|
|
ca728f755b | ||
|
|
d8d6330260 | ||
|
|
c17c49bb17 | ||
|
|
7da7bff700 | ||
|
|
a0587f59d4 | ||
|
|
d62be87c9a | ||
|
|
35a200f055 | ||
|
|
d96681bfb5 | ||
|
|
d1b034b826 | ||
|
|
2387add445 | ||
|
|
7bf15a2d5d | ||
|
|
07e6dabce1 | ||
|
|
8e3feb81ca | ||
|
|
9a16c20dad | ||
|
|
17eb816ec9 | ||
|
|
79be5096d3 | ||
|
|
4fea383519 | ||
|
|
ca9ac52fae | ||
|
|
9cb25a585a | ||
|
|
17033254d4 | ||
|
|
2f5e0fc772 | ||
|
|
a35ceb9531 | ||
|
|
fbbd79babc | ||
|
|
501745b7ea | ||
|
|
6ea84ac8cd | ||
|
|
76c4333a81 | ||
|
|
ac459593a0 | ||
|
|
c5dac42da0 | ||
|
|
ef2200c257 | ||
|
|
fcb5f6747c | ||
|
|
dd75650a46 | ||
|
|
4872590b28 | ||
|
|
cc127bd040 | ||
|
|
9dd82a3cfb | ||
|
|
9340cf229c | ||
|
|
7c97fa9461 | ||
|
|
ef22aca5ff | ||
|
|
e71b63d261 | ||
|
|
e677ce0839 | ||
|
|
371f9d711a | ||
|
|
a5320dddb9 | ||
|
|
92b83c8d32 |
11
.eslintrc
11
.eslintrc
@@ -1,11 +0,0 @@
|
||||
{
|
||||
"parser": "@typescript-eslint/parser",
|
||||
"extends": ["plugin:@typescript-eslint/recommended"],
|
||||
"parserOptions": { "ecmaVersion": "latest", "sourceType": "script" },
|
||||
"rules": {
|
||||
"@typescript-eslint/no-non-null-assertion": "off",
|
||||
"quotes": [2, "single", { "avoidEscape": true, "allowTemplateLiterals" : true }],
|
||||
"semi": ["error", "always"],
|
||||
"@typescript-eslint/no-empty-interface": 0
|
||||
}
|
||||
}
|
||||
3
.github/CODEOWNERS
vendored
3
.github/CODEOWNERS
vendored
@@ -1,2 +1 @@
|
||||
src/* @jacoobes
|
||||
docs/* @Murtatrxx
|
||||
* @jacoobes
|
||||
|
||||
1
.github/FUNDING.yml
vendored
Normal file
1
.github/FUNDING.yml
vendored
Normal file
@@ -0,0 +1 @@
|
||||
open_collective: sern
|
||||
33
.github/ISSUE_TEMPLATE/bug_report.md
vendored
Normal file
33
.github/ISSUE_TEMPLATE/bug_report.md
vendored
Normal file
@@ -0,0 +1,33 @@
|
||||
---
|
||||
name: Bug report
|
||||
about: Create a report to help us improve
|
||||
title: "[BUG] Write a descriptive title."
|
||||
labels: bug
|
||||
assignees: EvolutionX-10, jacoobes, Murtatrxx
|
||||
|
||||
---
|
||||
|
||||
**Describe the bug**
|
||||
A clear and concise description of what the bug is.
|
||||
|
||||
**To Reproduce**
|
||||
Steps to reproduce the behavior:
|
||||
1. Go to '...'
|
||||
2. Click on '....'
|
||||
3. Scroll down to '....'
|
||||
4. See error
|
||||
|
||||
**Expected behavior**
|
||||
A clear and concise description of what you expected to happen.
|
||||
|
||||
**Screenshots**
|
||||
If applicable, add screenshots to help explain your problem.
|
||||
|
||||
**Versioning**
|
||||
NodeJS version:
|
||||
DiscordJS version:
|
||||
SernHandler version:
|
||||
Channel: (e.g. beta)
|
||||
|
||||
**Additional context**
|
||||
Add any other context about the problem here.
|
||||
5
.github/ISSUE_TEMPLATE/config.yml
vendored
Normal file
5
.github/ISSUE_TEMPLATE/config.yml
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
blank_issues_enabled: false
|
||||
contact_links:
|
||||
- name: Sern Community Support
|
||||
url: https://discord.gg/9w8jzsR48U
|
||||
about: Please ask and answer questions here.
|
||||
43
.github/ISSUE_TEMPLATE/feature_request.md
vendored
Normal file
43
.github/ISSUE_TEMPLATE/feature_request.md
vendored
Normal file
@@ -0,0 +1,43 @@
|
||||
---
|
||||
name: Feature request
|
||||
about: Ask for things that are not in sern
|
||||
title: "[Feature] Request a feature"
|
||||
labels: feature
|
||||
assignees: EvolutionX-10, jacoobes, Murtatrxx
|
||||
|
||||
---
|
||||
Request a new feature!
|
||||
---
|
||||
### Is your proposal related to a problem?
|
||||
|
||||
<!--
|
||||
Provide a clear and concise description of what the problem is.
|
||||
For example, "I'm always frustrated when..."
|
||||
-->
|
||||
|
||||
(Write your answer here.)
|
||||
|
||||
### Describe the solution you'd like
|
||||
|
||||
<!--
|
||||
Provide a clear and concise description of what you want to happen.
|
||||
-->
|
||||
|
||||
(Describe your proposed solution here.)
|
||||
|
||||
### Describe alternatives you've considered
|
||||
|
||||
<!--
|
||||
Let us know about other solutions you've tried or researched.
|
||||
-->
|
||||
|
||||
(Write your answer here.)
|
||||
|
||||
### Additional context
|
||||
|
||||
<!--
|
||||
Is there anything else you can add about the proposal?
|
||||
You might want to link to related issues here, if you haven't already.
|
||||
-->
|
||||
|
||||
(Write your answer here.)
|
||||
26
.github/PULL_REQUEST_TEMPLATE/pull_request_template.md
vendored
Normal file
26
.github/PULL_REQUEST_TEMPLATE/pull_request_template.md
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
# Description
|
||||
|
||||
Please include a summary of the changes and the related issue. Please also include relevant motivation and context. List any dependencies that are required for this change.
|
||||
|
||||
Fixes # (issue)
|
||||
|
||||
## Type of change
|
||||
|
||||
Please delete options that are not relevant.
|
||||
|
||||
- [ ] Bug fix (non-breaking change which fixes an issue)
|
||||
- [ ] New feature (non-breaking change which adds functionality)
|
||||
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
|
||||
- [ ] This change requires a documentation update
|
||||
|
||||
# Checklist:
|
||||
|
||||
- [ ] My code follows the style guidelines of this project
|
||||
- [ ] I have performed a self-review of my code
|
||||
- [ ] I have commented my code, particularly in hard-to-understand areas
|
||||
- [ ] I have made corresponding changes to the documentation
|
||||
- [ ] My changes generate no new warnings
|
||||
- [ ] I have added tests that prove my fix is effective or that my feature works
|
||||
- [ ] New and existing unit tests pass locally with my changes
|
||||
- [ ] Any dependent changes have been merged and published in downstream modules
|
||||
|
||||
38
.github/SECURITY.md
vendored
38
.github/SECURITY.md
vendored
@@ -6,14 +6,44 @@ Project is currently under heavy development but you can try out our [npm packag
|
||||
|
||||
| Version | Supported |
|
||||
| ------- | ------------------ |
|
||||
| 0.1.0 @ dev | :white_check_mark: |
|
||||
| 2.6.1 | YES |
|
||||
| 2.6.0 | YES |
|
||||
| 2.5.3 | YES |
|
||||
| 2.5.2 | YES |
|
||||
| 2.5.1 | YES |
|
||||
| 2.5.0 | YES |
|
||||
| 2.1.1 | NO |
|
||||
| 2.1.0 | NO |
|
||||
| 2.0.0 | NO |
|
||||
| 1.2.1 | NO |
|
||||
| 1.2.0 | NO |
|
||||
| 1.1.0 | NO |
|
||||
1.0.1 | NO
|
||||
1.0.0 | NO
|
||||
1.1.9 @ beta | NO
|
||||
1.1.8 @ beta | NO
|
||||
1.1.7 @ beta | NO
|
||||
1.1.6 @ beta | NO
|
||||
1.1.5 @ beta | NO
|
||||
1.1.4 @ beta | NO
|
||||
1.1.3 @ beta | NO
|
||||
1.1.2 @ beta | NO
|
||||
1.1.1 @ beta | NO
|
||||
1.1.0 @ beta | NO
|
||||
1.0.4 @ beta | NO
|
||||
1.0.3 @ beta | NO
|
||||
1.0.2 @ beta | NO
|
||||
1.0.1 @ beta | NO
|
||||
1.0.0 @ beta | NO
|
||||
0.0.1 @ dev | NO (TRY IT)
|
||||
|
||||
* Dev versions might include bugs, use it with your own risk.
|
||||
|
||||
* Dev versions might include bugs and not supported use stable versions.
|
||||
|
||||
## Reporting a Vulnerability
|
||||
|
||||
You can report a vulnerability by opening an issue on the [project's GitHub](https://github.com/SernHandler/Sern/issues) repository.
|
||||
You can report a vulnerability by opening an issue on the [project's GitHub](https://github.com/sern-handler/handler/issues) repository.
|
||||
|
||||
Please provide as much information as possible when reporting a vulnerability. We are lookin information for, the affected version, and the steps to reproduce the vulnerability.
|
||||
Please provide as much information as possible when reporting a vulnerability. We are looking information for, the affected version, and the steps to reproduce the vulnerability.
|
||||
|
||||
Be patient, we are working on fixing all reported vulnerabilities.
|
||||
|
||||
37
.github/workflows/codeql-analysis.yml
vendored
37
.github/workflows/codeql-analysis.yml
vendored
@@ -1,37 +0,0 @@
|
||||
name: "CodeQL"
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ main ]
|
||||
pull_request:
|
||||
branches: [ main ]
|
||||
schedule:
|
||||
- cron: '37 20 * * 4'
|
||||
|
||||
jobs:
|
||||
analyze:
|
||||
name: Analyze
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
actions: read
|
||||
contents: read
|
||||
security-events: write
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
language: [ 'javascript' ]
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Initialize CodeQL
|
||||
uses: github/codeql-action/init@v1
|
||||
with:
|
||||
languages: ${{ matrix.language }}
|
||||
- name: Autobuild
|
||||
uses: github/codeql-action/autobuild@v1
|
||||
|
||||
- name: Perform CodeQL Analysis
|
||||
uses: github/codeql-action/analyze@v1
|
||||
20
.github/workflows/dependency-review.yml
vendored
Normal file
20
.github/workflows/dependency-review.yml
vendored
Normal file
@@ -0,0 +1,20 @@
|
||||
# Dependency Review Action
|
||||
#
|
||||
# This Action will scan dependency manifest files that change as part of a Pull Request, surfacing known-vulnerable versions of the packages declared or updated in the PR. Once installed, if the workflow run is marked as required, PRs introducing known-vulnerable packages will be blocked from merging.
|
||||
#
|
||||
# Source repository: https://github.com/actions/dependency-review-action
|
||||
# Public documentation: https://docs.github.com/en/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review#dependency-review-enforcement
|
||||
name: 'Dependency Review'
|
||||
on: [pull_request]
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
dependency-review:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: 'Checkout Repository'
|
||||
uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
|
||||
- name: 'Dependency Review'
|
||||
uses: actions/dependency-review-action@0efb1d1d84fc9633afcdaad14c485cbbc90ef46c # v2
|
||||
34
.github/workflows/npm-publish-dev.yml
vendored
Normal file
34
.github/workflows/npm-publish-dev.yml
vendored
Normal file
@@ -0,0 +1,34 @@
|
||||
name: Continuous Delivery
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
paths:
|
||||
- 'src/**'
|
||||
- 'package.json'
|
||||
|
||||
jobs:
|
||||
Publish:
|
||||
name: Publishing Dev
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Check out Git repository
|
||||
uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
|
||||
|
||||
- name: Set up Node.js
|
||||
uses: actions/setup-node@1a4442cacd436585916779262731d5b162bc6ec7 # v3
|
||||
with:
|
||||
node-version: 18
|
||||
registry-url: 'https://registry.npmjs.org'
|
||||
|
||||
- name: Install Node.js dependencies
|
||||
run: npm i && npm run build:dev
|
||||
|
||||
- name: Publish to npm
|
||||
run: |
|
||||
npm version premajor --preid "dev.$(git rev-parse --verify --short HEAD)" --git-tag-version=false
|
||||
npm publish --tag dev
|
||||
env:
|
||||
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
||||
36
.github/workflows/npm-publish.yml
vendored
36
.github/workflows/npm-publish.yml
vendored
@@ -1,30 +1,22 @@
|
||||
name: NPM / Publish
|
||||
|
||||
on:
|
||||
release:
|
||||
types: [created]
|
||||
|
||||
workflow_dispatch:
|
||||
# We only publish if the version of sern handler is different. workflow automatically cancels if verson is the same
|
||||
push:
|
||||
branches:
|
||||
- 'main'
|
||||
jobs:
|
||||
build:
|
||||
test-and-publish:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/setup-node@v2
|
||||
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
|
||||
- uses: actions/setup-node@1a4442cacd436585916779262731d5b162bc6ec7 # v3
|
||||
with:
|
||||
node-version: 16
|
||||
- run: npm ci
|
||||
- run: npm test
|
||||
|
||||
publish-npm:
|
||||
needs: build
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/setup-node@v2
|
||||
node-version: 18
|
||||
- run: npm i
|
||||
- run: npm run build:prod
|
||||
- uses: JS-DevTools/npm-publish@0f451a94170d1699fd50710966d48fb26194d939 # v1
|
||||
with:
|
||||
node-version: 16
|
||||
registry-url: https://registry.npmjs.org/
|
||||
- run: npm ci
|
||||
- run: npm publish
|
||||
env:
|
||||
NODE_AUTH_TOKEN: ${{secrets.npm_token}}
|
||||
token: ${{ secrets.NPM_TOKEN }}
|
||||
access: "public"
|
||||
|
||||
14
.github/workflows/release-please.yml
vendored
Normal file
14
.github/workflows/release-please.yml
vendored
Normal file
@@ -0,0 +1,14 @@
|
||||
name: release-please
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
jobs:
|
||||
release-please:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: google-github-actions/release-please-action@db8f2c60ee802b3748b512940dde88eabd7b7e01 # v3
|
||||
with:
|
||||
release-type: node
|
||||
package-name: release-please-action
|
||||
bump-patch-for-minor-pre-major: true
|
||||
|
||||
41
.github/workflows/test.yml
vendored
41
.github/workflows/test.yml
vendored
@@ -1,29 +1,28 @@
|
||||
name: Test
|
||||
# This workflow will do a clean installation of node dependencies, cache/restore them, build the source code and run tests across different versions of node
|
||||
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-nodejs
|
||||
|
||||
name: Node.js CI
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
pull_request:
|
||||
branches:
|
||||
- main
|
||||
branches: [ "main" ]
|
||||
|
||||
jobs:
|
||||
run-tests:
|
||||
name: Run Tests
|
||||
build:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
node-version: [18.x, 19.x, 20.x]
|
||||
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/
|
||||
|
||||
steps:
|
||||
- name: Check out Git repository
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Set up Node.js
|
||||
uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: 17
|
||||
|
||||
- name: Install Node.js dependencies
|
||||
run: npm ci
|
||||
|
||||
- name: Run tests
|
||||
run: npm test
|
||||
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
|
||||
- name: Use Node.js ${{ matrix.node-version }}
|
||||
uses: actions/setup-node@1a4442cacd436585916779262731d5b162bc6ec7 # v3
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
cache: 'npm'
|
||||
- run: npm install
|
||||
- run: npm run test
|
||||
|
||||
13
.gitignore
vendored
13
.gitignore
vendored
@@ -82,5 +82,18 @@ dist
|
||||
# VisualStudio Config file
|
||||
.vs
|
||||
|
||||
# VSCode settings and cache
|
||||
.vscode
|
||||
|
||||
# IntelliJ IDEA Config file
|
||||
.idea/
|
||||
|
||||
# Yarn files
|
||||
.yarn/install-state.gz
|
||||
.yarn/build-state.yml
|
||||
|
||||
.yalc
|
||||
|
||||
yalc.lock
|
||||
|
||||
*.svg
|
||||
|
||||
19
.npmignore
19
.npmignore
@@ -1,5 +1,4 @@
|
||||
src/
|
||||
tsconfig.json
|
||||
docs/
|
||||
.gitignore
|
||||
|
||||
@@ -9,7 +8,7 @@ logs
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
|
||||
.yarn
|
||||
# Runtime data
|
||||
pids
|
||||
*.pid
|
||||
@@ -54,6 +53,7 @@ typings/
|
||||
.node_repl_history
|
||||
|
||||
# Output of 'npm pack'
|
||||
|
||||
*.tgz
|
||||
|
||||
# Yarn Integrity file
|
||||
@@ -81,9 +81,7 @@ typings/
|
||||
# FuseBox cache
|
||||
.fusebox/
|
||||
|
||||
# TypeScript build output
|
||||
dist
|
||||
|
||||
test
|
||||
# VisualStudio Config file
|
||||
.vs
|
||||
|
||||
@@ -106,4 +104,13 @@ CODE_OF_CONDUCT.md
|
||||
|
||||
babel.config.js
|
||||
|
||||
tests/
|
||||
tsup.config.js
|
||||
|
||||
tsconfig-base.json
|
||||
|
||||
tsconfig-cjs.json
|
||||
|
||||
tsconfig-esm.json
|
||||
|
||||
renovate.json
|
||||
fortnite
|
||||
|
||||
@@ -1 +1,3 @@
|
||||
README.md
|
||||
.github/
|
||||
*.md
|
||||
dist/
|
||||
@@ -1,8 +0,0 @@
|
||||
{
|
||||
"semi": true,
|
||||
"trailingComma": "all",
|
||||
"singleQuote": true,
|
||||
"printWidth": 100,
|
||||
"tabWidth": 4,
|
||||
"arrowParens": "avoid"
|
||||
}
|
||||
426
CHANGELOG.md
Normal file
426
CHANGELOG.md
Normal file
@@ -0,0 +1,426 @@
|
||||
# Changelog
|
||||
|
||||
## [4.2.4](https://github.com/sern-handler/handler/compare/v4.2.3...v4.2.4) (2025-03-06)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* flat autocomplete ([#395](https://github.com/sern-handler/handler/issues/395)) ([89d7409](https://github.com/sern-handler/handler/commit/89d74095363befddc3222b9e5c89c35e7c6457b9))
|
||||
|
||||
## [4.2.3](https://github.com/sern-handler/handler/compare/v4.2.2...v4.2.3) (2025-03-04)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* autocomplete sdt.module not present ([#393](https://github.com/sern-handler/handler/issues/393)) ([2414992](https://github.com/sern-handler/handler/commit/2414992b73a40065464b20f2d53826c78fcd3a5f))
|
||||
|
||||
## [4.2.2](https://github.com/sern-handler/handler/compare/v4.2.1...v4.2.2) (2025-02-03)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* faster autocomplete lookup ([#387](https://github.com/sern-handler/handler/issues/387)) ([974c30f](https://github.com/sern-handler/handler/commit/974c30fa6cccaae7b1c2c3246ffa9eecb6bc7bf9))
|
||||
|
||||
## [4.2.1](https://github.com/sern-handler/handler/compare/v4.2.0...v4.2.1) (2025-01-24)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* context-interactions error ([#382](https://github.com/sern-handler/handler/issues/382)) ([a52ad27](https://github.com/sern-handler/handler/commit/a52ad270d843e92db5bf2049d07527eed59d428c))
|
||||
|
||||
## [4.2.0](https://github.com/sern-handler/handler/compare/v4.1.1...v4.2.0) (2025-01-18)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* 4.2.0 load multiple directories & `handleModuleErrors` ([#378](https://github.com/sern-handler/handler/issues/378)) ([f9e7eaf](https://github.com/sern-handler/handler/commit/f9e7eaf92d22b76d3d02a1bbe8324ca6813f48f8))
|
||||
|
||||
## [4.1.1](https://github.com/sern-handler/handler/compare/v4.1.0...v4.1.1) (2025-01-13)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* remove rxjs ([#376](https://github.com/sern-handler/handler/issues/376)) ([59d08ef](https://github.com/sern-handler/handler/commit/59d08ef207c486ce1cf0aba267e6f862838e0dfb))
|
||||
* This puts the light back into lightweight (\- 4.1 MB)
|
||||
|
||||
## [4.1.0](https://github.com/sern-handler/handler/compare/v4.0.3...v4.1.0) (2025-01-06)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* moduleinfo-in-eventplugins ([#373](https://github.com/sern-handler/handler/issues/373)) ([220a60e](https://github.com/sern-handler/handler/commit/220a60ecf853df8d288de2533c669562a430c3f9))
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* update github username ([#371](https://github.com/sern-handler/handler/issues/371)) ([55715d5](https://github.com/sern-handler/handler/commit/55715d565990fe686159f3c1eda3754d1262c72c))
|
||||
|
||||
## [4.0.3](https://github.com/sern-handler/handler/compare/v4.0.2...v4.0.3) (2024-10-06)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* async presence ([#369](https://github.com/sern-handler/handler/issues/369)) ([eabfb81](https://github.com/sern-handler/handler/commit/eabfb81819b53a4656d8eac6e21cfb488b724a42))
|
||||
* fix eventModule typing for Discord events ([#368](https://github.com/sern-handler/handler/issues/368)) ([1789ccb](https://github.com/sern-handler/handler/commit/1789ccb2f22f502f87538fecdb07106ff7110434))
|
||||
|
||||
## [4.0.2](https://github.com/sern-handler/handler/compare/v4.0.1...v4.0.2) (2024-08-13)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* type issue ([2106cdc](https://github.com/sern-handler/handler/commit/2106cdc1d033f88b6ee4ccca6754fe7a595a9328))
|
||||
|
||||
## [4.0.1](https://github.com/sern-handler/handler/compare/v4.0.0...v4.0.1) (2024-07-19)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* add SDT typings to autocomplete commands ([#363](https://github.com/sern-handler/handler/issues/363)) ([92623d2](https://github.com/sern-handler/handler/commit/92623d2914fb80e31365f06cf896bb37f36fc814))
|
||||
|
||||
## [4.0.0](https://github.com/sern-handler/handler/compare/v3.3.4...v4.0.0) (2024-07-18)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* v4 ([#361](https://github.com/sern-handler/handler/issues/361)) ([9a8904f](https://github.com/sern-handler/handler/commit/9a8904f5aed4fa36b018ad73bbe58049bae33274))
|
||||
|
||||
|
||||
### Miscellaneous Chores
|
||||
|
||||
* release 4.0.0 ([dda0e33](https://github.com/sern-handler/handler/commit/dda0e3395b6704862bfd3fda2a201e2cb9b45d2f))
|
||||
|
||||
## [3.3.4](https://github.com/sern-handler/handler/compare/v3.3.3...v3.3.4) (2024-03-18)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* sern emitter err ([#358](https://github.com/sern-handler/handler/issues/358)) ([90e55df](https://github.com/sern-handler/handler/commit/90e55dfa1466c91e5da48922251309331921b1ef))
|
||||
|
||||
## [3.3.3](https://github.com/sern-handler/handler/compare/v3.3.2...v3.3.3) (2024-02-25)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* rm deprecated class modules, clean up, rm indirection ([#355](https://github.com/sern-handler/handler/issues/355)) ([48f9f6e](https://github.com/sern-handler/handler/commit/48f9f6ec16e650d574bd24dcbb0ed176933bfe17))
|
||||
* singleton init not being fired when inserting function ([07b11b3](https://github.com/sern-handler/handler/commit/07b11b357baac0c3c7055c022bc353995c80f766))
|
||||
* typings and cleanup ([#356](https://github.com/sern-handler/handler/issues/356)) ([ce8c4bf](https://github.com/sern-handler/handler/commit/ce8c4bf6492b9680fb1c1a530d3e0028f214ad2f))
|
||||
|
||||
## [3.3.2](https://github.com/sern-handler/handler/compare/v3.3.1...v3.3.2) (2024-01-08)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* presence feature not working on cjs applications ([#351](https://github.com/sern-handler/handler/issues/351)) ([4f23871](https://github.com/sern-handler/handler/commit/4f2387119acfde036d0d1626553e9050f55627d1))
|
||||
|
||||
## [3.3.1](https://github.com/sern-handler/handler/compare/v3.3.0...v3.3.1) (2024-01-07)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* crashing when slash command is used as text command ([#349](https://github.com/sern-handler/handler/issues/349)) ([a359f73](https://github.com/sern-handler/handler/commit/a359f73fa24127a4964d411c8c1c0dfea5edc0f1))
|
||||
|
||||
|
||||
### Reverts
|
||||
|
||||
* the last commit ([655bb8d](https://github.com/sern-handler/handler/commit/655bb8d35815fe0ce9797d8b169310a07b284ae0))
|
||||
|
||||
## [3.3.0](https://github.com/sern-handler/handler/compare/v3.2.1...v3.3.0) (2023-12-27)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* presence ([#345](https://github.com/sern-handler/handler/issues/345)) ([7458bef](https://github.com/sern-handler/handler/commit/7458befe8a5900480cd71900df02a8364837dc00))
|
||||
|
||||
## [3.2.1](https://github.com/sern-handler/handler/compare/v3.2.0...v3.2.1) (2023-12-21)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* logger swap failing ([daac37c](https://github.com/sern-handler/handler/commit/daac37c28858c42b21042bdcb8141239db634e7d))
|
||||
|
||||
## [3.2.0](https://github.com/sern-handler/handler/compare/v3.1.1...v3.2.0) (2023-12-15)
|
||||
|
||||
|
||||
### Miscellaneous Chores
|
||||
|
||||
* release 3.2.0 ([237c853](https://github.com/sern-handler/handler/commit/237c8537c66052309d7e13a7e6e0a4f7995c2558))
|
||||
|
||||
## [3.1.1](https://github.com/sern-handler/handler/compare/v3.1.0...v3.1.1) (2023-11-06)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* queuing events ([fd39858](https://github.com/sern-handler/handler/commit/fd39858636d3038abb6d91021b65c99c488a3d6e))
|
||||
* queuing events ([#332](https://github.com/sern-handler/handler/issues/332)) @Benzo-Fury ([#333](https://github.com/sern-handler/handler/issues/333)) ([fd39858](https://github.com/sern-handler/handler/commit/fd39858636d3038abb6d91021b65c99c488a3d6e))
|
||||
|
||||
## [3.1.0](https://github.com/sern-handler/handler/compare/v3.0.2...v3.1.0) (2023-09-04)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* add guaranteed `channelId` and `userId` getters to `Context` ([#320](https://github.com/sern-handler/handler/issues/320)) ([50253ca](https://github.com/sern-handler/handler/commit/50253ca322e7d6dbd2313139c0187a1028f71109))
|
||||
* dispose hooks (deprecate useContainerRaw) ([#323](https://github.com/sern-handler/handler/issues/323)) ([26ccd11](https://github.com/sern-handler/handler/commit/26ccd118ff8cbcde94158a4d09fc0df18da9f254))
|
||||
|
||||
## [3.0.2](https://github.com/sern-handler/handler/compare/v3.0.1...v3.0.2) (2023-08-06)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* invalid id for cts, mts, cjs, mjs files, node paths ([#318](https://github.com/sern-handler/handler/issues/318)) ([a7f5ea2](https://github.com/sern-handler/handler/commit/a7f5ea269fb344e221d10dbdc26a1611ffc8138f))
|
||||
|
||||
## [3.0.1](https://github.com/sern-handler/handler/compare/v3.0.0...v3.0.1) (2023-08-05)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* collectors ([4134460](https://github.com/sern-handler/handler/commit/41344608c677b6069c46412f5f16e4337182ca7d))
|
||||
|
||||
## [3.0.0](https://github.com/sern-handler/handler/compare/v2.6.3...v3.0.0) (2023-07-29)
|
||||
|
||||
|
||||
### ⚠ BREAKING CHANGES
|
||||
|
||||
* v3 ([#294](https://github.com/sern-handler/handler/issues/294))
|
||||
|
||||
### Features
|
||||
|
||||
* v3 ([#294](https://github.com/sern-handler/handler/issues/294)) ([7798e36](https://github.com/sern-handler/handler/commit/7798e36458c7f555d2bcb8a5857a6db47b7211da))
|
||||
|
||||
|
||||
### Miscellaneous Chores
|
||||
|
||||
* release 3.0.0 ([70cca0d](https://github.com/sern-handler/handler/commit/70cca0dbb01e70b47a8c899b1fc4f43dee5ed8ed))
|
||||
|
||||
## [2.6.3](https://github.com/sern-handler/handler/compare/v2.6.2...v2.6.3) (2023-06-17)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* autocomplete nested option and merge main ([5fdc1ed](https://github.com/sern-handler/handler/commit/5fdc1eda7f4fcc1f94af7eca661660c0edeb3251))
|
||||
|
||||
## [2.6.2](https://github.com/sern-handler/handler/compare/v2.6.1...v2.6.2) (2023-04-15)
|
||||
|
||||
|
||||
### Miscellaneous Chores
|
||||
|
||||
* release 2.6.2 ([c1f6906](https://github.com/sern-handler/handler/commit/c1f690633c55ba41db1e035b7c16f9e19c70b385))
|
||||
|
||||
## [2.6.1](https://github.com/sern-handler/handler/compare/v2.6.0...v2.6.1) (2023-03-17)
|
||||
|
||||
|
||||
### Miscellaneous Chores
|
||||
|
||||
* release 2.6.1 ([f9609ce](https://github.com/sern-handler/handler/commit/f9609ce6cd777fa0eb595d8c48d57905bbce5966))
|
||||
|
||||
## [2.6.0](https://github.com/sern-handler/handler/compare/v2.5.3...v2.6.0) (2023-03-09)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* adding pure annotation for better tree shaking ([d20d015](https://github.com/sern-handler/handler/commit/d20d01524b872549da501e21feec147ab204f397))
|
||||
|
||||
## [2.5.3](https://github.com/sern-handler/handler/compare/v2.5.2...v2.5.3) (2023-02-16)
|
||||
|
||||
|
||||
### Miscellaneous Chores
|
||||
|
||||
* release 2.5.3 ([ce9a083](https://github.com/sern-handler/handler/commit/ce9a0831a6e47dd38648f34653f0bd89b1d2e48e))
|
||||
|
||||
## [2.5.2](https://github.com/sern-handler/handler/compare/v2.5.1...v2.5.2) (2023-02-16)
|
||||
|
||||
|
||||
### Reverts
|
||||
|
||||
* version ([facee79](https://github.com/sern-handler/handler/commit/facee79c904ad663d3c57ce56fb825419fcc12f9))
|
||||
|
||||
## [2.5.1](https://github.com/sern-handler/handler/compare/v2.5.0...v2.5.1) (2023-02-12)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* Adding my bot to readme ([#210](https://github.com/sern-handler/handler/issues/210)) ([96f4281](https://github.com/sern-handler/handler/commit/96f42811218e4898a47e75a8138ccd452ae2c5c2))
|
||||
* Adding the WIP to my bot ([86fa531](https://github.com/sern-handler/handler/commit/86fa531eb620d2ac649bad6decb29d5c55a25445))
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* autocomplete ([1860b89](https://github.com/sern-handler/handler/commit/1860b898f3a231840e2a8b781e007ef9d6f587a4))
|
||||
|
||||
|
||||
### Miscellaneous Chores
|
||||
|
||||
* release 2.5.1 ([c78936a](https://github.com/sern-handler/handler/commit/c78936a22574da4af71826f5b5f72f354a4eb06a))
|
||||
|
||||
## [2.5.0](https://github.com/sern-handler/handler/compare/v2.1.1...v2.5.0) (2023-01-30)
|
||||
|
||||
|
||||
### ⚠ BREAKING CHANGES
|
||||
|
||||
* simpler plugins ([#193](https://github.com/sern-handler/handler/issues/193))
|
||||
|
||||
### Features
|
||||
|
||||
* simpler plugins ([#193](https://github.com/sern-handler/handler/issues/193)) ([33f1446](https://github.com/sern-handler/handler/commit/33f14467ec413e003a82503c8a77cb42a6194281))
|
||||
|
||||
|
||||
### Miscellaneous Chores
|
||||
|
||||
* release 2.5.0 ([b4b195d](https://github.com/sern-handler/handler/commit/b4b195dc9586736760d0b78caa8589f3d6131f8a))
|
||||
|
||||
## [2.1.1](https://github.com/sern-handler/handler/compare/v2.1.0...v2.1.1) (2022-12-31)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* modals remapping ([a13df6f](https://github.com/sern-handler/handler/commit/a13df6fb424d256476284da49024dbe56e82baab))
|
||||
|
||||
## [2.1.0](https://github.com/sern-handler/handler/compare/v2.0.0...v2.1.0) (2022-12-30)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* grammar ([c30aac4](https://github.com/sern-handler/handler/commit/c30aac476cdc2094de34f9f67b5805204cc5e4dd))
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* multi parameter events ([e986535](https://github.com/sern-handler/handler/commit/e98653593566ef4635493e0c997bd107a7a3a2a2))
|
||||
|
||||
## [2.0.0](https://github.com/sern-handler/handler/compare/v1.2.1...v2.0.0) (2022-12-28)
|
||||
|
||||
|
||||
### ⚠ BREAKING CHANGES
|
||||
|
||||
* (2.0 global services) ([#156](https://github.com/sern-handler/handler/issues/156))
|
||||
|
||||
### Features
|
||||
|
||||
* (2.0 global services) ([#156](https://github.com/sern-handler/handler/issues/156)) ([1455622](https://github.com/sern-handler/handler/commit/14556223fd6f79b797fb2aee03e795d4f4e94a8b))
|
||||
|
||||
## [1.2.1](https://github.com/sern-handler/handler/compare/v1.2.0...v1.2.1) (2022-10-03)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **autocomplete:** now support multiple autocomplete options ([#147](https://github.com/sern-handler/handler/issues/147)) ([cbad738](https://github.com/sern-handler/handler/commit/cbad7380e1993b96c643f365726457f63e4fbd5d))
|
||||
|
||||
## [1.2.0](https://github.com/sern-handler/handler/compare/v1.1.0...v1.2.0) (2022-09-28)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* allow constructable modules ([#133](https://github.com/sern-handler/handler/issues/133)) ([03936eb](https://github.com/sern-handler/handler/commit/03936eb2ea1d1af7cada04d77bb8345d63a5e20f))
|
||||
* classmodules@arcs ([#143](https://github.com/sern-handler/handler/issues/143)) ([5028886](https://github.com/sern-handler/handler/commit/50288867a5b171511941a1be3877d721694e9f77))
|
||||
* update CODEOWNERS ([6b8995d](https://github.com/sern-handler/handler/commit/6b8995d149c857558415a6c151a3f575ec373445))
|
||||
|
||||
|
||||
### Reverts
|
||||
|
||||
* feat of allow constructable modules ([#138](https://github.com/sern-handler/handler/issues/138)) ([82bbdda](https://github.com/sern-handler/handler/commit/82bbddac8d656b60b3a1fb2471ea03ee5224f5c3))
|
||||
|
||||
## [1.1.0](https://github.com/sern-handler/handler/compare/v1.0.0...v1.1.0) (2022-08-29)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* add proper error handling ([#115](https://github.com/sern-handler/handler/issues/115)) ([395549c](https://github.com/sern-handler/handler/commit/395549c173cb62a18205e451bf2cb5579ba9a6e0))
|
||||
|
||||
|
||||
### Miscellaneous Chores
|
||||
|
||||
* release 1.1.0 ([8a373de](https://github.com/sern-handler/handler/commit/8a373de880ff18df85af812adf9f6f6a4f45028d))
|
||||
|
||||
## 1.0.0 (2022-08-15)
|
||||
|
||||
|
||||
### ⚠ BREAKING CHANGES
|
||||
|
||||
* improve quality of code, refactorings, QOL intellisense (#64)
|
||||
|
||||
### Features
|
||||
|
||||
* add .prettierignore and ignore README.md ([7ae5ecf](https://github.com/sern-handler/handler/commit/7ae5ecf1a64700d667e85420ae4b2eaf31781d85))
|
||||
* Add castings for res ([2697e35](https://github.com/sern-handler/handler/commit/2697e35b2e5b754ea9d0d84db3720fb68b3f43db))
|
||||
* Add DefinetlyDefined type, more todo statements ([c8c0c84](https://github.com/sern-handler/handler/commit/c8c0c841db2423e29d69bbc1a3ab590bfebb5d5b))
|
||||
* add discord.js as a peerDependency instead ([b3ed8da](https://github.com/sern-handler/handler/commit/b3ed8da68f55b69a7fe1697cd88c552243cc637f))
|
||||
* add docs/ to npmignore ([f90342d](https://github.com/sern-handler/handler/commit/f90342d6b140241f7a6a95dea71c05bf309a7a52))
|
||||
* add externallyUsed.ts and support BothCommands again ([fc81bfc](https://github.com/sern-handler/handler/commit/fc81bfc6d75e4722486766715abe7271ad21cd7f))
|
||||
* add feature-request.md ([#92](https://github.com/sern-handler/handler/issues/92)) ([0d6e592](https://github.com/sern-handler/handler/commit/0d6e592614f0d4eeaaa9ffe5ba245fe002f5b907))
|
||||
* add frontmatter ([#95](https://github.com/sern-handler/handler/issues/95)) ([75a6a04](https://github.com/sern-handler/handler/commit/75a6a04db56551049387e38979bb7ef21356f303))
|
||||
* Add messageComponent handler ([d29298c](https://github.com/sern-handler/handler/commit/d29298c17a1d67146bdddb9cf07a16924c55ed3a))
|
||||
* add version.txt ([4fea383](https://github.com/sern-handler/handler/commit/4fea383519b9905c17c7679587f69b530c08cec8))
|
||||
* added conventional commits ([741cf13](https://github.com/sern-handler/handler/commit/741cf13fd56ac49ebca6f73ecc3a2209f00e774d))
|
||||
* Added SECURITY file & formatted some TypeScript code ([779011a](https://github.com/sern-handler/handler/commit/779011a124ab76bbfb19a2a11889bf9255cbd360))
|
||||
* adding better typings, refactoring ([99e2a99](https://github.com/sern-handler/handler/commit/99e2a997edaac1ba880e56bf782ecd1fa5e96b4c))
|
||||
* Adding docs to some data structures, moving to default from export files ([0ae541d](https://github.com/sern-handler/handler/commit/0ae541daba4c5d2aa3e612ab4b78fd6a858717ad))
|
||||
* adding modal and autocomplete support ([77856ce](https://github.com/sern-handler/handler/commit/77856ce5d0d8d1e2e2f5a971269224a4174bc205))
|
||||
* adding refactoring for repetitive event plugin processing ([475b073](https://github.com/sern-handler/handler/commit/475b0736d573bb8969b2a0eb9180231aa8618a0e))
|
||||
* Adding sern event listeners, overriding and typing methods ([115d1a4](https://github.com/sern-handler/handler/commit/115d1a49b52eb45d9b68ba015f8f734b902e9a60))
|
||||
* Adding TextInput map & starting event plugins for message components ([6ac9720](https://github.com/sern-handler/handler/commit/6ac9720260040afb12d232b002c28db99b18e093))
|
||||
* Aliases optional ([430315a](https://github.com/sern-handler/handler/commit/430315ad02060121e75604aee40c246c71a7e8d2))
|
||||
* better looking typings for modules ([53bc080](https://github.com/sern-handler/handler/commit/53bc080a290fd5064993aa0d98497d4b239ac8f3))
|
||||
* broadening EventPlugin default generic type, reformat with prettier ([88dcdee](https://github.com/sern-handler/handler/commit/88dcdee818e42405234ef502087226a8c042c92f))
|
||||
* CodeQL ([7012da6](https://github.com/sern-handler/handler/commit/7012da60530c2b0b5d8cc97b417a80cd8031f51f))
|
||||
* delete partition.ts ([f6d584c](https://github.com/sern-handler/handler/commit/f6d584cf99abdb292985f812e64553a37ab51a01))
|
||||
* Edited event names for more conciseness, finished basic event emitters ([3f64a8a](https://github.com/sern-handler/handler/commit/3f64a8aa0a47a09f822d54f2b3f03bc42faa10f7))
|
||||
* finished interactionCreate.ts handling? (need test) ([97907b7](https://github.com/sern-handler/handler/commit/97907b746fc94d6e8b65e2fec1cce4b0c3160491))
|
||||
* finishing autocomplete!! ([d63423c](https://github.com/sern-handler/handler/commit/d63423cfc458cb9ab07b9900a7c4d2f7ea8d71b9))
|
||||
* finishing optionData for autocomplete changes, adding class for builder ([b08eebf](https://github.com/sern-handler/handler/commit/b08eebf6850acaee3b56bb1c60aec2a026a5144c))
|
||||
* Finishing up autocomplete, need to test ([d50b801](https://github.com/sern-handler/handler/commit/d50b8013ee343b2be0ed232938e9f5f91c43b493))
|
||||
* fix duplicate ([c5bd941](https://github.com/sern-handler/handler/commit/c5bd94131dfb20b2c69b7eeb96f3ad89d6de43f4))
|
||||
* **handler:** adding higher-order-function wrappers to increase readability and shorten code ([0f0b0fb](https://github.com/sern-handler/handler/commit/0f0b0fb61c80654179e2c6d6f69e50c70114201b))
|
||||
* **handler:** command plugins work?! ([70bd12d](https://github.com/sern-handler/handler/commit/70bd12dd61182f48445c707a9199421b1dba586e))
|
||||
* **handler:** progress on event plugins ([2f61399](https://github.com/sern-handler/handler/commit/2f61399b5e5ad53ee3165e19cb74dd279b827b99))
|
||||
* **higherorders.ts:** a new function that acts as a command options builder ([651009c](https://github.com/sern-handler/handler/commit/651009c9ed5e8e04cf44fa4438f94a9e119aa8f8))
|
||||
* improve quality of code, refactorings, QOL intellisense ([#64](https://github.com/sern-handler/handler/issues/64)) ([e71b63d](https://github.com/sern-handler/handler/commit/e71b63d261d86b17ddc05fbee999f63623d8c6d1))
|
||||
* Improved TypeScript experince ([dad3042](https://github.com/sern-handler/handler/commit/dad3042a644b0e47d01319f48eefe01632678cc3))
|
||||
* interactionCreate.ts refactoring ([c4e8e51](https://github.com/sern-handler/handler/commit/c4e8e517b3f4bb6baca902251a0afa22b2548450))
|
||||
* Making name required in auto cmp interactions ([ac8a2f4](https://github.com/sern-handler/handler/commit/ac8a2f4c86a1c426d32e388a5439a8696db52279))
|
||||
* move name and description out of OptionsData[] ([93942bd](https://github.com/sern-handler/handler/commit/93942bd0e7d0ac688d20159cab2c70c3285085f4))
|
||||
* Optional plugins to reduce bloat ([2b81d53](https://github.com/sern-handler/handler/commit/2b81d53503209a738b70d238512c82542d3d88e8))
|
||||
* **prefix:** make defaultPrefix optional ([f6b88dc](https://github.com/sern-handler/handler/commit/f6b88dcdc80c407e14f4d6ae73eb27e75d195e18))
|
||||
* **readme.md:** added basic command examples ([63b2d3a](https://github.com/sern-handler/handler/commit/63b2d3a5723ac6e1f0baa0de8b65640cecd7d634))
|
||||
* remove comments about prev commit ([a220949](https://github.com/sern-handler/handler/commit/a2209494bdd05ca89176aff82f7d3afce0b8de46))
|
||||
* remove copyright bloat ([48737ef](https://github.com/sern-handler/handler/commit/48737efea3c0fce572238701e72335293333379f))
|
||||
* remove externallyUsed.ts ([3dec347](https://github.com/sern-handler/handler/commit/3dec347ef0957845601f0eb2acb3f1815d1e9ca1))
|
||||
* Revamp Docs ([#47](https://github.com/sern-handler/handler/issues/47)) ([163e48f](https://github.com/sern-handler/handler/commit/163e48f3eb38d37500cefc8d0c722c083a3070c7))
|
||||
* **sern.ts:** adding logging instead of large complaining messages from bot ([00a5fa4](https://github.com/sern-handler/handler/commit/00a5fa43ad9e0b4c7d5ef1f2772a4cb186768837))
|
||||
* **sern.ts:** beginning to add new basic logger system ([ef9d53e](https://github.com/sern-handler/handler/commit/ef9d53e6b1a9009eab5ce9ff9f8b5542d1d7cf7f))
|
||||
* **sern.ts:** changed how module is passed around, now has name property at runtime ([40fb723](https://github.com/sern-handler/handler/commit/40fb7231436331c97fa791eab3b8b51636e826f1))
|
||||
* **sern.ts:** changing default value of args in text based cmd to string[], from string ([1397974](https://github.com/sern-handler/handler/commit/1397974fb6e6d8c1b1e82db8272ef0a57916022c))
|
||||
* **sern.ts:** changing default value of args in text based cmd to string[], from string ([e0541f7](https://github.com/sern-handler/handler/commit/e0541f777bc3dcb1ec0c0cccf219b9fa66199a2b))
|
||||
* **sern.ts:** changing text-based command parser fn value to string[] ([b11f999](https://github.com/sern-handler/handler/commit/b11f9996749977a16e516523af7a8e2a9e6521ae))
|
||||
* **sern.ts:** renaming Module.delegate to Module.execute ([8702876](https://github.com/sern-handler/handler/commit/870287674aa7eccbe1fc890d1cf2cd808982b801))
|
||||
* should be able to register other nodejs event emitters ([b8cda35](https://github.com/sern-handler/handler/commit/b8cda351e1f549422692c633255ac1d6c7d78a9b))
|
||||
* shrink package size, improve dev deps, esm and cjs support ([#98](https://github.com/sern-handler/handler/issues/98)) ([74378f0](https://github.com/sern-handler/handler/commit/74378f0f12cf5d16b90ddbc01fb42505e0235c39))
|
||||
* update example ([0da1b5a](https://github.com/sern-handler/handler/commit/0da1b5a4dc6823807880ade03728b466fe895190))
|
||||
* Updated Readme design ([369586f](https://github.com/sern-handler/handler/commit/369586f378f807ba9906167b5ada197c2c95e411))
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* accidentally imported wildcard from wrong place & namespace ([8782cad](https://github.com/sern-handler/handler/commit/8782cad9cddbb24c03c2bfff96d3377aceb5f542))
|
||||
* autocomplete in nested form ([#97](https://github.com/sern-handler/handler/issues/97)) ([70d7bdb](https://github.com/sern-handler/handler/commit/70d7bdb8c53a1990addc5c9fd54427f194833b4e))
|
||||
* Change discord server link ([#62](https://github.com/sern-handler/handler/issues/62)) ([e677ce0](https://github.com/sern-handler/handler/commit/e677ce083966dedc945d236034e2ce4a7a586e05))
|
||||
* **codeql-analysis.yml:** Fixed autobuild issue on some TS files & deleted more unused comments ([e51c7ff](https://github.com/sern-handler/handler/commit/e51c7ffed038f0519a37f4339406c28546d92c83))
|
||||
* crash on collectors ([#89](https://github.com/sern-handler/handler/issues/89)) ([a0587f5](https://github.com/sern-handler/handler/commit/a0587f59d43d62642c033e0bb843902f9e6dc0c4))
|
||||
* crash on collectors pt ([7da7bff](https://github.com/sern-handler/handler/commit/7da7bff700f8e46e72412ca5d379a6edbc14e10a))
|
||||
* didn't run prettier, now i am ([6c144de](https://github.com/sern-handler/handler/commit/6c144defcacd7732e15292f6c3e5eaea7944bc32))
|
||||
* Fix return type of sernModule ([cf85a5d](https://github.com/sern-handler/handler/commit/cf85a5db6413e2b8b42143f70964f7a19789e1ff))
|
||||
* Fixed renovate warning ([#77](https://github.com/sern-handler/handler/issues/77)) ([76c4333](https://github.com/sern-handler/handler/commit/76c4333a817006100f0b99d73bb455e82797d3d9))
|
||||
* Fixed typo in Security.md ([c35def9](https://github.com/sern-handler/handler/commit/c35def99c93e77a0c932a1b8f1da06cd45fde294))
|
||||
* **handler.ts:** added the changes of Module<T>.execute to type delegate (now type execute) ([f062a33](https://github.com/sern-handler/handler/commit/f062a338687be4b3ac64c048a63bdcb895282d2d))
|
||||
* linting issue in markup.ts ([dac665d](https://github.com/sern-handler/handler/commit/dac665d6281a29ec79663adb26a3e5c5243e6ae0))
|
||||
* Non-exhaustiveness led to commands not registering readyEvent.ts ([b266508](https://github.com/sern-handler/handler/commit/b26650818e2c193c326356359b38412117ea6186))
|
||||
* prettier changes again ([d5bb992](https://github.com/sern-handler/handler/commit/d5bb9922dfdb14e4f7e95ad5acd470765b7a90c2))
|
||||
* prettier wants lf line ending ([571a804](https://github.com/sern-handler/handler/commit/571a8044b027afee91466219a841817dd55ef455))
|
||||
* **sern.ts:** checking ctx instanceof Message always returned false ([7166947](https://github.com/sern-handler/handler/commit/7166947d28f3be1a6e1c44385eb7946731784f58))
|
||||
* Standard for of does not resolve promises. Switched to for await ([66b9f51](https://github.com/sern-handler/handler/commit/66b9f51fa73cf07a589671d13ca4c65a9c8193a1))
|
||||
* **utilexports.ts:** forgot to remove the deleted feat of option builder ([1cff46c](https://github.com/sern-handler/handler/commit/1cff46c0ab5959d8e0f0fe89f1e6cd4c6cebff19))
|
||||
|
||||
|
||||
### Reverts
|
||||
|
||||
* Move enums to enums.ts ([40a10bf](https://github.com/sern-handler/handler/commit/40a10bf32b9a1c6afbf85bdaeb2a7918c15ac7a8))
|
||||
* Re-add plugins overload ([b9b5919](https://github.com/sern-handler/handler/commit/b9b59197df7d9bbeac3df68ebe6f7cea1ce50677))
|
||||
* remove version.txt ([ca9ac52](https://github.com/sern-handler/handler/commit/ca9ac52fae32108b4cb90b201204d5c358c5ef7b))
|
||||
@@ -1,5 +1,5 @@
|
||||
# Code of Conduct
|
||||
All participants of SernHandler are expected to abide by our Code of Conduct, both online and during in-person events that are hosted and/or associated with SernHandler.
|
||||
All participants of sern are expected to abide by our Code of Conduct, both online and during in-person events that are hosted and/or associated with sern.
|
||||
|
||||
# The Pledge
|
||||
In the interest of fostering an open and welcoming environment, we pledge to make participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
|
||||
@@ -26,7 +26,7 @@ Examples of behaviour that contributes to creating a positive environment includ
|
||||
• Other conduct which you know could reasonably be considered inappropriate in a professional setting. <br/>
|
||||
• Enforcement. <br/>
|
||||
|
||||
Violations of the Code of Conduct may be reported by sending a message to [discord server](https://discord.com/). All reports will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. Further details of specific enforcement policies may be posted separately.
|
||||
Violations of the Code of Conduct may be reported by reaching us on our [discord server](https://discord.com/). All reports will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. Further details of specific enforcement policies may be posted separately.
|
||||
|
||||
We hold the right and responsibility to remove comments or other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any members for other behaviours that they deem inappropriate, threatening, offensive, or harmful.
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
MIT License
|
||||
|
||||
**Copyright (c) 2022 Sern**
|
||||
Copyright (c) 2025 sern
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
@@ -19,5 +19,3 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
|
||||
End license text.
|
||||
120
README.md
120
README.md
@@ -1,83 +1,79 @@
|
||||
# SernHandler
|
||||
<div align="center">
|
||||
<img src="https://raw.githubusercontent.com/sern-handler/.github/main/banner.png" width="900px" />
|
||||
</div>
|
||||
|
||||
<a href="https://www.npmjs.com/package/@sern/handler"><img src="https://img.shields.io/npm/v/@sern/handler?maxAge=3600" alt="NPM version" /></a>
|
||||
<a href="https://www.npmjs.com/package/@sern/handler"><img src="https://img.shields.io/npm/dt/@sern/handler?maxAge=3600" alt="NPM downloads" /></a>
|
||||
[](https://opensource.org/licenses/MIT)
|
||||
<h1 align="center">Handlers. Redefined.</h1>
|
||||
<h4 align="center">A complete, customizable, typesafe, & reactive framework for discord bots</h4>
|
||||
|
||||
A customizable, batteries-included, powerful discord.js framework to automate and streamline your bot development.
|
||||
<div align="center" styles="margin-top: 10px">
|
||||
<img src="https://img.shields.io/badge/open-source-brightgreen" />
|
||||
<img src="https://img.shields.io/badge/built_with-sern-pink?labelColor=%230C3478&color=%23ed5087&link=https%3A%2F%2Fsern.dev"/>
|
||||
<a href="https://www.npmjs.com/package/@sern/handler"><img src="https://img.shields.io/npm/v/@sern/handler?maxAge=3600" alt="NPM version" /></a>
|
||||
<a href="https://www.npmjs.com/package/@sern/handler"><img src="https://img.shields.io/npm/dt/@sern/handler?maxAge=3600" alt="NPM downloads" /></a>
|
||||
<a href="https://opensource.org/licenses/MIT"><img src="https://img.shields.io/badge/license-MIT-brightgreen" alt="License MIT" /></a>
|
||||
<a href="https://sern.dev"><img alt="docs.rs" src="https://img.shields.io/docsrs/docs" /></a>
|
||||
<img alt="Lines of code" src="https://img.shields.io/badge/total%20lines-2k-blue" />
|
||||
</div>
|
||||
|
||||
## Why?
|
||||
- For you. A framework that's tailored to your exact needs.
|
||||
- Lightweight. Does a lot while being small.
|
||||
- Latest features. Support for discord.js v14 and all of its interactions.
|
||||
- Start quickly. Plug and play or customize to your liking.
|
||||
- Works with [bun](https://bun.sh/) and [node](https://nodejs.org/en) out the box!
|
||||
- Use it with TypeScript or JavaScript. CommonJS and ESM supported.
|
||||
- Active and growing community, always here to help. [Join us](https://sern.dev/discord)
|
||||
- Unleash its full potential with a powerful CLI and awesome plugins.
|
||||
|
||||
## Installation
|
||||
## 📜 Installation
|
||||
[Start here!!](https://sern.dev/v4/reference/getting-started)
|
||||
|
||||
```sh
|
||||
npm install @sern/handler
|
||||
```
|
||||
## 👶 Basic Usage
|
||||
<details><summary>ping.ts</summary>
|
||||
|
||||
```sh
|
||||
yarn add @sern/handler
|
||||
```
|
||||
|
||||
```sh
|
||||
pnpm add @sern/handler
|
||||
```
|
||||
|
||||
## Basic Usage
|
||||
|
||||
#### ` index.js (CommonJS)`
|
||||
|
||||
```js
|
||||
const { Client, GatewayIntentBits } = require('discord.js');
|
||||
const { Sern } = require('sern-handler');
|
||||
const { defaultPrefix, token } = require('./config.json');
|
||||
|
||||
const client = new Client({
|
||||
intents: [
|
||||
GatewayIntentBits.Guilds,
|
||||
GatewayIntentBits.GuildMembers,
|
||||
GatewayIntentBits.GuildMessages
|
||||
]
|
||||
```ts
|
||||
export default commandModule({
|
||||
type: CommandType.Slash,
|
||||
//Installed plugin to publish to discord api and allow access to owners only.
|
||||
plugins: [publish(), ownerOnly()],
|
||||
description: 'A ping pong command',
|
||||
execute(ctx) {
|
||||
ctx.reply('Hello owner of the bot');
|
||||
}
|
||||
});
|
||||
|
||||
Sern.init({
|
||||
client,
|
||||
defaultPrefix,
|
||||
commands : 'src/commands',
|
||||
});
|
||||
|
||||
client.login(token);
|
||||
```
|
||||
</details>
|
||||
|
||||
#### ` ping.js (CommonJS)`
|
||||
# Show off your sern Discord Bot!
|
||||
|
||||
```js
|
||||
const { Sern, CommandType } = require('@sern/handler');
|
||||
## Badge
|
||||
- Copy this and add it to your [README.md](https://img.shields.io/badge/built_with-sern-pink?labelColor=%230C3478&color=%23ed5087&link=https%3A%2F%2Fsern.dev)
|
||||
<img src="https://img.shields.io/badge/built_with-sern-pink?labelColor=%230C3478&color=%23ed5087&link=https%3A%2F%2Fsern.dev">
|
||||
|
||||
exports.default = {
|
||||
description: 'A ping pong command',
|
||||
type: CommandType.Slash,
|
||||
execute(ctx) {
|
||||
ctx.reply('pong!');
|
||||
}
|
||||
};
|
||||
```
|
||||
## 🤖 Bots Using sern
|
||||
- [Community Bot](https://github.com/sern-handler/sern-community) - The community bot for our [Discord server](https://sern.dev/discord).
|
||||
- [Vinci](https://github.com/SrIzan10/vinci) - The bot for Mara Turing.
|
||||
- [Bask](https://github.com/baskbotml/bask) - Listen to your favorite artists on Discord.
|
||||
- [Murayama](https://github.com/murayamabot/murayama) - :pepega:
|
||||
- [Protector](https://github.com/GlitchApotamus/Protector) - Just a simple bot to help enhance a private Minecraft server.
|
||||
- [SmokinWeed 💨](https://github.com/Peter-MJ-Parker/sern-bud) - A fun bot for a small, but growing server.
|
||||
- [Man Nomic](https://github.com/jacoobes/man-nomic) - A simple information bot to provide information to the nomic-ai Discord community.
|
||||
- [Linear-Discord](https://github.com/sern-handler/linear-discord) - Display and manage a linear dashboard.
|
||||
- [ZenithBot](https://github.com/CodeCraftersHaven/ZenithBot) - A versatile bot coded in TypeScript, designed to enhance server management and user interaction through its robust features.
|
||||
|
||||
See our [templates](https://github.com/sern-handler/templates) for TypeScript examples and more
|
||||
## 💻 CLI
|
||||
|
||||
## CLI
|
||||
It is **highly encouraged** to use the [command line interface](https://github.com/sern-handler/cli) for your project. Don't forget to view it.
|
||||
|
||||
We are providing a [command line interface](https://github.com/sern-handler/cli) for better & easier bot developement. Don't forget to view it.
|
||||
|
||||
## Links
|
||||
|
||||
- [Official Documentation](https://sern-handler.js.org)
|
||||
- [Support Server](https://discord.com/invite/Yvb7DnqjXX)
|
||||
## 🔗 Links
|
||||
|
||||
## Contribute
|
||||
- [Official Documentation and Guide](https://sern.dev)
|
||||
- [Support Server](https://sern.dev/discord)
|
||||
|
||||
- Read our contribution [guidelines](https://github.com/sern-handler/handler) carefully
|
||||
## 👋 Contribute
|
||||
- Read our contribution [guidelines](https://github.com/sern-handler/handler/blob/main/.github/CONTRIBUTING.md) carefully
|
||||
- Pull up on [issues](https://github.com/sern-handler/handler/issues) and report bugs
|
||||
- All kinds of contributions are welcomed.
|
||||
|
||||
## Roadmap
|
||||
|
||||
You can check our [roadmap](https://github.com/sern-handler/roadmap) to see what's going to be added or patched in the future.
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
module.exports = {
|
||||
presets: [['@babel/preset-env', { targets: { node: 'current' } }], '@babel/preset-typescript'],
|
||||
};
|
||||
4
bot/.gitignore
vendored
Normal file
4
bot/.gitignore
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
/node_modules
|
||||
/dist
|
||||
.env
|
||||
.sern
|
||||
6
bot/README.md
Normal file
6
bot/README.md
Normal file
@@ -0,0 +1,6 @@
|
||||
# Test bot
|
||||
|
||||
|
||||
## add .env
|
||||
DISCORD_TOKEN=<token>
|
||||
NODE_ENV=<production|development>
|
||||
12
bot/assets/locals/en-US.json
Normal file
12
bot/assets/locals/en-US.json
Normal file
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"command/ping": {
|
||||
"name": "ping",
|
||||
"description": "yeth",
|
||||
"options": {
|
||||
"asdfs": {
|
||||
"name": "shidenglish",
|
||||
"description": "yeah"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
12
bot/assets/locals/es-ES.json
Normal file
12
bot/assets/locals/es-ES.json
Normal file
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"command/ping": {
|
||||
"name": "ping",
|
||||
"description": "hola",
|
||||
"options": {
|
||||
"asdfs": {
|
||||
"name": "shidspnaol",
|
||||
"description": "si"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
1
bot/assets/test.txt
Normal file
1
bot/assets/test.txt
Normal file
@@ -0,0 +1 @@
|
||||
{ "sdfasdfas": "asdf" }
|
||||
418
bot/package-lock.json
generated
Normal file
418
bot/package-lock.json
generated
Normal file
@@ -0,0 +1,418 @@
|
||||
{
|
||||
"name": "plugtest",
|
||||
"version": "1.0.0",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "plugtest",
|
||||
"version": "1.0.0",
|
||||
"license": "UNLICENSED",
|
||||
"dependencies": {
|
||||
"@sern/handler": "file:../",
|
||||
"@sern/localizer": "^1.1.3",
|
||||
"@sern/publisher": "^1.1.2",
|
||||
"discord.js": "^14.15.0",
|
||||
"dotenv": "^16.4.5"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "^17.0.25",
|
||||
"typescript": "latest"
|
||||
}
|
||||
},
|
||||
"..": {
|
||||
"name": "@sern/handler",
|
||||
"version": "4.2.4",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@sern/ioc": "^1.1.2",
|
||||
"callsites": "^3.1.0",
|
||||
"cron": "^3.1.7",
|
||||
"deepmerge": "^4.3.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@faker-js/faker": "^8.0.1",
|
||||
"@types/node": "^20.0.0",
|
||||
"@types/node-cron": "^3.0.11",
|
||||
"@typescript-eslint/eslint-plugin": "5.58.0",
|
||||
"@typescript-eslint/parser": "5.59.1",
|
||||
"discord.js": "^14.14.1",
|
||||
"eslint": "8.39.0",
|
||||
"typescript": "5.0.2",
|
||||
"vitest": "^1.6.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 20.0.x"
|
||||
}
|
||||
},
|
||||
"../../tools/packages/builder": {
|
||||
"name": "@sern/builder",
|
||||
"version": "1.0.0-rc1",
|
||||
"extraneous": true,
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"discord-api-types": "latest"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "^20.1.0"
|
||||
}
|
||||
},
|
||||
"../handler": {
|
||||
"name": "@sern/handler",
|
||||
"version": "4.2.3",
|
||||
"extraneous": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@sern/ioc": "^1.1.2",
|
||||
"callsites": "^3.1.0",
|
||||
"cron": "^3.1.7",
|
||||
"deepmerge": "^4.3.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@faker-js/faker": "^8.0.1",
|
||||
"@types/node": "^20.0.0",
|
||||
"@types/node-cron": "^3.0.11",
|
||||
"@typescript-eslint/eslint-plugin": "5.58.0",
|
||||
"@typescript-eslint/parser": "5.59.1",
|
||||
"discord.js": "^14.14.1",
|
||||
"eslint": "8.39.0",
|
||||
"typescript": "5.0.2",
|
||||
"vitest": "^1.6.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 20.0.x"
|
||||
}
|
||||
},
|
||||
"../tools/packages/builder": {
|
||||
"name": "@sern/builder",
|
||||
"version": "1.0.0-rc1",
|
||||
"extraneous": true,
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"discord-api-types": "latest"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "^20.1.0"
|
||||
}
|
||||
},
|
||||
"../tools/packages/localizer": {
|
||||
"name": "@sern/localizer",
|
||||
"version": "1.1.1",
|
||||
"extraneous": true,
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"shrimple-locales": "^0.2.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@sern/handler": "^4.0.0",
|
||||
"discord.js": "^14.15.3",
|
||||
"vitest": "^1.2.2"
|
||||
}
|
||||
},
|
||||
"node_modules/@discordjs/builders": {
|
||||
"version": "1.10.0",
|
||||
"resolved": "https://registry.npmjs.org/@discordjs/builders/-/builders-1.10.0.tgz",
|
||||
"integrity": "sha512-ikVZsZP+3shmVJ5S1oM+7SveUCK3L9fTyfA8aJ7uD9cNQlTqF+3Irbk2Y22KXTb3C3RNUahRkSInClJMkHrINg==",
|
||||
"dependencies": {
|
||||
"@discordjs/formatters": "^0.6.0",
|
||||
"@discordjs/util": "^1.1.1",
|
||||
"@sapphire/shapeshift": "^4.0.0",
|
||||
"discord-api-types": "^0.37.114",
|
||||
"fast-deep-equal": "^3.1.3",
|
||||
"ts-mixer": "^6.0.4",
|
||||
"tslib": "^2.6.3"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=16.11.0"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/discordjs/discord.js?sponsor"
|
||||
}
|
||||
},
|
||||
"node_modules/@discordjs/collection": {
|
||||
"version": "1.5.3",
|
||||
"resolved": "https://registry.npmjs.org/@discordjs/collection/-/collection-1.5.3.tgz",
|
||||
"integrity": "sha512-SVb428OMd3WO1paV3rm6tSjM4wC+Kecaa1EUGX7vc6/fddvw/6lg90z4QtCqm21zvVe92vMMDt9+DkIvjXImQQ==",
|
||||
"engines": {
|
||||
"node": ">=16.11.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@discordjs/formatters": {
|
||||
"version": "0.6.0",
|
||||
"resolved": "https://registry.npmjs.org/@discordjs/formatters/-/formatters-0.6.0.tgz",
|
||||
"integrity": "sha512-YIruKw4UILt/ivO4uISmrGq2GdMY6EkoTtD0oS0GvkJFRZbTSdPhzYiUILbJ/QslsvC9H9nTgGgnarnIl4jMfw==",
|
||||
"dependencies": {
|
||||
"discord-api-types": "^0.37.114"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=16.11.0"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/discordjs/discord.js?sponsor"
|
||||
}
|
||||
},
|
||||
"node_modules/@discordjs/rest": {
|
||||
"version": "2.4.2",
|
||||
"resolved": "https://registry.npmjs.org/@discordjs/rest/-/rest-2.4.2.tgz",
|
||||
"integrity": "sha512-9bOvXYLQd5IBg/kKGuEFq3cstVxAMJ6wMxO2U3wjrgO+lHv8oNCT+BBRpuzVQh7BoXKvk/gpajceGvQUiRoJ8g==",
|
||||
"dependencies": {
|
||||
"@discordjs/collection": "^2.1.1",
|
||||
"@discordjs/util": "^1.1.1",
|
||||
"@sapphire/async-queue": "^1.5.3",
|
||||
"@sapphire/snowflake": "^3.5.3",
|
||||
"@vladfrangu/async_event_emitter": "^2.4.6",
|
||||
"discord-api-types": "^0.37.114",
|
||||
"magic-bytes.js": "^1.10.0",
|
||||
"tslib": "^2.6.3",
|
||||
"undici": "6.19.8"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/discordjs/discord.js?sponsor"
|
||||
}
|
||||
},
|
||||
"node_modules/@discordjs/rest/node_modules/@discordjs/collection": {
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npmjs.org/@discordjs/collection/-/collection-2.1.1.tgz",
|
||||
"integrity": "sha512-LiSusze9Tc7qF03sLCujF5iZp7K+vRNEDBZ86FT9aQAv3vxMLihUvKvpsCWiQ2DJq1tVckopKm1rxomgNUc9hg==",
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/discordjs/discord.js?sponsor"
|
||||
}
|
||||
},
|
||||
"node_modules/@discordjs/util": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/@discordjs/util/-/util-1.1.1.tgz",
|
||||
"integrity": "sha512-eddz6UnOBEB1oITPinyrB2Pttej49M9FZQY8NxgEvc3tq6ZICZ19m70RsmzRdDHk80O9NoYN/25AqJl8vPVf/g==",
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/discordjs/discord.js?sponsor"
|
||||
}
|
||||
},
|
||||
"node_modules/@discordjs/ws": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@discordjs/ws/-/ws-1.2.0.tgz",
|
||||
"integrity": "sha512-QH5CAFe3wHDiedbO+EI3OOiyipwWd+Q6BdoFZUw/Wf2fw5Cv2fgU/9UEtJRmJa9RecI+TAhdGPadMaEIur5yJg==",
|
||||
"dependencies": {
|
||||
"@discordjs/collection": "^2.1.0",
|
||||
"@discordjs/rest": "^2.4.1",
|
||||
"@discordjs/util": "^1.1.0",
|
||||
"@sapphire/async-queue": "^1.5.2",
|
||||
"@types/ws": "^8.5.10",
|
||||
"@vladfrangu/async_event_emitter": "^2.2.4",
|
||||
"discord-api-types": "^0.37.114",
|
||||
"tslib": "^2.6.2",
|
||||
"ws": "^8.17.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=16.11.0"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/discordjs/discord.js?sponsor"
|
||||
}
|
||||
},
|
||||
"node_modules/@discordjs/ws/node_modules/@discordjs/collection": {
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npmjs.org/@discordjs/collection/-/collection-2.1.1.tgz",
|
||||
"integrity": "sha512-LiSusze9Tc7qF03sLCujF5iZp7K+vRNEDBZ86FT9aQAv3vxMLihUvKvpsCWiQ2DJq1tVckopKm1rxomgNUc9hg==",
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/discordjs/discord.js?sponsor"
|
||||
}
|
||||
},
|
||||
"node_modules/@sapphire/async-queue": {
|
||||
"version": "1.5.5",
|
||||
"resolved": "https://registry.npmjs.org/@sapphire/async-queue/-/async-queue-1.5.5.tgz",
|
||||
"integrity": "sha512-cvGzxbba6sav2zZkH8GPf2oGk9yYoD5qrNWdu9fRehifgnFZJMV+nuy2nON2roRO4yQQ+v7MK/Pktl/HgfsUXg==",
|
||||
"engines": {
|
||||
"node": ">=v14.0.0",
|
||||
"npm": ">=7.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@sapphire/shapeshift": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@sapphire/shapeshift/-/shapeshift-4.0.0.tgz",
|
||||
"integrity": "sha512-d9dUmWVA7MMiKobL3VpLF8P2aeanRTu6ypG2OIaEv/ZHH/SUQ2iHOVyi5wAPjQ+HmnMuL0whK9ez8I/raWbtIg==",
|
||||
"dependencies": {
|
||||
"fast-deep-equal": "^3.1.3",
|
||||
"lodash": "^4.17.21"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=v16"
|
||||
}
|
||||
},
|
||||
"node_modules/@sapphire/snowflake": {
|
||||
"version": "3.5.3",
|
||||
"resolved": "https://registry.npmjs.org/@sapphire/snowflake/-/snowflake-3.5.3.tgz",
|
||||
"integrity": "sha512-jjmJywLAFoWeBi1W7994zZyiNWPIiqRRNAmSERxyg93xRGzNYvGjlZ0gR6x0F4gPRi2+0O6S71kOZYyr3cxaIQ==",
|
||||
"engines": {
|
||||
"node": ">=v14.0.0",
|
||||
"npm": ">=7.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@sern/handler": {
|
||||
"resolved": "..",
|
||||
"link": true
|
||||
},
|
||||
"node_modules/@sern/localizer": {
|
||||
"version": "1.1.3",
|
||||
"resolved": "https://registry.npmjs.org/@sern/localizer/-/localizer-1.1.3.tgz",
|
||||
"integrity": "sha512-hTn0DtiAzIWSuokqMsvnVuFqU+P776p/Yv5etlrq+CWDgw332Hwuj3geyqN1C0yEjwF+ceyXJE/kGu2/inkEyg==",
|
||||
"dependencies": {
|
||||
"shrimple-locales": "^0.2.1"
|
||||
}
|
||||
},
|
||||
"node_modules/@sern/publisher": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmjs.org/@sern/publisher/-/publisher-1.1.2.tgz",
|
||||
"integrity": "sha512-1zh99JZykKUhqHhE75ZXfiLsBtf1WI+NnDCojv8UlpnGBEyzO8xyI1X7PNf6cPKRs4W9XqY3PqTJ+hrqzIsMkg=="
|
||||
},
|
||||
"node_modules/@types/node": {
|
||||
"version": "17.0.45",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz",
|
||||
"integrity": "sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw=="
|
||||
},
|
||||
"node_modules/@types/ws": {
|
||||
"version": "8.5.14",
|
||||
"resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.14.tgz",
|
||||
"integrity": "sha512-bd/YFLW+URhBzMXurx7lWByOu+xzU9+kb3RboOteXYDfW+tr+JZa99OyNmPINEGB/ahzKrEuc8rcv4gnpJmxTw==",
|
||||
"dependencies": {
|
||||
"@types/node": "*"
|
||||
}
|
||||
},
|
||||
"node_modules/@vladfrangu/async_event_emitter": {
|
||||
"version": "2.4.6",
|
||||
"resolved": "https://registry.npmjs.org/@vladfrangu/async_event_emitter/-/async_event_emitter-2.4.6.tgz",
|
||||
"integrity": "sha512-RaI5qZo6D2CVS6sTHFKg1v5Ohq/+Bo2LZ5gzUEwZ/WkHhwtGTCB/sVLw8ijOkAUxasZ+WshN/Rzj4ywsABJ5ZA==",
|
||||
"engines": {
|
||||
"node": ">=v14.0.0",
|
||||
"npm": ">=7.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/discord-api-types": {
|
||||
"version": "0.37.119",
|
||||
"resolved": "https://registry.npmjs.org/discord-api-types/-/discord-api-types-0.37.119.tgz",
|
||||
"integrity": "sha512-WasbGFXEB+VQWXlo6IpW3oUv73Yuau1Ig4AZF/m13tXcTKnMpc/mHjpztIlz4+BM9FG9BHQkEXiPto3bKduQUg=="
|
||||
},
|
||||
"node_modules/discord.js": {
|
||||
"version": "14.17.3",
|
||||
"resolved": "https://registry.npmjs.org/discord.js/-/discord.js-14.17.3.tgz",
|
||||
"integrity": "sha512-8/j8udc3CU7dz3Eqch64UaSHoJtUT6IXK4da5ixjbav4NAXJicloWswD/iwn1ImZEMoAV3LscsdO0zhBh6H+0Q==",
|
||||
"dependencies": {
|
||||
"@discordjs/builders": "^1.10.0",
|
||||
"@discordjs/collection": "1.5.3",
|
||||
"@discordjs/formatters": "^0.6.0",
|
||||
"@discordjs/rest": "^2.4.2",
|
||||
"@discordjs/util": "^1.1.1",
|
||||
"@discordjs/ws": "^1.2.0",
|
||||
"@sapphire/snowflake": "3.5.3",
|
||||
"discord-api-types": "^0.37.114",
|
||||
"fast-deep-equal": "3.1.3",
|
||||
"lodash.snakecase": "4.1.1",
|
||||
"tslib": "^2.6.3",
|
||||
"undici": "6.19.8"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/discordjs/discord.js?sponsor"
|
||||
}
|
||||
},
|
||||
"node_modules/dotenv": {
|
||||
"version": "16.4.7",
|
||||
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.7.tgz",
|
||||
"integrity": "sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==",
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://dotenvx.com"
|
||||
}
|
||||
},
|
||||
"node_modules/fast-deep-equal": {
|
||||
"version": "3.1.3",
|
||||
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
|
||||
"integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
|
||||
},
|
||||
"node_modules/lodash": {
|
||||
"version": "4.17.21",
|
||||
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
|
||||
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
|
||||
},
|
||||
"node_modules/lodash.snakecase": {
|
||||
"version": "4.1.1",
|
||||
"resolved": "https://registry.npmjs.org/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz",
|
||||
"integrity": "sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw=="
|
||||
},
|
||||
"node_modules/magic-bytes.js": {
|
||||
"version": "1.10.0",
|
||||
"resolved": "https://registry.npmjs.org/magic-bytes.js/-/magic-bytes.js-1.10.0.tgz",
|
||||
"integrity": "sha512-/k20Lg2q8LE5xiaaSkMXk4sfvI+9EGEykFS4b0CHHGWqDYU0bGUFSwchNOMA56D7TCs9GwVTkqe9als1/ns8UQ=="
|
||||
},
|
||||
"node_modules/shrimple-locales": {
|
||||
"version": "0.2.1",
|
||||
"resolved": "https://registry.npmjs.org/shrimple-locales/-/shrimple-locales-0.2.1.tgz",
|
||||
"integrity": "sha512-j2vNBDXJgED3XqGXCD/vqXBSqwlDXP1iGkseVos8mCtZqHp3R+0FImx8xwtjeYufJcYfhjBMkaBTWgsBi8eJZw=="
|
||||
},
|
||||
"node_modules/ts-mixer": {
|
||||
"version": "6.0.4",
|
||||
"resolved": "https://registry.npmjs.org/ts-mixer/-/ts-mixer-6.0.4.tgz",
|
||||
"integrity": "sha512-ufKpbmrugz5Aou4wcr5Wc1UUFWOLhq+Fm6qa6P0w0K5Qw2yhaUoiWszhCVuNQyNwrlGiscHOmqYoAox1PtvgjA=="
|
||||
},
|
||||
"node_modules/tslib": {
|
||||
"version": "2.8.1",
|
||||
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
|
||||
"integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="
|
||||
},
|
||||
"node_modules/typescript": {
|
||||
"version": "5.7.3",
|
||||
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.3.tgz",
|
||||
"integrity": "sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==",
|
||||
"dev": true,
|
||||
"bin": {
|
||||
"tsc": "bin/tsc",
|
||||
"tsserver": "bin/tsserver"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=14.17"
|
||||
}
|
||||
},
|
||||
"node_modules/undici": {
|
||||
"version": "6.19.8",
|
||||
"resolved": "https://registry.npmjs.org/undici/-/undici-6.19.8.tgz",
|
||||
"integrity": "sha512-U8uCCl2x9TK3WANvmBavymRzxbfFYG+tAu+fgx3zxQy3qdagQqBLwJVrdyO1TBfUXvfKveMKJZhpvUYoOjM+4g==",
|
||||
"engines": {
|
||||
"node": ">=18.17"
|
||||
}
|
||||
},
|
||||
"node_modules/ws": {
|
||||
"version": "8.18.0",
|
||||
"resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz",
|
||||
"integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==",
|
||||
"engines": {
|
||||
"node": ">=10.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"bufferutil": "^4.0.1",
|
||||
"utf-8-validate": ">=5.0.2"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"bufferutil": {
|
||||
"optional": true
|
||||
},
|
||||
"utf-8-validate": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
30
bot/package.json
Normal file
30
bot/package.json
Normal file
@@ -0,0 +1,30 @@
|
||||
{
|
||||
"name": "plugtest",
|
||||
"version": "1.0.0",
|
||||
"description": "a descriptiuon",
|
||||
"main": "dist/index.js",
|
||||
"scripts": {
|
||||
"test": "echo \"Error: no test specified\" && exit 1",
|
||||
"build": "sern build",
|
||||
"start": "node ./dist/index.js",
|
||||
"run": "node ./dist/index.js"
|
||||
},
|
||||
"keywords": [
|
||||
"typescript",
|
||||
"sern",
|
||||
"discord.js"
|
||||
],
|
||||
"license": "UNLICENSED",
|
||||
"dependencies": {
|
||||
"@sern/handler": "file:../",
|
||||
"@sern/localizer": "^1.1.3",
|
||||
"@sern/publisher": "^1.1.2",
|
||||
"discord.js": "^14.15.0",
|
||||
"dotenv": "^16.4.5"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "^17.0.25",
|
||||
"typescript": "latest"
|
||||
},
|
||||
"type": "module"
|
||||
}
|
||||
11
bot/rm.py
Normal file
11
bot/rm.py
Normal file
@@ -0,0 +1,11 @@
|
||||
import os
|
||||
|
||||
for root, dirs, files in os.walk('.'):
|
||||
for filename in files:
|
||||
if filename.endswith('.js'):
|
||||
file_path = os.path.join(root, filename)
|
||||
try:
|
||||
os.remove(file_path)
|
||||
print(f'Successfully deleted: {file_path}')
|
||||
except OSError as e:
|
||||
print(f'Error deleting {file_path}: {e.strerror}')
|
||||
13
bot/sern.config.json
Normal file
13
bot/sern.config.json
Normal file
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"language": "typescript",
|
||||
"defaultPrefix": "!",
|
||||
"paths": {
|
||||
"base": "src",
|
||||
"commands": "commands",
|
||||
"events": "events"
|
||||
},
|
||||
"app": {
|
||||
"tags": ["Nice ass bot"],
|
||||
"description": "A bot"
|
||||
}
|
||||
}
|
||||
0
bot/src/commands/!plugins.ts
Normal file
0
bot/src/commands/!plugins.ts
Normal file
37
bot/src/commands/add.ts
Normal file
37
bot/src/commands/add.ts
Normal file
@@ -0,0 +1,37 @@
|
||||
import { CommandType, commandModule } from "@sern/handler";
|
||||
import { ApplicationCommandOptionType } from "discord.js";
|
||||
|
||||
export default commandModule({
|
||||
name: 'add',
|
||||
type: CommandType.Slash,
|
||||
description: 'Adds numbers together',
|
||||
options: [
|
||||
{
|
||||
type: ApplicationCommandOptionType.String,
|
||||
name: 'numbers',
|
||||
description: 'Numbers to add together separated by a space.',
|
||||
required: true,
|
||||
min_length: 3,
|
||||
},
|
||||
],
|
||||
execute: async (ctx) => {
|
||||
let numbers = ctx.options.getString('numbers')?.split(' ')!;
|
||||
|
||||
numbers = numbers.filter((num) => num !== '');
|
||||
|
||||
if (!numbers.every((num) => !isNaN(parseFloat(num)))) {
|
||||
return ctx.reply({
|
||||
content: 'You can only input numbers.',
|
||||
ephemeral: true,
|
||||
});
|
||||
}
|
||||
|
||||
const sum = numbers.reduce((acc, num) => acc + parseFloat(num), 0);
|
||||
|
||||
|
||||
return ctx.reply({
|
||||
content: `The sum is ${sum}`,
|
||||
ephemeral: true,
|
||||
});
|
||||
},
|
||||
});
|
||||
8
bot/src/commands/admin/!plugins.ts
Normal file
8
bot/src/commands/admin/!plugins.ts
Normal file
@@ -0,0 +1,8 @@
|
||||
import { filter, hasRole } from "../../plugins/filter.js";
|
||||
import { ownerOnly } from "../../plugins/ownerOnly.js";
|
||||
import { ADMIN } from '../../constants.js'
|
||||
|
||||
export default [
|
||||
ownerOnly(),
|
||||
filter({ condition: [hasRole(ADMIN)] })
|
||||
]
|
||||
11
bot/src/commands/admin/admin.ts
Normal file
11
bot/src/commands/admin/admin.ts
Normal file
@@ -0,0 +1,11 @@
|
||||
import { commandModule, CommandType } from '@sern/handler'
|
||||
|
||||
|
||||
|
||||
export default commandModule({
|
||||
type: CommandType.Slash,
|
||||
description: "A",
|
||||
execute: (ctx, args) => {
|
||||
|
||||
}
|
||||
})
|
||||
14
bot/src/commands/btn.ts
Normal file
14
bot/src/commands/btn.ts
Normal file
@@ -0,0 +1,14 @@
|
||||
import { CommandType, commandModule } from "@sern/handler";
|
||||
import { json } from "../plugins/json-params.js";
|
||||
|
||||
export default commandModule({
|
||||
type: CommandType.Button,
|
||||
plugins: [json],
|
||||
execute(ctx, args) {
|
||||
console.log(args.state['json/data'])
|
||||
//@ts-ignore
|
||||
ctx.reply(args.state['json/data'].uid)
|
||||
}
|
||||
|
||||
|
||||
})
|
||||
9
bot/src/commands/channelselect.ts
Normal file
9
bot/src/commands/channelselect.ts
Normal file
@@ -0,0 +1,9 @@
|
||||
import { CommandType, commandModule } from "@sern/handler";
|
||||
|
||||
export default commandModule({
|
||||
type: CommandType.ChannelSelect,
|
||||
execute: (s) => {
|
||||
s.reply('clicked channel');
|
||||
}
|
||||
|
||||
});
|
||||
25
bot/src/commands/chicken.ts
Normal file
25
bot/src/commands/chicken.ts
Normal file
@@ -0,0 +1,25 @@
|
||||
import { CommandType, commandModule } from "@sern/handler";
|
||||
import { publishConfig } from "@sern/publisher";
|
||||
import { PermissionFlagsBits } from "discord.js";
|
||||
|
||||
export default commandModule({
|
||||
type: CommandType.Slash,
|
||||
plugins: [
|
||||
publishConfig({
|
||||
integrationTypes: ['User'],
|
||||
contexts: [0,1,2],
|
||||
defaultMemberPermissions:
|
||||
PermissionFlagsBits.Speak
|
||||
| PermissionFlagsBits.Connect
|
||||
| PermissionFlagsBits.BanMembers
|
||||
|
||||
|
||||
|
||||
})
|
||||
],
|
||||
description: "yo",
|
||||
execute:(ctx) => {
|
||||
ctx.reply("hello");
|
||||
}
|
||||
|
||||
})
|
||||
103
bot/src/commands/collectors.ts
Normal file
103
bot/src/commands/collectors.ts
Normal file
@@ -0,0 +1,103 @@
|
||||
import { CommandType, Context, commandModule } from "@sern/handler";
|
||||
import { ActionRowBuilder, ButtonBuilder, ButtonStyle } from "discord.js";
|
||||
|
||||
export default commandModule ({
|
||||
type: CommandType.Slash,
|
||||
description: 'collectors',
|
||||
execute: async (ctx) => {
|
||||
//await close(ctx)
|
||||
await testCollect(ctx)
|
||||
}
|
||||
})
|
||||
|
||||
const testCollect = async (ctx: Context) => {
|
||||
const msgcmpt = ctx.interaction.channel?.createMessageComponentCollector()
|
||||
const buttonRow = new ActionRowBuilder<ButtonBuilder>().addComponents(
|
||||
new ButtonBuilder().setCustomId("closeyes").setLabel("Yes").setStyle(ButtonStyle.Success),
|
||||
new ButtonBuilder().setCustomId("closeno").setLabel("No").setStyle(ButtonStyle.Danger)
|
||||
);
|
||||
ctx.reply({ components: [buttonRow] })
|
||||
msgcmpt?.on('collect', async button => {
|
||||
|
||||
await button.deferUpdate();
|
||||
if (button.customId === "closeyes") {
|
||||
try {
|
||||
await button.editReply('closing')
|
||||
} catch (e) {
|
||||
await button.editReply({ content: "An error has occurred and I could not close the ticket...", components: [] });
|
||||
}
|
||||
} else {
|
||||
await button.editReply({ content: "This ticket will remain open.", components: [] });
|
||||
msgcmpt.stop();
|
||||
}
|
||||
});
|
||||
}
|
||||
//export const quiz = async(client: Client, ctx: Context) => {
|
||||
// try {
|
||||
// const pokemon = Math.round(Math.random() * 890)
|
||||
// const question = `https://cdn.dagpi.xyz/wtp/pokemon/${pokemon}q.png`;
|
||||
// const answer = `https://cdn.dagpi.xyz/wtp/pokemon/${pokemon}a.png`;
|
||||
//
|
||||
// const correctPokemon = await (await fetch(`https://pokeapi.co/api/v2/pokemon/${pokemon}`)).json();
|
||||
// const allPokemon = await (await fetch("https://pokeapi.co/api/v2/pokemon?limit=899")).json();
|
||||
//
|
||||
// const options: string[] = [];
|
||||
// //client.utils.log("WARNING", "INFO", `Correct answer is ${correctPokemon.name}`);
|
||||
//
|
||||
// while (options.length < 9) {
|
||||
// let option = allPokemon.results[pokemon];
|
||||
// if (options.includes(option.name)) continue;
|
||||
// options.push(option.name);
|
||||
// }
|
||||
//
|
||||
// if (!options.includes(correctPokemon.name)) {
|
||||
// options.splice(client.utils.randomRange(0, 10), 0, correctPokemon.name.toLowerCase());
|
||||
// } else {
|
||||
// while (options.length < 10) {
|
||||
// let option = allPokemon.results[client.utils.randomRange(1, 890)];
|
||||
// if (options.includes(option.name)) continue;
|
||||
// options.push(option.name);
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// const msgEmbed = (await client.utils.CustomEmbed({ userID: ctx.user.id })).setTitle("Who's that Pokémon?").setImage(question);
|
||||
// const row = new ActionRowBuilder<StringSelectMenuBuilder>().addComponents(
|
||||
// new StringSelectMenuBuilder().setCustomId("pokequiz").addOptions(
|
||||
// options.sort().map((opt) => {
|
||||
// return { label: client.utils.titleCase(opt), value: opt.toLowerCase() };
|
||||
// })
|
||||
// )
|
||||
// );
|
||||
//
|
||||
// const msg = await client.utils.fetchReply(ctx.interaction, { embeds: [msgEmbed], components: [row] });
|
||||
// const filter = (i: StringSelectMenuInteraction) => i.user.id === ctx.user.id && i.message.id === msg.id;
|
||||
//
|
||||
// const collector = msg.createMessageComponentCollector({ filter, componentType: ComponentType.StringSelect, time: 1000 * 20 });
|
||||
// collector.on("collect", async (i) => {
|
||||
// const guess = i.values[0].toLowerCase();
|
||||
//
|
||||
// msgEmbed.setImage(answer).setTitle(`It's ${client.utils.titleCase(correctPokemon.name)}!`);
|
||||
//
|
||||
// if (guess === correctPokemon.name.toLowerCase()) msgEmbed.setColor("Green").setFooter({ text: "You're correct!" });
|
||||
// else msgEmbed.setColor("Red").setFooter({ text: `You guessed ${client.utils.titleCase(guess)}.` });
|
||||
//
|
||||
// await i.update({ embeds: [msgEmbed], components: [] });
|
||||
// collector.stop("Guessed");
|
||||
// });
|
||||
//
|
||||
// collector.on("end", async (i, reason) => {
|
||||
// if (reason === "Guessed") return;
|
||||
//
|
||||
// msgEmbed
|
||||
// .setImage(answer)
|
||||
// .setTitle(`It's ${client.utils.titleCase(correctPokemon.name)}!`)
|
||||
// .setColor("Red")
|
||||
// .setFooter({ text: "You did not guess in time." });
|
||||
//
|
||||
// await ctx.interaction.editReply({ embeds: [msgEmbed], components: [] });
|
||||
// });
|
||||
// } catch (e) {
|
||||
// client.utils.log("ERROR", __filename, `${e}`);
|
||||
// return ctx.interaction.reply({ content: "An error has occurred. Please try again.", ephemeral: true });
|
||||
// }
|
||||
//};
|
||||
6
bot/src/commands/dmMe.ts
Normal file
6
bot/src/commands/dmMe.ts
Normal file
@@ -0,0 +1,6 @@
|
||||
import { CommandType, commandModule } from "@sern/handler";
|
||||
|
||||
export default commandModule({
|
||||
type: CommandType.Modal,
|
||||
execute: (modal) => modal.reply('thanks')
|
||||
});
|
||||
24
bot/src/commands/flat-autocmp.ts
Normal file
24
bot/src/commands/flat-autocmp.ts
Normal file
@@ -0,0 +1,24 @@
|
||||
import { commandModule, CommandType } from "@sern/handler";
|
||||
import { ApplicationCommandOptionType } from "discord.js";
|
||||
|
||||
export default commandModule({
|
||||
description: "testing",
|
||||
type: CommandType.Slash,
|
||||
options: [
|
||||
{
|
||||
name: "option",
|
||||
description: "option desc",
|
||||
type: ApplicationCommandOptionType.String,
|
||||
required: true,
|
||||
autocomplete: true,
|
||||
command: {
|
||||
execute: (i) => {
|
||||
i.respond([{ name: "rah", value: "rah" }]);
|
||||
},
|
||||
},
|
||||
},
|
||||
],
|
||||
execute: (ctx) => {
|
||||
return ctx.reply("rah");
|
||||
},
|
||||
});
|
||||
52
bot/src/commands/nested.ts
Normal file
52
bot/src/commands/nested.ts
Normal file
@@ -0,0 +1,52 @@
|
||||
import { commandModule, CommandType } from "@sern/handler";
|
||||
import { ActionRowBuilder, ApplicationCommandOptionType, ModalBuilder, TextInputBuilder, TextInputStyle } from "discord.js";
|
||||
|
||||
export default commandModule({
|
||||
type: CommandType.Slash,
|
||||
description : 'a ping command',
|
||||
options: [
|
||||
{
|
||||
name: "nest",
|
||||
description: "testing nested",
|
||||
type: ApplicationCommandOptionType.SubcommandGroup,
|
||||
options : [
|
||||
{
|
||||
name: "nest",
|
||||
description: "testing nested",
|
||||
type: ApplicationCommandOptionType.Subcommand,
|
||||
options : [
|
||||
{
|
||||
name: "sdfasd",
|
||||
description: "testing autocomplete",
|
||||
autocomplete: true,
|
||||
type: ApplicationCommandOptionType.String,
|
||||
command : {
|
||||
onEvent : [],
|
||||
async execute(autocmp, sdt) {
|
||||
//console.log(autocmp)
|
||||
const choices = ['butt', 'deez', 'lmao', 'lmfao', 'nuts', 'chicken'];
|
||||
await autocmp.respond(choices.map((e,i) => ({ name : e, value: i.toString()})));
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
]
|
||||
},
|
||||
],
|
||||
async execute ({ interaction }) {
|
||||
const modal = new ModalBuilder()
|
||||
.setCustomId('dmMe')
|
||||
.setTitle('send something to my dm (nothing bad pls)');
|
||||
|
||||
const input = new TextInputBuilder()
|
||||
.setCustomId('message')
|
||||
.setLabel("Send something to me")
|
||||
.setStyle(TextInputStyle.Short);
|
||||
|
||||
const firstActionRow = new ActionRowBuilder<TextInputBuilder>().addComponents([input]);
|
||||
modal.addComponents([firstActionRow]);
|
||||
await interaction.showModal(modal);
|
||||
}
|
||||
});
|
||||
|
||||
8
bot/src/commands/ping-ctx-msg.ts
Normal file
8
bot/src/commands/ping-ctx-msg.ts
Normal file
@@ -0,0 +1,8 @@
|
||||
import { CommandType, commandModule } from '@sern/handler'
|
||||
|
||||
export default commandModule({
|
||||
type: CommandType.CtxMsg,
|
||||
execute: (i, sdt) => {
|
||||
i.reply('pong msg')
|
||||
}
|
||||
})
|
||||
9
bot/src/commands/ping-ctx.ts
Normal file
9
bot/src/commands/ping-ctx.ts
Normal file
@@ -0,0 +1,9 @@
|
||||
import { CommandType, commandModule } from "@sern/handler";
|
||||
|
||||
|
||||
export default commandModule({
|
||||
type: CommandType.CtxUser,
|
||||
execute: (i, sdt) => {
|
||||
i.reply('pong')
|
||||
}
|
||||
})
|
||||
84
bot/src/commands/ping.ts
Normal file
84
bot/src/commands/ping.ts
Normal file
@@ -0,0 +1,84 @@
|
||||
import {commandModule, CommandType, controller, CommandInitPlugin, CommandControlPlugin } from '@sern/handler';
|
||||
import {
|
||||
ActionRowBuilder,
|
||||
ButtonBuilder,
|
||||
ButtonStyle,
|
||||
ChannelSelectMenuBuilder,
|
||||
RoleSelectMenuBuilder,
|
||||
UserSelectMenuBuilder,
|
||||
} from "discord.js";
|
||||
import { localize } from '@sern/localizer';
|
||||
|
||||
const plugin = CommandControlPlugin(() => {
|
||||
return controller.next({ a: 'from plugin1' });
|
||||
});
|
||||
|
||||
const plugin2 = CommandControlPlugin(() => {
|
||||
return controller.next({ a: 'from plugin2' });
|
||||
})
|
||||
|
||||
const updateDescription = (description: string) => {
|
||||
return CommandInitPlugin(() => {
|
||||
if(description.length > 100) {
|
||||
console.error("Description is invalid")
|
||||
return controller.stop("From updateDescription: description is invalid");
|
||||
}
|
||||
return controller.next({ description }); // continue to next plugin
|
||||
});
|
||||
};
|
||||
|
||||
export default commandModule({
|
||||
type: CommandType.Slash,
|
||||
plugins: [localize()],
|
||||
description: 'A ping command I just updated',
|
||||
options: [
|
||||
str(name("asdfs"),
|
||||
description("sdfds"))
|
||||
],
|
||||
execute: async (ctx, sdt) => {
|
||||
ctx.interaction
|
||||
const btn = new ButtonBuilder()
|
||||
.setStyle(ButtonStyle.Link)
|
||||
.setLabel("Click me")
|
||||
.setURL('https://www.youtube.com/watch?v=dQw4w9WgXcQ&pp=ygUIcmlja3JvbGw%3D')
|
||||
|
||||
const editButton = new ButtonBuilder({
|
||||
customId: `btn/{"uid":"1061421834341462036"}`,
|
||||
label: "click me also",
|
||||
emoji: "🛠",
|
||||
style: ButtonStyle.Primary,
|
||||
});
|
||||
|
||||
ctx.reply({ components: [
|
||||
new ActionRowBuilder<ButtonBuilder>().addComponents(btn, editButton),
|
||||
new ActionRowBuilder<UserSelectMenuBuilder>({
|
||||
components: [
|
||||
new UserSelectMenuBuilder({
|
||||
custom_id: "userselect",
|
||||
placeholder: "select channel",
|
||||
minValues: 1,
|
||||
}),
|
||||
],
|
||||
}),
|
||||
new ActionRowBuilder<ChannelSelectMenuBuilder>().addComponents(
|
||||
new ChannelSelectMenuBuilder({
|
||||
custom_id: "channelselect",
|
||||
placeholder: "select channel",
|
||||
minValues: 1,
|
||||
|
||||
}),
|
||||
),
|
||||
new ActionRowBuilder<RoleSelectMenuBuilder>({
|
||||
components: [
|
||||
new RoleSelectMenuBuilder({
|
||||
custom_id: "roleselect",
|
||||
placeholder: "select role",
|
||||
minValues: 1,
|
||||
}),
|
||||
],
|
||||
})
|
||||
]})
|
||||
},
|
||||
});
|
||||
|
||||
|
||||
9
bot/src/commands/roleselect.ts
Normal file
9
bot/src/commands/roleselect.ts
Normal file
@@ -0,0 +1,9 @@
|
||||
import { CommandType, commandModule } from "@sern/handler"
|
||||
|
||||
export default commandModule( {
|
||||
type: CommandType.RoleSelect,
|
||||
execute: (s) => {
|
||||
s.reply('selected role')
|
||||
}
|
||||
|
||||
})
|
||||
12
bot/src/commands/sernoptions.ts
Normal file
12
bot/src/commands/sernoptions.ts
Normal file
@@ -0,0 +1,12 @@
|
||||
import { CommandType, commandModule } from "@sern/handler";
|
||||
|
||||
|
||||
export default commandModule({
|
||||
type: CommandType.Slash,
|
||||
description: 'shid',
|
||||
execute({ interaction }) {
|
||||
interaction.reply('hello')
|
||||
}
|
||||
|
||||
|
||||
})
|
||||
62
bot/src/commands/subcommandoption.ts
Normal file
62
bot/src/commands/subcommandoption.ts
Normal file
@@ -0,0 +1,62 @@
|
||||
import { commandModule, CommandType } from '@sern/handler';
|
||||
import { ApplicationCommandOptionType } from 'discord.js';
|
||||
|
||||
export default commandModule({
|
||||
type: CommandType.Slash,
|
||||
description: 'A ping command',
|
||||
options: [
|
||||
{
|
||||
name: "art",
|
||||
type: ApplicationCommandOptionType.Subcommand,
|
||||
description: "Lists out information about an Animal Crossing artwork.",
|
||||
options: [
|
||||
{
|
||||
name: "name",
|
||||
description: "The name of the artwork to lookup.",
|
||||
type: ApplicationCommandOptionType.String,
|
||||
autocomplete: true,
|
||||
required: true,
|
||||
command: {
|
||||
async execute(ctx) {
|
||||
await ctx.respond([{ name: 'art', value: 'first' }])
|
||||
},
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "villager",
|
||||
type: ApplicationCommandOptionType.Subcommand,
|
||||
description: "Lists out information about an Animal Crossing villager.",
|
||||
options: [
|
||||
{
|
||||
name: "name",
|
||||
description: "The name of the villager to lookup.",
|
||||
type: ApplicationCommandOptionType.String,
|
||||
autocomplete: true,
|
||||
required: true,
|
||||
command: {
|
||||
onEvent: [],
|
||||
async execute(ctx) {
|
||||
await ctx.respond([{ name: 'villager', value: 'second' } ])
|
||||
},
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
execute: async (ctx) => {
|
||||
const command = ctx.options.getSubcommand();
|
||||
switch (command) {
|
||||
case "art": {
|
||||
|
||||
ctx.reply('art');
|
||||
break;
|
||||
}
|
||||
case "villager": {
|
||||
ctx.reply('vil');
|
||||
break;
|
||||
}
|
||||
}
|
||||
},
|
||||
});
|
||||
40
bot/src/commands/test-ctx.ts
Normal file
40
bot/src/commands/test-ctx.ts
Normal file
@@ -0,0 +1,40 @@
|
||||
import { ApplicationCommandOptionType } from "discord.js";
|
||||
import { Service, commandModule, CommandType } from "@sern/handler";
|
||||
|
||||
export const config = {
|
||||
guildIds: ['941002690211766332']
|
||||
}
|
||||
|
||||
|
||||
export default commandModule({
|
||||
type: CommandType.Both,
|
||||
description: 'tests context',
|
||||
options: [
|
||||
{
|
||||
type: ApplicationCommandOptionType.String,
|
||||
name: "hello",
|
||||
description: "wassup",
|
||||
required: false,
|
||||
}
|
||||
],
|
||||
async execute(ctx) {
|
||||
const logger = Service('@sern/logger');
|
||||
|
||||
if(ctx.isMessage()) {
|
||||
logger?.info({ message : ctx.message.content })
|
||||
logger?.info({ message : ctx.prefix })
|
||||
} else {
|
||||
logger?.info({ message : ctx.interaction.toString() })
|
||||
}
|
||||
|
||||
logger?.info({ message: ctx.id })
|
||||
logger?.info({ message: ctx.channel?.toString()! })
|
||||
logger?.info({ message: ctx.user.toString()! })
|
||||
logger?.info({ message: ctx.createdTimestamp.toString() })
|
||||
logger?.info({ message: ctx.guild?.toString() })
|
||||
logger?.info({ message: ctx.member?.toString() })
|
||||
logger?.info({ message: ctx.client })
|
||||
logger?.info({ message: ctx.inGuild })
|
||||
await ctx.reply("guayin bodishivatta")
|
||||
}
|
||||
})
|
||||
33
bot/src/commands/testing-neo.ts
Normal file
33
bot/src/commands/testing-neo.ts
Normal file
@@ -0,0 +1,33 @@
|
||||
import { CommandType, commandModule } from "@sern/handler";
|
||||
import { ActionRowBuilder, ModalActionRowComponentBuilder, ModalBuilder, TextInputBuilder, TextInputStyle } from "discord.js";
|
||||
|
||||
const informationRequestModal = new ModalBuilder()
|
||||
.setCustomId("information-request")
|
||||
.setTitle("More Information")
|
||||
.addComponents(
|
||||
new ActionRowBuilder<ModalActionRowComponentBuilder>().addComponents(
|
||||
new TextInputBuilder()
|
||||
.setCustomId("command-name")
|
||||
.setLabel("Command Name")
|
||||
.setPlaceholder("The name of the command that this bug occurred on.")
|
||||
.setStyle(TextInputStyle.Short)
|
||||
.setMinLength(4)
|
||||
.setMaxLength(20)
|
||||
.setRequired(true)));
|
||||
|
||||
export default commandModule({
|
||||
type: CommandType.Slash,
|
||||
plugins: [],
|
||||
description: "A random test command.",
|
||||
execute: async (ctx) => {
|
||||
await ctx.interaction.showModal(informationRequestModal);
|
||||
|
||||
await ctx.interaction
|
||||
.awaitModalSubmit({ time: 300_000 })
|
||||
.then(async (modal) => {
|
||||
modal.reply("thanks brody")
|
||||
})
|
||||
.catch(() => null);
|
||||
},
|
||||
});
|
||||
|
||||
8
bot/src/commands/userselect.ts
Normal file
8
bot/src/commands/userselect.ts
Normal file
@@ -0,0 +1,8 @@
|
||||
import { CommandType, commandModule } from "@sern/handler";
|
||||
|
||||
export default commandModule( {
|
||||
type: CommandType.UserSelect,
|
||||
execute: (s) => {
|
||||
s.reply('selected user')
|
||||
}
|
||||
})
|
||||
1
bot/src/constants.ts
Normal file
1
bot/src/constants.ts
Normal file
@@ -0,0 +1 @@
|
||||
export const ADMIN = '983754333944434712'
|
||||
18
bot/src/dependencies.d.ts
vendored
Normal file
18
bot/src/dependencies.d.ts
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
import type {
|
||||
Logging,
|
||||
ErrorHandling,
|
||||
CoreDependencies
|
||||
} from '@sern/handler'
|
||||
import type { Publisher } from '@sern/publisher';
|
||||
import type { Localizer } from '@sern/localizer';
|
||||
declare global {
|
||||
interface Dependencies extends CoreDependencies {
|
||||
localizer: Localizer;
|
||||
publisher: Publisher
|
||||
}
|
||||
}
|
||||
|
||||
export {}
|
||||
|
||||
|
||||
|
||||
10
bot/src/events/error.ts
Normal file
10
bot/src/events/error.ts
Normal file
@@ -0,0 +1,10 @@
|
||||
import { EventType, eventModule } from "@sern/handler";
|
||||
|
||||
|
||||
export default eventModule({
|
||||
name: 'error',
|
||||
type: EventType.Sern,
|
||||
execute: (e) => {
|
||||
console.log(e)
|
||||
}
|
||||
})
|
||||
10
bot/src/events/messageCreate.ts
Normal file
10
bot/src/events/messageCreate.ts
Normal file
@@ -0,0 +1,10 @@
|
||||
import { discordEvent } from "@sern/handler";
|
||||
|
||||
const execute = (...args: any[]) => {
|
||||
console.log(args[0].content)
|
||||
}
|
||||
export default discordEvent({
|
||||
name: 'messageCreate',
|
||||
once: true,
|
||||
execute
|
||||
})
|
||||
10
bot/src/events/module.activate.ts
Normal file
10
bot/src/events/module.activate.ts
Normal file
@@ -0,0 +1,10 @@
|
||||
import {eventModule, EventType} from "@sern/handler";
|
||||
|
||||
|
||||
export default eventModule({
|
||||
type: EventType.Sern,
|
||||
name: 'module.activate',
|
||||
execute(args) {
|
||||
|
||||
}
|
||||
})
|
||||
9
bot/src/events/modulesLoaded.ts
Normal file
9
bot/src/events/modulesLoaded.ts
Normal file
@@ -0,0 +1,9 @@
|
||||
import { CommandType, EventType, Service, eventModule } from "@sern/handler";
|
||||
|
||||
|
||||
export default eventModule({
|
||||
type: EventType.Sern,
|
||||
execute: async () => {
|
||||
console.log('eventmodule: all loaded');
|
||||
}
|
||||
})
|
||||
8
bot/src/events/threadCreate.ts
Normal file
8
bot/src/events/threadCreate.ts
Normal file
@@ -0,0 +1,8 @@
|
||||
import { discordEvent } from "@sern/handler";
|
||||
|
||||
export default discordEvent({
|
||||
name: 'threadCreate',
|
||||
execute(thread) {
|
||||
console.log(thread)
|
||||
}
|
||||
})
|
||||
41
bot/src/index.ts
Normal file
41
bot/src/index.ts
Normal file
@@ -0,0 +1,41 @@
|
||||
import 'dotenv/config';
|
||||
import { makeDependencies, Sern, Service } from '@sern/handler'
|
||||
import { Client, GatewayIntentBits, Partials } from 'discord.js';
|
||||
import { Publisher } from '@sern/publisher'
|
||||
import { Localization } from '@sern/localizer'
|
||||
|
||||
__DEV__: console.log(1);
|
||||
|
||||
const intents = GatewayIntentBits.Guilds |
|
||||
GatewayIntentBits.GuildMembers |
|
||||
GatewayIntentBits.GuildMessageReactions |
|
||||
GatewayIntentBits.GuildMessages |
|
||||
GatewayIntentBits.DirectMessages |
|
||||
GatewayIntentBits.MessageContent;
|
||||
|
||||
const partials = [
|
||||
Partials.Channel
|
||||
];
|
||||
|
||||
async function init() {
|
||||
await makeDependencies(({ add }) => {
|
||||
add('@sern/client', new Client({ intents, partials }));
|
||||
add('localizer', Localization());
|
||||
add('publisher', deps => {
|
||||
return new Publisher(deps['@sern/modules'],
|
||||
deps['@sern/emitter'],
|
||||
deps['@sern/logger']!)
|
||||
})
|
||||
})
|
||||
Sern.init({
|
||||
commands : "./dist/commands",
|
||||
events: "./dist/events",
|
||||
tasks: "./dist/tasks",
|
||||
defaultPrefix: "!"
|
||||
})
|
||||
}
|
||||
init().then(() => {
|
||||
Service('@sern/client').login()
|
||||
})
|
||||
//View docs for all options
|
||||
|
||||
156
bot/src/plugins/args.ts
Normal file
156
bot/src/plugins/args.ts
Normal file
@@ -0,0 +1,156 @@
|
||||
/**
|
||||
* @author HighArcs
|
||||
* @version 1.0.0
|
||||
* @description converts array of argument strings to an object (and maps them)
|
||||
* @license null
|
||||
* @example
|
||||
* ```ts
|
||||
* import { parsedCommandModule, args } from "../plugins/args";
|
||||
* import { CommandType } from "@sern/handler";
|
||||
*
|
||||
* interface Arg {
|
||||
* value: number;
|
||||
* }
|
||||
*
|
||||
* export default parsedCommandModule({
|
||||
* type : CommandType.Text
|
||||
* plugins: [args({ value: Number })],
|
||||
* execute: (ctx, args) => {
|
||||
* console.log(ctx.args.value);
|
||||
* }
|
||||
* })
|
||||
*/
|
||||
|
||||
import {
|
||||
commandModule,
|
||||
CommandType,
|
||||
Context, ControlPlugin,
|
||||
Plugin, CommandControlPlugin, controller
|
||||
} from "@sern/handler";
|
||||
import type { Awaitable } from "discord.js";
|
||||
|
||||
type Converter<T> = (value?: string) => Awaitable<T>;
|
||||
type Struct = Record<string, any>;
|
||||
type ConverterList<T extends Struct> = {
|
||||
[K in keyof T]: Converter<T[K]>;
|
||||
};
|
||||
type Ctx<T> = Context & { _args: T };
|
||||
|
||||
interface Err {
|
||||
key: string;
|
||||
error: string;
|
||||
given: string;
|
||||
index: number;
|
||||
}
|
||||
|
||||
type OnError<T> = (context: Ctx<T>, error: Err) => any;
|
||||
|
||||
type SpecialEvt<T> = {
|
||||
readonly "@@plugin": symbol
|
||||
} & ControlPlugin<[Ctx<T>, ]>
|
||||
|
||||
async function convert<T extends Struct>(
|
||||
args: Array<string>,
|
||||
struct: ConverterList<T>
|
||||
) {
|
||||
const entries = Object.entries(struct);
|
||||
const result = {} as T;
|
||||
for (let i = 0; i < entries.length; i++) {
|
||||
const value = args[i];
|
||||
const [key, converter] = entries[i]!;
|
||||
try {
|
||||
result[key as keyof T] = await converter(value);
|
||||
} catch (error) {
|
||||
throw { key, error: String(error), given: value, index: i };
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
interface ParsedInputCommandModule<T extends Struct> {
|
||||
name?: string;
|
||||
description: string;
|
||||
type: CommandType.Both | CommandType.Text | CommandType.Slash;
|
||||
execute: (context: Ctx<T>, args: Array<string>) => any;
|
||||
plugins: () =>
|
||||
| [SpecialEvt<T>, ...Array<Plugin>]
|
||||
| []
|
||||
| undefined;
|
||||
}
|
||||
|
||||
export const Structs = {
|
||||
string: (value: string) => String(value),
|
||||
number: (value: string) => Number(value),
|
||||
boolean: (value: string) => value === "true" || value === "1",
|
||||
date: (value: string) => new Date(value),
|
||||
integer: (value: string) => Number.parseInt(value),
|
||||
};
|
||||
|
||||
export function parsedCommandModule<T extends Struct>(
|
||||
a: ParsedInputCommandModule<T>
|
||||
) {
|
||||
const plugins = (a.plugins() ?? []);
|
||||
return commandModule({ ...a, plugins } as never);
|
||||
}
|
||||
|
||||
export namespace Checks {
|
||||
export function choices<K extends string>(
|
||||
choices: K[],
|
||||
value?: string
|
||||
): asserts value is K {
|
||||
if (!choices.includes(value as unknown as K)) {
|
||||
throw "value is not in choices";
|
||||
}
|
||||
}
|
||||
|
||||
export function required(value?: string): asserts value is string {
|
||||
if (value === undefined) {
|
||||
throw "value is required";
|
||||
}
|
||||
}
|
||||
|
||||
export function limit(min: number, max: number, value?: string) {
|
||||
required(value);
|
||||
const val = Structs.number(value);
|
||||
if (val < min) {
|
||||
throw `value must be higher than ${min}`;
|
||||
}
|
||||
|
||||
if (val > max) {
|
||||
throw `value must be lower than ${max}`;
|
||||
}
|
||||
|
||||
return val;
|
||||
}
|
||||
}
|
||||
|
||||
export function args<T extends Struct>(
|
||||
struct: ConverterList<T>,
|
||||
onError?: OnError<T>
|
||||
): SpecialEvt<T> {
|
||||
const plugin = CommandControlPlugin<CommandType.Both>(async (ctx, args) => {
|
||||
switch(args.type) {
|
||||
case "slash": {
|
||||
let result: T;
|
||||
} break;
|
||||
case "text" : {
|
||||
let result: T;
|
||||
try {
|
||||
result = await convert(args, struct)
|
||||
} catch (e) {
|
||||
if (onError) {
|
||||
onError(ctx as Ctx<T>, e as Err);
|
||||
}
|
||||
return controller.stop();
|
||||
}
|
||||
//@warn - mutable assignment!
|
||||
(ctx as Ctx<T>)._args = result;
|
||||
return controller.next();
|
||||
}
|
||||
}
|
||||
return controller.next()
|
||||
})
|
||||
Object.defineProperty(plugin, "@@plugin", { value: Symbol("args") })
|
||||
return plugin as SpecialEvt<T>;
|
||||
}
|
||||
57
bot/src/plugins/assertFields.ts
Normal file
57
bot/src/plugins/assertFields.ts
Normal file
@@ -0,0 +1,57 @@
|
||||
/**
|
||||
* This plugin checks the fields of a ModalSubmitInteraction
|
||||
* with regex or a custom callback
|
||||
*
|
||||
* @author @jacoobes [<@182326315813306368>]
|
||||
* @version 1.0.0
|
||||
* @example
|
||||
* ```ts
|
||||
* export default commandModule({
|
||||
* type: CommandType.Modal,
|
||||
* plugins: [
|
||||
* assertFields({
|
||||
* fields: {
|
||||
* // check the modal field "mcUsernameInput" with the regex /a+b+c/
|
||||
* mcUsernameInput: /a+b+c+/
|
||||
* },
|
||||
* failure: (errors, interaction) => {
|
||||
* interaction.reply(errors.join("\n"))
|
||||
* }
|
||||
* }),
|
||||
* ],
|
||||
* execute: ctx => {
|
||||
* ctx.reply("nice!")
|
||||
* }
|
||||
* })
|
||||
* ```
|
||||
*/
|
||||
import { CommandControlPlugin, CommandType, controller } from "@sern/handler";
|
||||
import type { ModalSubmitInteraction } from "discord.js";
|
||||
|
||||
type Assertion =
|
||||
| RegExp
|
||||
| ((value : string) => boolean);
|
||||
|
||||
export function assertFields(config: {
|
||||
fields: Record<string, Assertion>,
|
||||
failure: (errors: string[], interaction: ModalSubmitInteraction) => any
|
||||
}) {
|
||||
return CommandControlPlugin<CommandType.Modal>(modal => {
|
||||
const pairs = Object.entries(config.fields);
|
||||
const errors = [];
|
||||
for(const [ field, assertion ] of pairs) {
|
||||
// Keep in mind this doesn't check for typos!
|
||||
// feel free to add more checks.
|
||||
const input = modal.fields.getTextInputValue(field)
|
||||
const resolvedAssertion = assertion instanceof RegExp ? (value: string) => assertion.test(value) : assertion;
|
||||
if(!resolvedAssertion(input)) {
|
||||
errors.push(input + " failed to pass assertion " + resolvedAssertion.toString() )
|
||||
}
|
||||
}
|
||||
if(errors.length > 0) {
|
||||
config.failure(errors, modal);
|
||||
return controller.stop();
|
||||
}
|
||||
return controller.next();
|
||||
})
|
||||
}
|
||||
39
bot/src/plugins/channelType.ts
Normal file
39
bot/src/plugins/channelType.ts
Normal file
@@ -0,0 +1,39 @@
|
||||
/**
|
||||
* This plugin checks if a channel is the specified type
|
||||
*
|
||||
* @author @Benzo-Fury [<@762918086349029386>]
|
||||
* @version 1.0.0
|
||||
* @example
|
||||
* ```ts
|
||||
* import { channelType } from "../plugins/channelType";
|
||||
* import { ChannelType } from "discord.js"
|
||||
* import { commandModule } from "@sern/handler";
|
||||
* export default commandModule({
|
||||
* plugins: [ channelType([ChannelType.GuildText], 'This cannot be used here') ],
|
||||
* execute: (ctx) => {
|
||||
* //your code here
|
||||
* }
|
||||
* })
|
||||
* ```
|
||||
*/
|
||||
import { ChannelType } from "discord.js";
|
||||
import {CommandControlPlugin, CommandType, controller } from "@sern/handler";
|
||||
export function channelType(
|
||||
channelType: ChannelType[],
|
||||
onFail?: string
|
||||
){
|
||||
return CommandControlPlugin<CommandType.Both>(async (ctx) => {
|
||||
let channel = ctx.channel?.type;
|
||||
//for some reason the dm channel type was returning undefined at some points
|
||||
if (channel === undefined) {
|
||||
channel = ChannelType.DM;
|
||||
}
|
||||
if (channelType.includes(channel)) {
|
||||
return controller.next();
|
||||
}
|
||||
if (onFail) {
|
||||
await ctx.reply(onFail);
|
||||
}
|
||||
return controller.stop();
|
||||
})
|
||||
}
|
||||
106
bot/src/plugins/confirmation.ts
Normal file
106
bot/src/plugins/confirmation.ts
Normal file
@@ -0,0 +1,106 @@
|
||||
/**
|
||||
* This is buttonConfirmation plugin, it runs confirmation prompt in the form of buttons.
|
||||
* Note that you need to use edit/editReply in the command itself because we are already replying in the plugin!
|
||||
* Credits to original plugin of confirmation using reactions and its author!
|
||||
*
|
||||
* @author @EvolutionX-10 [<@697795666373640213>]
|
||||
* @version 1.0.0
|
||||
* @example
|
||||
* ```ts
|
||||
* import { buttonConfirmation } from "../plugins/buttonConfirmation";
|
||||
* import { commandModule } from "@sern/handler";
|
||||
* export default commandModule({
|
||||
* plugins: [ buttonConfirmation() ],
|
||||
* execute: (ctx) => {
|
||||
* //your code here
|
||||
* }
|
||||
* })
|
||||
* ```
|
||||
*/
|
||||
|
||||
import {CommandControlPlugin, CommandType, controller} from "@sern/handler";
|
||||
import {
|
||||
ActionRowBuilder,
|
||||
ButtonBuilder,
|
||||
ButtonStyle,
|
||||
ComponentType,
|
||||
} from "discord.js";
|
||||
|
||||
export function confirmation(
|
||||
options?: Partial<ConfirmationOptions>
|
||||
) {
|
||||
return CommandControlPlugin<CommandType.Both>(async (ctx, args) => {
|
||||
options = {
|
||||
content: "Do you want to proceed?",
|
||||
denialMessage: "Cancelled",
|
||||
labels: ["No", "Yes"],
|
||||
time: 60_000,
|
||||
wrongUserResponse: "Not for you!",
|
||||
...options,
|
||||
};
|
||||
|
||||
const buttons = options.labels!.map((l, i) => {
|
||||
return new ButtonBuilder()
|
||||
.setCustomId(l)
|
||||
.setLabel(l)
|
||||
.setStyle( i === 0 ? ButtonStyle.Danger : ButtonStyle.Success
|
||||
);
|
||||
});
|
||||
const sent = await ctx.reply({
|
||||
content: options.content,
|
||||
components: [
|
||||
new ActionRowBuilder<ButtonBuilder>().setComponents(
|
||||
buttons
|
||||
),
|
||||
],
|
||||
});
|
||||
|
||||
const collector = sent.createMessageComponentCollector({
|
||||
componentType: ComponentType.Button,
|
||||
filter: (i) => i.user.id === ctx.user.id,
|
||||
time: options.time,
|
||||
});
|
||||
|
||||
return new Promise((resolve) => {
|
||||
collector.on("collect", async (i) => {
|
||||
await i.update({ components: [] });
|
||||
collector.stop();
|
||||
if (i.customId === options!.labels![1]) {
|
||||
resolve(controller.next());
|
||||
return;
|
||||
}
|
||||
await i.editReply({
|
||||
content: options?.denialMessage,
|
||||
});
|
||||
resolve(controller.stop());
|
||||
});
|
||||
|
||||
collector.on("end", async (c) => {
|
||||
if (c.size) return;
|
||||
buttons.forEach((b) => b.setDisabled());
|
||||
await sent.edit({
|
||||
components: [
|
||||
new ActionRowBuilder<ButtonBuilder>().setComponents(
|
||||
buttons
|
||||
),
|
||||
],
|
||||
});
|
||||
});
|
||||
|
||||
collector.on("ignore", async (i) => {
|
||||
await i.reply({
|
||||
content: options?.wrongUserResponse,
|
||||
ephemeral: true,
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
interface ConfirmationOptions {
|
||||
content: string;
|
||||
denialMessage: string;
|
||||
time: number;
|
||||
labels: [string, string];
|
||||
wrongUserResponse: string;
|
||||
}
|
||||
6
bot/src/plugins/correctFile.ts
Normal file
6
bot/src/plugins/correctFile.ts
Normal file
@@ -0,0 +1,6 @@
|
||||
import {CommandInitPlugin, controller} from "@sern/handler";
|
||||
|
||||
|
||||
export const correctFile = CommandInitPlugin(() => {
|
||||
return controller.stop()
|
||||
})
|
||||
38
bot/src/plugins/disable.ts
Normal file
38
bot/src/plugins/disable.ts
Normal file
@@ -0,0 +1,38 @@
|
||||
// @ts-nocheck
|
||||
/**
|
||||
* Disables a command entirely, for whatever reasons you may need.
|
||||
*
|
||||
* @author @jacoobes [<@182326315813306368>]
|
||||
* @version 1.0.0
|
||||
* @example
|
||||
* ```ts
|
||||
* import { disable } from "../plugins/disable";
|
||||
* import { commandModule } from "@sern/handler";
|
||||
* export default commandModule({
|
||||
* plugins: [ disable() ],
|
||||
* execute: (ctx) => {
|
||||
* //your code here
|
||||
* }
|
||||
* })
|
||||
* ```
|
||||
*/
|
||||
import { CommandType, EventPlugin, PluginType } from "@sern/handler";
|
||||
import { InteractionReplyOptions, ReplyMessageOptions } from "discord.js";
|
||||
|
||||
export function disable(
|
||||
onFail?:
|
||||
| string
|
||||
| Omit<InteractionReplyOptions, "fetchReply">
|
||||
| ReplyMessageOptions
|
||||
): EventPlugin<CommandType.Both> {
|
||||
return {
|
||||
type: PluginType.Event,
|
||||
description: "Disables command from responding",
|
||||
async execute([ctx], controller) {
|
||||
if (onFail !== undefined) {
|
||||
await ctx.reply(onFail);
|
||||
}
|
||||
return controller.stop();
|
||||
},
|
||||
};
|
||||
}
|
||||
29
bot/src/plugins/dmOnly.ts
Normal file
29
bot/src/plugins/dmOnly.ts
Normal file
@@ -0,0 +1,29 @@
|
||||
/**
|
||||
* This is dmOnly plugin, it allows commands to be run only in DMs.
|
||||
* For discord.js you should have the Partials.Channel and DirectMessages intent enabled.
|
||||
* @author @EvolutionX-10 [<@697795666373640213>]
|
||||
* @version 1.0.0
|
||||
* @example
|
||||
* ```ts
|
||||
* import { dmOnly } from "../plugins/dmOnly";
|
||||
* import { commandModule } from "@sern/handler";
|
||||
* export default commandModule({
|
||||
* plugins: [dmOnly()],
|
||||
* execute: (ctx) => {
|
||||
* //your code here
|
||||
* }
|
||||
* })
|
||||
* ```
|
||||
*/
|
||||
import {CommandControlPlugin, CommandType, controller } from "@sern/handler";
|
||||
export function dmOnly(
|
||||
content?: string,
|
||||
ephemeral?: boolean
|
||||
) {
|
||||
return CommandControlPlugin<CommandType.Both>(async (ctx, _) => {
|
||||
if (ctx.channel?.isDMBased()) return controller.next();
|
||||
|
||||
if (content) await ctx.reply({ content, ephemeral }); // Change this if you want or remove it for silent deny
|
||||
return controller.stop();
|
||||
})
|
||||
}
|
||||
637
bot/src/plugins/filter.ts
Normal file
637
bot/src/plugins/filter.ts
Normal file
@@ -0,0 +1,637 @@
|
||||
import {
|
||||
CommandControlPlugin,
|
||||
type CommandType,
|
||||
type Context,
|
||||
controller,
|
||||
} from "@sern/handler";
|
||||
import {
|
||||
GuildMember,
|
||||
GuildMemberRoleManager,
|
||||
PermissionResolvable,
|
||||
PermissionsBitField,
|
||||
User,
|
||||
} from "discord.js";
|
||||
|
||||
|
||||
export type Test = (context: Context) => boolean;
|
||||
|
||||
export class Criteria {
|
||||
public constructor(
|
||||
public readonly name: string,
|
||||
public readonly execute: Test,
|
||||
public readonly children: Array<Criteria>
|
||||
) {}
|
||||
toString() {
|
||||
return this.name + ' ' + this.children.map(c => c.name).join(', ')
|
||||
}
|
||||
}
|
||||
|
||||
export const or = (...filters: Array<FilterImpl>): FilterImpl => {
|
||||
function execute(context: Context): boolean {
|
||||
let pass = false;
|
||||
tests: for (const filter of filters) {
|
||||
if (filter.test(context)) {
|
||||
pass = true;
|
||||
break tests;
|
||||
}
|
||||
}
|
||||
|
||||
return pass;
|
||||
}
|
||||
|
||||
const children: Array<Criteria> = filters.map((x) => x.criteria);
|
||||
|
||||
return new FilterImpl(
|
||||
new Criteria("or", execute, children),
|
||||
`or(${filters.map((x) => x.message).join(", ")})`
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
export const and = (...filters: Array<FilterImpl>): FilterImpl => {
|
||||
function execute(context: Context): boolean {
|
||||
for (const filter of filters) {
|
||||
if (!filter.test(context)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
const children: Array<Criteria> = filters.map((x) => x.criteria);
|
||||
|
||||
return new FilterImpl(
|
||||
new Criteria("and", execute, children),
|
||||
`and(${filters.map((x) => x.message).join(", ")})`
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
|
||||
export const not = (filter: FilterImpl): FilterImpl => {
|
||||
function execute(context: Context): boolean {
|
||||
return !filter.test(context);
|
||||
}
|
||||
|
||||
return new FilterImpl(
|
||||
new Criteria("not", execute, [filter.criteria]),
|
||||
`not(${filter.criteria})`
|
||||
);
|
||||
}
|
||||
export const custom =(execute: Test, message?: string): FilterImpl => {
|
||||
return new FilterImpl(new Criteria("custom", execute, []), message);
|
||||
}
|
||||
|
||||
export const withCustomMessage = (
|
||||
filter: FilterImpl,
|
||||
message?: string
|
||||
): FilterImpl => {
|
||||
return new FilterImpl(filter.criteria, message);
|
||||
}
|
||||
|
||||
export const hasGuildPermission = (
|
||||
permission: PermissionResolvable
|
||||
): FilterImpl => {
|
||||
const b = PermissionsBitField.resolve(permission);
|
||||
const field = Object.entries(PermissionsBitField.Flags).find(
|
||||
([, v]) => v === b
|
||||
);
|
||||
|
||||
if (field === undefined) {
|
||||
throw new Error(
|
||||
`unknown permission \`${permission}\` in filter \`hasGuildPermission\``
|
||||
);
|
||||
}
|
||||
|
||||
const [name] = field;
|
||||
|
||||
function execute(context: Context): boolean {
|
||||
if (context.member !== null) {
|
||||
if (typeof context.member.permissions === "string") {
|
||||
return new PermissionsBitField(BigInt(context.member.permissions)).has(b);
|
||||
}
|
||||
return context.member.permissions.has(b);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
return new FilterImpl(
|
||||
new Criteria("hasGuildPermission", execute, []),
|
||||
`has guild permission: ${name}`
|
||||
);
|
||||
}
|
||||
export const hasChannelPermission = (
|
||||
permission: PermissionResolvable,
|
||||
channelId?: string
|
||||
): FilterImpl => {
|
||||
const b = PermissionsBitField.resolve(permission);
|
||||
const field = Object.entries(PermissionsBitField.Flags).find(
|
||||
([, v]) => v === b
|
||||
);
|
||||
|
||||
if (field === undefined) {
|
||||
throw new Error(
|
||||
`unknown permission \`${permission}\` in filter \`hasChannelPermission\``
|
||||
);
|
||||
}
|
||||
|
||||
const [name] = field;
|
||||
|
||||
function execute(context: Context): boolean {
|
||||
if (context.member !== null) {
|
||||
const channel =
|
||||
channelId !== undefined
|
||||
? context.guild?.channels.cache.get(channelId)
|
||||
: context.channel;
|
||||
|
||||
// ?
|
||||
if (channel == undefined || channel === null) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (channel.isDMBased()) {
|
||||
return true;
|
||||
}
|
||||
|
||||
const field2 = channel.permissionsFor(context.user);
|
||||
|
||||
// assume we have no permission overrides
|
||||
if (field2 === null) {
|
||||
if (context.member !== null) {
|
||||
if (typeof context.member.permissions === "string") {
|
||||
return new PermissionsBitField(
|
||||
BigInt(context.member.permissions)
|
||||
).has(b);
|
||||
}
|
||||
|
||||
return context.member.permissions.has(b);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
return field2.has(b);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
return new FilterImpl(
|
||||
new Criteria("hasChannelPermission", execute, []),
|
||||
channelId !== undefined
|
||||
? `has channel permission ${name} in <#${channelId}>`
|
||||
: `has channel permission ${name}`
|
||||
);
|
||||
}
|
||||
|
||||
export const canAddReactions =(channelId?: string): FilterImpl => {
|
||||
return hasChannelPermission("AddReactions", channelId);
|
||||
}
|
||||
|
||||
export const canAttachFiles =(channelId?: string): FilterImpl => {
|
||||
return hasChannelPermission("AttachFiles", channelId);
|
||||
}
|
||||
|
||||
export const canBanMembers = (): FilterImpl => {
|
||||
return hasGuildPermission("BanMembers");
|
||||
}
|
||||
|
||||
export const canChangeNickname = (): FilterImpl => {
|
||||
return hasGuildPermission("ChangeNickname");
|
||||
}
|
||||
|
||||
export const canConnect = (channelId?: string): FilterImpl => {
|
||||
return hasChannelPermission("Connect", channelId);
|
||||
}
|
||||
|
||||
export const canCreateInstantInvite =(channelId?: string): FilterImpl => {
|
||||
return hasChannelPermission("CreateInstantInvite", channelId);
|
||||
}
|
||||
|
||||
export const canDeafenMembers =(channelId?: string): FilterImpl => {
|
||||
return hasChannelPermission("DeafenMembers", channelId);
|
||||
}
|
||||
|
||||
export const canEmbedLinks =(channelId?: string): FilterImpl => {
|
||||
return hasChannelPermission("EmbedLinks", channelId);
|
||||
}
|
||||
|
||||
export const canKickMembers =(): FilterImpl => {
|
||||
return hasGuildPermission("KickMembers");
|
||||
}
|
||||
|
||||
export const canManageChannelWebhooks =(channelId?: string): FilterImpl => {
|
||||
return hasChannelPermission("ManageWebhooks", channelId);
|
||||
}
|
||||
|
||||
export const canManageChannels =(channelId?: string): FilterImpl => {
|
||||
return hasChannelPermission("ManageChannels", channelId);
|
||||
}
|
||||
|
||||
export const canManageEmojisAndStickers =(): FilterImpl => {
|
||||
return hasGuildPermission("ManageEmojisAndStickers");
|
||||
}
|
||||
|
||||
export const canManageGuild =(): FilterImpl => {
|
||||
return hasGuildPermission("ManageGuild");
|
||||
}
|
||||
|
||||
export const canManageGuildWebhooks =(): FilterImpl => {
|
||||
return hasGuildPermission("ManageWebhooks");
|
||||
}
|
||||
|
||||
export const canManageMessages =(channelId?: string): FilterImpl => {
|
||||
return hasChannelPermission("ManageMessages", channelId);
|
||||
}
|
||||
|
||||
export const canManageNicknames = (): FilterImpl => {
|
||||
return hasGuildPermission("ManageNicknames");
|
||||
}
|
||||
|
||||
export const canManageRoles = (): FilterImpl => {
|
||||
return hasGuildPermission("ManageRoles");
|
||||
}
|
||||
|
||||
export const canMentionEveryone = (channelId?: string): FilterImpl => {
|
||||
return hasChannelPermission("MentionEveryone", channelId);
|
||||
}
|
||||
|
||||
export const canMoveMembers = (channelId?: string): FilterImpl => {
|
||||
return hasChannelPermission("MoveMembers", channelId);
|
||||
}
|
||||
|
||||
export const canMuteMembers = (channelId?: string): FilterImpl => {
|
||||
return hasChannelPermission("MuteMembers", channelId);
|
||||
}
|
||||
|
||||
export const canPrioritySpeaker = (channelId?: string): FilterImpl => {
|
||||
return hasChannelPermission("PrioritySpeaker", channelId);
|
||||
}
|
||||
|
||||
export const canReadMessageHistory = (channelId?: string): FilterImpl => {
|
||||
return hasChannelPermission("ReadMessageHistory", channelId);
|
||||
}
|
||||
|
||||
export const canViewChannel = (channelId: string): FilterImpl => {
|
||||
return hasChannelPermission("ViewChannel", channelId);
|
||||
}
|
||||
|
||||
export const canSendMessages = (channelId: string): FilterImpl => {
|
||||
return hasChannelPermission("SendMessages", channelId);
|
||||
}
|
||||
|
||||
export const canSendTtsMessages = (channelId?: string): FilterImpl => {
|
||||
return hasChannelPermission("SendTTSMessages", channelId);
|
||||
}
|
||||
|
||||
export const canSpeak = (channelId?: string): FilterImpl => {
|
||||
return hasChannelPermission("Speak", channelId);
|
||||
}
|
||||
|
||||
export const canStream = (channelId?: string): FilterImpl => {
|
||||
return hasChannelPermission("Stream", channelId);
|
||||
}
|
||||
|
||||
export const canUseExternalEmojis = (channelId?: string): FilterImpl => {
|
||||
return hasChannelPermission("UseExternalEmojis", channelId);
|
||||
}
|
||||
|
||||
export const canUseVoiceActivity = (channelId?: string): FilterImpl => {
|
||||
return hasChannelPermission("UseVAD", channelId);
|
||||
}
|
||||
|
||||
export const canViewAuditLog = (): FilterImpl => {
|
||||
return hasGuildPermission("ViewAuditLog");
|
||||
}
|
||||
|
||||
export const canViewGuildInsights = (): FilterImpl => {
|
||||
return hasGuildPermission("ViewGuildInsights");
|
||||
}
|
||||
|
||||
export const channelIdIn = (channelIds: Array<string>): FilterImpl => {
|
||||
function execute(context: Context): boolean {
|
||||
return channelIds.includes(
|
||||
context.isMessage()
|
||||
? context.message.channelId
|
||||
: context.interaction.channelId
|
||||
);
|
||||
}
|
||||
|
||||
return new FilterImpl(
|
||||
new Criteria("channelIdIn", execute, []),
|
||||
`channel is one of: ${channelIds.map((v) => `<#${v}>`).join(", ")}`
|
||||
);
|
||||
}
|
||||
|
||||
export const hasEveryRole = (roles: Array<string>): FilterImpl => {
|
||||
return withCustomMessage(
|
||||
and(...roles.map((v) => hasRole(v))),
|
||||
`has all of: ${roles.map((v) => `<@&${v}>`).join(", ")}`
|
||||
);
|
||||
}
|
||||
|
||||
export const hasMentionableRole = (): FilterImpl => {
|
||||
function execute(context: Context): boolean {
|
||||
if (context.member !== null) {
|
||||
if (context.member.roles instanceof GuildMemberRoleManager) {
|
||||
return (
|
||||
context.member.roles.cache.filter((x) => x.mentionable === true)
|
||||
.size > 0
|
||||
);
|
||||
}
|
||||
|
||||
if (context.guild === null) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return context.member.roles
|
||||
.map((roleId) => context.guild!.roles.cache.get(roleId))
|
||||
.filter((x) => x !== undefined)
|
||||
.some((x) => x!.mentionable);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
return new FilterImpl(
|
||||
new Criteria("hasMentionableRole", execute, []),
|
||||
"has a mentionable role"
|
||||
);
|
||||
}
|
||||
|
||||
export const hasNickname = (nickname?: string): FilterImpl => {
|
||||
function execute(context: Context): boolean {
|
||||
if (context.member !== null) {
|
||||
if (context.member instanceof GuildMember) {
|
||||
if (nickname !== null) {
|
||||
return context.member.nickname === nickname;
|
||||
}
|
||||
|
||||
return context.member.nickname !== null;
|
||||
}
|
||||
|
||||
if (nickname !== null) {
|
||||
return context.member.nick === nickname;
|
||||
}
|
||||
|
||||
return (
|
||||
context.member.nick !== null && context.member.nick !== undefined
|
||||
);
|
||||
}
|
||||
|
||||
// dm members can technically have nicknames but they're per-user, so this should never be true.
|
||||
return false;
|
||||
}
|
||||
return new FilterImpl(new Criteria("hasNickname", execute, []), "has a nickname");
|
||||
}
|
||||
|
||||
export const hasParentId = (parentId: string): FilterImpl => {
|
||||
function execute(context: Context): boolean {
|
||||
if (context.channel !== null) {
|
||||
if (context.channel.isDMBased()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return context.channel.parentId === parentId;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
return new FilterImpl(
|
||||
new Criteria("hasParentId", execute, []),
|
||||
`has channel parent <#${parentId}>`
|
||||
);
|
||||
}
|
||||
|
||||
export const hasRole = (roleId: string): FilterImpl => {
|
||||
function execute(context: Context): boolean {
|
||||
if (context.member !== null) {
|
||||
if (context.member.roles instanceof GuildMemberRoleManager) {
|
||||
return context.member.roles.cache.has(roleId);
|
||||
}
|
||||
|
||||
if (context.guild === null) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return context.member.roles.includes(roleId);
|
||||
}
|
||||
|
||||
// assume dm members have every role ever.
|
||||
return true;
|
||||
}
|
||||
|
||||
return new FilterImpl(
|
||||
new Criteria("hasRole", execute, []),
|
||||
`has role <@&${roleId}>`
|
||||
);
|
||||
}
|
||||
|
||||
export const hasSomeRole = (roles: Array<string>): FilterImpl => {
|
||||
return withCustomMessage(
|
||||
or(...roles.map((role) => hasRole(role))),
|
||||
`has any of: ${roles.map((v) => `<@&${v}>`).join(", ")}`
|
||||
);
|
||||
}
|
||||
|
||||
export const isAdministator = (): FilterImpl => {
|
||||
return hasGuildPermission("Administrator");
|
||||
}
|
||||
|
||||
export const isChannelId = (channelId: string): FilterImpl => {
|
||||
function execute(context: Context): boolean {
|
||||
if (context.isMessage()) {
|
||||
return context.message.channelId === channelId;
|
||||
}
|
||||
|
||||
return context.interaction.channelId === channelId;
|
||||
}
|
||||
|
||||
return new FilterImpl(
|
||||
new Criteria("isChannelId", execute, []),
|
||||
`is channel <#${channelId}>`
|
||||
);
|
||||
}
|
||||
|
||||
export const isChannelNsfw = (): FilterImpl => {
|
||||
function execute(context: Context): boolean {
|
||||
if (context.channel !== null) {
|
||||
if (context.channel.isDMBased() || context.channel.isThread()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return context.channel.nsfw;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
return new FilterImpl(
|
||||
new Criteria("isChannelNsfw", execute, []),
|
||||
"channel marked as nsfw"
|
||||
);
|
||||
}
|
||||
|
||||
export const isGuildOwner = (): FilterImpl => {
|
||||
function execute(context: Context): boolean {
|
||||
if (context.guild !== null) {
|
||||
return context.guild.ownerId === context.user.id;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
return new FilterImpl(
|
||||
new Criteria("isGuildOwner", execute, []),
|
||||
"is guild owner"
|
||||
);
|
||||
}
|
||||
|
||||
export const isBotOwner = (): FilterImpl => {
|
||||
function execute(context: Context): boolean {
|
||||
if (context.client.application !== null) {
|
||||
if (context.client.application.owner !== null) {
|
||||
if (context.client.application.owner instanceof User) {
|
||||
return context.user.id === context.client.application.owner.id;
|
||||
}
|
||||
|
||||
return context.client.application.owner.members.has(context.user.id);
|
||||
}
|
||||
}
|
||||
|
||||
// nope
|
||||
return false;
|
||||
}
|
||||
return new FilterImpl(new Criteria("isBotOwner", execute, []), "is bot owner");
|
||||
}
|
||||
|
||||
export const isUserId = (userId: string): FilterImpl => {
|
||||
function execute(context: Context): boolean {
|
||||
return context.user.id === userId;
|
||||
}
|
||||
return new FilterImpl(
|
||||
new Criteria("isUserId", execute, []),
|
||||
`is user: <@${userId}>`
|
||||
);
|
||||
}
|
||||
|
||||
export const parentIdIn = (parentIds: Array<string>): FilterImpl => {
|
||||
return withCustomMessage(
|
||||
or(...parentIds.map((v) => hasParentId(v))),
|
||||
`channel parent is one of: ${parentIds.map((v) => `<#${v}>`).join(", ")}`
|
||||
);
|
||||
}
|
||||
|
||||
export const userIdIn = (userIds: Array<string>): FilterImpl => {
|
||||
return withCustomMessage(
|
||||
or(...userIds.map((v) => isUserId(v))),
|
||||
`user is one of: ${userIds.map((v) => `<@${v}>`).join(", ")}`
|
||||
);
|
||||
}
|
||||
|
||||
export const isInGuild = (): FilterImpl => {
|
||||
function execute(context: Context): boolean {
|
||||
return context.guildId !== null;
|
||||
}
|
||||
|
||||
return new FilterImpl(new Criteria("isInGuild", execute, []), "is in guild");
|
||||
}
|
||||
|
||||
export const isInDm = (): FilterImpl => {
|
||||
const notInGuild = compose(not, isInGuild);
|
||||
return withCustomMessage(notInGuild(), "is in dm");
|
||||
}
|
||||
|
||||
export const never = (): FilterImpl => {
|
||||
function execute(context: Context): boolean {
|
||||
void context;
|
||||
return false;
|
||||
}
|
||||
return new FilterImpl(new Criteria("never", execute, []), "never");
|
||||
}
|
||||
|
||||
export const always = (): FilterImpl => {
|
||||
function execute(context: Context): boolean {
|
||||
void context;
|
||||
return true;
|
||||
}
|
||||
return new FilterImpl(new Criteria("always", execute, []), "always");
|
||||
}
|
||||
type CtxMap<T> = (arg: T) => FilterImpl;
|
||||
|
||||
/**
|
||||
* Call FilterImpls in right to left order.
|
||||
* @example
|
||||
* import { compose, isUserId, not } from '../plugins/filter'
|
||||
* const isNotUserId = compose(not, isUserId)
|
||||
*
|
||||
*/
|
||||
export const compose = <T = void>(...funcs: CtxMap<any>[]): CtxMap<T> => {
|
||||
return (arg: T): FilterImpl =>
|
||||
//@ts-ignore
|
||||
funcs.reduceRight((result, func) => func(result), arg);
|
||||
}
|
||||
|
||||
|
||||
export class FilterImpl {
|
||||
public readonly test: Test;
|
||||
|
||||
public constructor(
|
||||
public readonly criteria: Criteria,
|
||||
public message?: string
|
||||
) {
|
||||
this.test = this.criteria.execute;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
export type FilterOptions = {
|
||||
condition: Array<FilterImpl> | FilterImpl,
|
||||
onFailed?: (context: Context, filters: Array<FilterImpl>) => unknown
|
||||
};
|
||||
/**
|
||||
* Generalized `filter` plugin. revised by jacoobes, all credit to original author.
|
||||
* Perform declarative conditionals as plugins.
|
||||
* @author @trueharuu [<@504698587221852172>]
|
||||
* @version 2.0.0
|
||||
* @example
|
||||
* import { filter, not, isGuildOwner, canMentionEveryone } from '../plugins/filter';
|
||||
* import { commandModule } from '@sern/handler';
|
||||
*
|
||||
* export default commandModule({
|
||||
* plugins: filter({ condition: [not(isGuildOwner()), canMentionEveryone()] }),
|
||||
* async execute(context) {
|
||||
* // your code here
|
||||
* }
|
||||
* });
|
||||
*/
|
||||
|
||||
export const filter =
|
||||
(options: FilterOptions) => {
|
||||
return CommandControlPlugin<CommandType.Both>(async (context) => {
|
||||
const arrayifiedCondition = Array.isArray(options.condition) ? options.condition : [options.condition]
|
||||
const value = and(...arrayifiedCondition).test(context);
|
||||
|
||||
if (value) {
|
||||
return controller.next();
|
||||
}
|
||||
|
||||
if (options.onFailed !== undefined) {
|
||||
await options.onFailed(context, arrayifiedCondition);
|
||||
} else {
|
||||
await context.reply({
|
||||
ephemeral: true,
|
||||
content: `you do not match the criteria for this command:\n${arrayifiedCondition
|
||||
.map((x) => x.message)
|
||||
.filter((x) => x !== undefined)
|
||||
.join("\n")}`,
|
||||
allowedMentions: {
|
||||
repliedUser: false,
|
||||
parse: [],
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
return controller.stop();
|
||||
});
|
||||
};
|
||||
40
bot/src/plugins/filterA.ts
Normal file
40
bot/src/plugins/filterA.ts
Normal file
@@ -0,0 +1,40 @@
|
||||
import { PluginType, makePlugin, controller, ControlPlugin } from "@sern/handler";
|
||||
import type { AutocompleteInteraction } from 'discord.js'
|
||||
|
||||
/**
|
||||
* @plugin
|
||||
* filters autocomplete interaction that pass the criteria
|
||||
* @author @jacoobes [<@182326315813306368>]
|
||||
* @version 1.0.0
|
||||
* @example
|
||||
* ```ts
|
||||
* import { CommandType, commandModule } from "@sern/handler";
|
||||
* import { filterA } from '../plugins/filterA.js'
|
||||
* export default commandModule({
|
||||
* type : CommandType.Slash,
|
||||
* options: [
|
||||
* {
|
||||
* autocomplete: true,
|
||||
* command : {
|
||||
* //only accept autocomplete interactions that include 'poo' in the text
|
||||
* onEvent: [filterA(s => s.includes('poo'))],
|
||||
* execute: (autocomplete) => {
|
||||
* let data = [{ name: 'pooba', value: 'first' }, { name: 'pooga', value: 'second' }]
|
||||
* autocomplete.respond(data)
|
||||
* }
|
||||
* }
|
||||
* }
|
||||
* ],
|
||||
* execute: (ctx, args) => {}
|
||||
* })
|
||||
* @end
|
||||
*/
|
||||
|
||||
export const filterA = (pred: (value: string) => boolean) => {
|
||||
return makePlugin(PluginType.Control, (a: AutocompleteInteraction) => {
|
||||
if(pred(a.options.getFocused())) {
|
||||
return controller.next();
|
||||
}
|
||||
return controller.stop();
|
||||
}) as ControlPlugin;
|
||||
}
|
||||
36
bot/src/plugins/fromCallback.ts
Normal file
36
bot/src/plugins/fromCallback.ts
Normal file
@@ -0,0 +1,36 @@
|
||||
//@ts-nocheck
|
||||
/**
|
||||
* @plugin
|
||||
* fromCallback turns a callback into a plugin result.
|
||||
* if the callback returns truthy value, plugin continues.
|
||||
* This control plugin works for every command type. The arguments of the callback
|
||||
* mirror the execute method on the current module.
|
||||
* @author @jacoobes [<@182326315813306368>]
|
||||
* @version 1.0.0
|
||||
* @example
|
||||
* ```ts
|
||||
* const myServer = "941002690211766332";
|
||||
* export default commandModule({
|
||||
* type: CommandType.Both,
|
||||
* plugins: [
|
||||
* fromCallback((ctx, args) => ctx.guildId == myServer)
|
||||
* ],
|
||||
* execute: ctx => {
|
||||
* ctx.reply("I only respond in myServer!");
|
||||
* }
|
||||
* })
|
||||
* ```
|
||||
* @end
|
||||
*/
|
||||
|
||||
|
||||
import { PluginType, makePlugin, controller } from "@sern/handler";
|
||||
|
||||
export const fromCallback = (cb: (...args: any[]) => boolean) =>
|
||||
makePlugin(PluginType.Control, (...args) => {
|
||||
console.log(args)
|
||||
if(cb.apply(null, args)) {
|
||||
return controller.next();
|
||||
}
|
||||
return controller.stop();
|
||||
});
|
||||
5
bot/src/plugins/json-params.ts
Normal file
5
bot/src/plugins/json-params.ts
Normal file
@@ -0,0 +1,5 @@
|
||||
import { CommandControlPlugin, CommandType, controller } from "@sern/handler";
|
||||
|
||||
export const json = CommandControlPlugin<CommandType.Button>((ctx, args) => {
|
||||
return controller.next({ 'json/data': JSON.parse(args.params!) });
|
||||
})
|
||||
48
bot/src/plugins/nsfwOnly.ts
Normal file
48
bot/src/plugins/nsfwOnly.ts
Normal file
@@ -0,0 +1,48 @@
|
||||
/**
|
||||
* This plugin checks if the channel is nsfw and responds to user with a specified response if not nsfw
|
||||
*
|
||||
* @author @Benzo-Fury [<@762918086349029386>]
|
||||
* @version 1.0.0
|
||||
* @example
|
||||
* ```ts
|
||||
* import { nsfwOnly } from "../plugins/nsfwOnly";
|
||||
* import { commandModule } from "@sern/handler";
|
||||
* export default commandModule({
|
||||
* plugins: [ nsfwOnly('response', true) ],
|
||||
* execute: (ctx) => {
|
||||
* //your code here
|
||||
* }
|
||||
* })
|
||||
* ```
|
||||
*/
|
||||
import {
|
||||
ChannelType,
|
||||
GuildTextBasedChannel,
|
||||
TextBasedChannel,
|
||||
TextChannel,
|
||||
} from "discord.js";
|
||||
import {CommandControlPlugin, CommandType, controller } from "@sern/handler";
|
||||
function isGuildText(channel: TextBasedChannel|null): channel is GuildTextBasedChannel {
|
||||
return (channel?.type == ChannelType.GuildPublicThread ||
|
||||
channel?.type == ChannelType.GuildPrivateThread);
|
||||
}
|
||||
export function nsfwOnly(onFail: string, ephemeral: boolean) {
|
||||
return CommandControlPlugin<CommandType.Both>(async (ctx, _) => {
|
||||
if (ctx.guild === null) {
|
||||
await ctx.reply({ content: onFail, ephemeral });
|
||||
return controller.stop();
|
||||
}
|
||||
//channel is thread (not supported by nsfw)
|
||||
if (isGuildText(ctx.channel) == true) {
|
||||
await ctx.reply({ content: onFail, ephemeral });
|
||||
return controller.stop();
|
||||
}
|
||||
if (!(ctx.channel! as TextChannel).nsfw) {
|
||||
//channel is not nsfw
|
||||
await ctx.reply({ content: onFail, ephemeral });
|
||||
return controller.stop();
|
||||
}
|
||||
//continues to command if nsfw
|
||||
return controller.next();
|
||||
});
|
||||
}
|
||||
30
bot/src/plugins/ownerOnly.ts
Normal file
30
bot/src/plugins/ownerOnly.ts
Normal file
@@ -0,0 +1,30 @@
|
||||
// @ts-nocheck
|
||||
/**
|
||||
* This is OwnerOnly plugin, it allows only bot owners to run the command, like eval.
|
||||
*
|
||||
* @author @EvolutionX-10 [<@697795666373640213>]
|
||||
* @version 1.2.0
|
||||
* @example
|
||||
* ```ts
|
||||
* import { ownerOnly } from "../plugins/ownerOnly";
|
||||
* import { commandModule } from "@sern/handler";
|
||||
* export default commandModule({
|
||||
* plugins: [ ownerOnly() ], // can also pass array of IDs to override default owner IDs
|
||||
* execute: (ctx) => {
|
||||
* //your code here
|
||||
* }
|
||||
* })
|
||||
* ```
|
||||
*/
|
||||
|
||||
import { CommandType, CommandControlPlugin, controller } from "@sern/handler";
|
||||
const ownerIDs = ["182326315813306368"]; //! Fill your ID
|
||||
export function ownerOnly(override?: string[]) {
|
||||
return CommandControlPlugin<CommandType.Both>((ctx) => {
|
||||
if ((override ?? ownerIDs).includes(ctx.user.id))
|
||||
return controller.next();
|
||||
//* If you want to reply when the command fails due to user not being owner, you can use following
|
||||
// await ctx.reply("Only owner can run it!!!");
|
||||
return controller.stop(); //! Important: It stops the execution of command!
|
||||
});
|
||||
}
|
||||
39
bot/src/plugins/permCheck.ts
Normal file
39
bot/src/plugins/permCheck.ts
Normal file
@@ -0,0 +1,39 @@
|
||||
// @ts-nocheck
|
||||
/**
|
||||
* @plugin
|
||||
* This is perm check, it allows users to parse the permission you want and let the plugin do the rest. (check user for that perm).
|
||||
*
|
||||
* @author @Benzo-Fury [<@762918086349029386>]
|
||||
* @version 1.0.1
|
||||
* @example
|
||||
* ```ts
|
||||
* import { permCheck } from "../plugins/permCheck";
|
||||
* import { commandModule } from "@sern/handler";
|
||||
* export default commandModule({
|
||||
* plugins: [ permCheck('permission', 'No permission response') ],
|
||||
* execute: (ctx) => {
|
||||
* //your code here
|
||||
* }
|
||||
* })
|
||||
* ```
|
||||
* @end
|
||||
*/
|
||||
|
||||
import type { GuildMember, PermissionResolvable } from "discord.js";
|
||||
import { CommandControlPlugin, CommandType, controller } from "@sern/handler";
|
||||
export function permCheck(perm: PermissionResolvable, response: string) {
|
||||
return CommandControlPlugin<CommandType.Both>(async (ctx, args) => {
|
||||
if (ctx.guild === null) {
|
||||
await ctx.reply("This command cannot be used here");
|
||||
console.warn(
|
||||
"PermCheck > A command stopped because we couldn't check a users permissions (was used in dms)",
|
||||
); //delete this line if you dont want to be notified when a command is used outside of a guild/server
|
||||
return controller.stop();
|
||||
}
|
||||
if (!(ctx.member! as GuildMember).permissions.has(perm)) {
|
||||
await ctx.reply(response);
|
||||
return controller.stop();
|
||||
}
|
||||
return controller.next();
|
||||
});
|
||||
}
|
||||
215
bot/src/plugins/publish.ts
Normal file
215
bot/src/plugins/publish.ts
Normal file
@@ -0,0 +1,215 @@
|
||||
// @ts-nocheck
|
||||
/**
|
||||
* @plugin
|
||||
* [DEPRECATED] It allows you to publish your application commands using the discord.js library with ease.
|
||||
*
|
||||
* @author @EvolutionX-10 [<@697795666373640213>]
|
||||
* @version 2.0.0
|
||||
* @example
|
||||
* ```ts
|
||||
* import { publish } from "../plugins/publish";
|
||||
* import { commandModule } from "@sern/handler";
|
||||
* export default commandModule({
|
||||
* plugins: [ publish() ], // put an object containing permissions, ids for guild commands, boolean for dmPermission
|
||||
* // plugins: [ publish({ guildIds: ['guildId'], defaultMemberPermissions: 'Administrator'})]
|
||||
* execute: (ctx) => {
|
||||
* //your code here
|
||||
* }
|
||||
* })
|
||||
* ```
|
||||
* @end
|
||||
*/
|
||||
import {
|
||||
CommandInitPlugin,
|
||||
CommandType,
|
||||
controller,
|
||||
SernOptionsData,
|
||||
SlashCommand,
|
||||
Service,
|
||||
} from "@sern/handler";
|
||||
import {
|
||||
ApplicationCommandData,
|
||||
ApplicationCommandType,
|
||||
ApplicationCommandOptionType,
|
||||
PermissionResolvable,
|
||||
} from "discord.js";
|
||||
|
||||
export const CommandTypeRaw = {
|
||||
[CommandType.Both]: ApplicationCommandType.ChatInput,
|
||||
[CommandType.CtxUser]: ApplicationCommandType.User,
|
||||
[CommandType.CtxMsg]: ApplicationCommandType.Message,
|
||||
[CommandType.Slash]: ApplicationCommandType.ChatInput,
|
||||
} as const;
|
||||
|
||||
export function publish<
|
||||
T extends
|
||||
| CommandType.Both
|
||||
| CommandType.Slash
|
||||
| CommandType.CtxMsg
|
||||
| CommandType.CtxUser,
|
||||
>(options?: PublishOptions) {
|
||||
return CommandInitPlugin<T>(async ({ module }) => {
|
||||
// Users need to provide their own useContainer function.
|
||||
let client;
|
||||
try {
|
||||
client = (await import("@sern/handler")).Service("@sern/client");
|
||||
} catch {
|
||||
const { useContainer } = await import("../index.js");
|
||||
client = useContainer("@sern/client")[0];
|
||||
}
|
||||
const defaultOptions = {
|
||||
guildIds: [],
|
||||
dmPermission: undefined,
|
||||
defaultMemberPermissions: null,
|
||||
};
|
||||
|
||||
options = { ...defaultOptions, ...options } as PublishOptions &
|
||||
ValidPublishOptions;
|
||||
let { defaultMemberPermissions, dmPermission, guildIds } =
|
||||
options as unknown as ValidPublishOptions;
|
||||
|
||||
function c(e: unknown) {
|
||||
console.error("publish command didnt work for", module.name);
|
||||
console.error(e);
|
||||
}
|
||||
|
||||
const log =
|
||||
(...message: any[]) =>
|
||||
() =>
|
||||
console.log(...message);
|
||||
const logged = (...message: any[]) => log(message);
|
||||
/**
|
||||
* a local function that returns either one value or the other,
|
||||
* depending on {t}'s CommandType. If the commandtype of
|
||||
* this module is CommandType.Both or CommandType.Text or CommandType.Slash,
|
||||
* return 'is', else return 'els'
|
||||
* @param t
|
||||
* @returns S | T
|
||||
*/
|
||||
const appCmd = <V extends CommandType, S, T>(t: V) => {
|
||||
return (is: S, els: T) => ((t & CommandType.Both) !== 0 ? is : els);
|
||||
};
|
||||
const curAppType = CommandTypeRaw[module.type];
|
||||
const createCommandData = () => {
|
||||
const cmd = appCmd(module.type);
|
||||
return {
|
||||
name: module.name,
|
||||
type: curAppType,
|
||||
description: cmd(module.description, ""),
|
||||
options: cmd(
|
||||
optionsTransformer((module as SlashCommand).options ?? []),
|
||||
[],
|
||||
),
|
||||
defaultMemberPermissions,
|
||||
dmPermission,
|
||||
} as ApplicationCommandData;
|
||||
};
|
||||
|
||||
try {
|
||||
const commandData = createCommandData();
|
||||
|
||||
if (!guildIds.length) {
|
||||
const cmd = (await client.application!.commands.fetch()).find(
|
||||
(c) => c.name === module.name && c.type === curAppType,
|
||||
);
|
||||
if (cmd) {
|
||||
if (!cmd.equals(commandData, true)) {
|
||||
logged(
|
||||
`Found differences in global command ${module.name}`,
|
||||
);
|
||||
cmd.edit(commandData).then(
|
||||
log(
|
||||
`${module.name} updated with new data successfully!`,
|
||||
),
|
||||
);
|
||||
}
|
||||
return controller.next();
|
||||
}
|
||||
client
|
||||
.application!.commands.create(commandData)
|
||||
.then(log("Command created", module.name))
|
||||
.catch(c);
|
||||
return controller.next();
|
||||
}
|
||||
|
||||
for (const id of guildIds) {
|
||||
const guild = await client.guilds.fetch(id).catch(c);
|
||||
if (!guild) continue;
|
||||
const guildCmd = (await guild.commands.fetch()).find(
|
||||
(c) => c.name === module.name && c.type === curAppType,
|
||||
);
|
||||
if (guildCmd) {
|
||||
if (!guildCmd.equals(commandData, true)) {
|
||||
logged(`Found differences in command ${module.name}`);
|
||||
guildCmd
|
||||
.edit(commandData)
|
||||
.then(
|
||||
log(
|
||||
`${module.name} updated with new data successfully!`,
|
||||
),
|
||||
)
|
||||
.catch(c);
|
||||
continue;
|
||||
}
|
||||
continue;
|
||||
}
|
||||
guild.commands
|
||||
.create(commandData)
|
||||
.then(log("Guild Command created", module.name, guild.name))
|
||||
.catch(c);
|
||||
}
|
||||
return controller.next();
|
||||
} catch (e) {
|
||||
logged("Command did not register" + module.name);
|
||||
logged(e);
|
||||
return controller.stop();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
export function optionsTransformer(ops: Array<SernOptionsData>) {
|
||||
return ops.map((el) => {
|
||||
switch (el.type) {
|
||||
case ApplicationCommandOptionType.String:
|
||||
case ApplicationCommandOptionType.Number:
|
||||
case ApplicationCommandOptionType.Integer: {
|
||||
return el.autocomplete && "command" in el
|
||||
? (({ command, ...el }) => el)(el)
|
||||
: el;
|
||||
}
|
||||
default:
|
||||
return el;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
export type NonEmptyArray<T extends `${number}` = `${number}`> = [T, ...T[]];
|
||||
|
||||
export interface ValidPublishOptions {
|
||||
guildIds: string[];
|
||||
dmPermission: boolean;
|
||||
defaultMemberPermissions: PermissionResolvable;
|
||||
}
|
||||
|
||||
interface GuildPublishOptions {
|
||||
guildIds?: NonEmptyArray;
|
||||
defaultMemberPermissions?: PermissionResolvable;
|
||||
dmPermission?: never;
|
||||
}
|
||||
|
||||
interface GlobalPublishOptions {
|
||||
defaultMemberPermissions?: PermissionResolvable;
|
||||
dmPermission?: false;
|
||||
guildIds?: never;
|
||||
}
|
||||
|
||||
type BasePublishOptions = GuildPublishOptions | GlobalPublishOptions;
|
||||
|
||||
export type PublishOptions = BasePublishOptions &
|
||||
(
|
||||
| Required<Pick<BasePublishOptions, "defaultMemberPermissions">>
|
||||
| (
|
||||
| Required<Pick<BasePublishOptions, "dmPermission">>
|
||||
| Required<Pick<BasePublishOptions, "guildIds">>
|
||||
)
|
||||
);
|
||||
95
bot/src/plugins/requirePermission.ts
Normal file
95
bot/src/plugins/requirePermission.ts
Normal file
@@ -0,0 +1,95 @@
|
||||
/**
|
||||
* This is perm check, it allows users to parse the permission you want and let the plugin do the rest. (check bot or user for that perm).
|
||||
*
|
||||
* @author @Benzo-Fury [<@762918086349029386>]
|
||||
* @author @needhamgary [<@342314924804014081>]
|
||||
* @version 1.2.0
|
||||
* @example
|
||||
* ```ts
|
||||
* import { requirePermission } from "../plugins/myPermCheck";
|
||||
* import { commandModule, CommandType } from "@sern/handler";
|
||||
* export default commandModule({
|
||||
* plugins: [ requirePermission<CommandType>('target', 'permission', 'No response (optional)') ],
|
||||
* execute: (ctx) => {
|
||||
* //your code here
|
||||
* }
|
||||
* })
|
||||
* ```
|
||||
*/
|
||||
|
||||
import type { GuildMember, PermissionResolvable } from "discord.js";
|
||||
import {
|
||||
CommandType, CommandControlPlugin, controller,
|
||||
} from "@sern/handler";
|
||||
|
||||
function payload(resp?: string) {
|
||||
return {
|
||||
fetchReply: true,
|
||||
content: resp,
|
||||
allowedMentions: { repliedUser: false },
|
||||
} as const;
|
||||
}
|
||||
|
||||
export function requirePermission(
|
||||
target: "user" | "bot" | "both",
|
||||
perm: PermissionResolvable[],
|
||||
response?: string
|
||||
) {
|
||||
return CommandControlPlugin<CommandType.Both>(async (ctx, _) => {
|
||||
if (ctx.guild === null) {
|
||||
ctx.reply(payload("This command cannot be used here"));
|
||||
console.warn(
|
||||
"PermCheck > A command stopped because we couldn't check a users permissions (was used in dms)"
|
||||
); //delete this line if you dont want to be notified when a command is used outside of a guild/server
|
||||
return controller.stop();
|
||||
}
|
||||
const bot = (await ctx.guild.members.fetchMe({
|
||||
cache: false,
|
||||
})!) as GuildMember; const memm = ctx.member! as GuildMember;
|
||||
switch (target) {
|
||||
//*********************************************************************************************************************//
|
||||
case "bot":
|
||||
if (!bot.permissions.has(perm)) {
|
||||
if (!response)
|
||||
response = `I cannot use this command, please give me \`${perm.join(
|
||||
", "
|
||||
)}\` permission(s).`;
|
||||
await ctx.reply(payload(response));
|
||||
return controller.stop();
|
||||
}
|
||||
return controller.next();
|
||||
//*********************************************************************************************************************//
|
||||
case "user":
|
||||
if (!memm.permissions.has(perm)) {
|
||||
if (!response)
|
||||
response = `You cannot use this command because you are missing \`${perm.join(
|
||||
", "
|
||||
)}\` permission(s).`;
|
||||
await ctx.reply(payload(response));
|
||||
return controller.stop();
|
||||
}
|
||||
return controller.next();
|
||||
//*********************************************************************************************************************//
|
||||
case "both":
|
||||
if (
|
||||
!bot.permissions.has(perm) ||
|
||||
!memm.permissions.has(perm)
|
||||
) {
|
||||
if (!response)
|
||||
response = `Please ensure <@${bot.user.id}> and <@${
|
||||
memm.user.id
|
||||
}> both have \`${perm.join(", ")}\` permission(s).`;
|
||||
await ctx.reply(payload(response));
|
||||
return controller.stop();
|
||||
}
|
||||
return controller.next();
|
||||
//*********************************************************************************************************************//
|
||||
default:
|
||||
console.warn(
|
||||
"Perm Check >>> You didn't specify user or bot."
|
||||
);
|
||||
ctx.reply(payload("User or Bot was not specified."));
|
||||
return controller.stop();
|
||||
}
|
||||
});
|
||||
}
|
||||
38
bot/src/plugins/serverOnly.ts
Normal file
38
bot/src/plugins/serverOnly.ts
Normal file
@@ -0,0 +1,38 @@
|
||||
/**
|
||||
* Checks if a command is available in a specific server.
|
||||
*
|
||||
* @author @Peter-MJ-Parker [<@1017182455926624316>]
|
||||
* @version 1.0.0
|
||||
* @example
|
||||
* ```ts
|
||||
* import { commandModule, CommandType } from "@sern/handler";
|
||||
* import { serverOnly } from "../plugins/serverOnly";
|
||||
* export default commandModule({
|
||||
* type: CommandType.Both,
|
||||
* plugins: [serverOnly(["guildId"], failMessage)], // fail message is the message you will see when the command is ran in the wrong server.
|
||||
* description: "command description",
|
||||
* execute: async (ctx, args) => {
|
||||
* // your code here
|
||||
* },
|
||||
* });
|
||||
* ```
|
||||
*/
|
||||
|
||||
import { CommandType, controller, CommandControlPlugin } from "@sern/handler";
|
||||
|
||||
export function serverOnly(
|
||||
guildId: string[],
|
||||
failMessage = "This command is not available in this guild. \nFor permission to use in your server, please contact my developer."
|
||||
) {
|
||||
return CommandControlPlugin<CommandType.Both>(async (ctx, _) => {
|
||||
if (!guildId.includes(ctx.guildId!)) {
|
||||
ctx.reply(failMessage).then(async (m) => {
|
||||
setTimeout(async () => {
|
||||
await m.delete();
|
||||
}, 3000);
|
||||
});
|
||||
return controller.stop();
|
||||
}
|
||||
return controller.next();
|
||||
})
|
||||
}
|
||||
34
bot/src/presence.ts
Normal file
34
bot/src/presence.ts
Normal file
@@ -0,0 +1,34 @@
|
||||
import { Presence } from '@sern/handler'
|
||||
import { ActivityType, ClientPresenceStatus } from 'discord.js';
|
||||
|
||||
function shuffleArray<T>(array: T[]) {
|
||||
for (let i = array.length - 1; i > 0; i--) {
|
||||
const j = Math.floor(Math.random() * (i + 1));
|
||||
[array[i], array[j]] = [array[j], array[i]];
|
||||
}
|
||||
return [...array];
|
||||
}
|
||||
|
||||
const statuses = [[ActivityType.Watching, "the sern community", "online"],
|
||||
[ActivityType.Listening, "Evo", "dnd"],
|
||||
[ActivityType.Playing, "with @sern/cli", "idle"],
|
||||
[ActivityType.Watching, "sern bots", "dnd"],
|
||||
[ActivityType.Watching, "github stars go brrr", "online"],
|
||||
[ActivityType.Listening, "Spotify", "dnd"],
|
||||
[ActivityType.Listening, "what's bofa", "idle"]] satisfies
|
||||
[ActivityType, string, ClientPresenceStatus][];
|
||||
|
||||
export default Presence.module({
|
||||
execute: () => {
|
||||
const [type, name, status] = statuses.at(0)!;
|
||||
return Presence
|
||||
.of({ activities: [ { type, name } ], status }) //start your presence with this.
|
||||
.repeated(() => {
|
||||
const [type, name, status] = [...shuffleArray(statuses)].shift()!;
|
||||
return {
|
||||
status,
|
||||
activities: [{ type, name }]
|
||||
};
|
||||
}, 60_000); //repeat and setPresence with returned result every minute
|
||||
}
|
||||
})
|
||||
9
bot/src/tasks/dbbackup.ts
Normal file
9
bot/src/tasks/dbbackup.ts
Normal file
@@ -0,0 +1,9 @@
|
||||
import { scheduledTask } from "@sern/handler";
|
||||
|
||||
|
||||
export default scheduledTask({
|
||||
trigger: "* * * * *",
|
||||
execute: (args, { deps }) => {
|
||||
console.log("hello")
|
||||
}
|
||||
})
|
||||
3
bot/tsconfig.json
Normal file
3
bot/tsconfig.json
Normal file
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"extends": "./.sern/tsconfig.json"
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
TypeDoc added this file to prevent GitHub Pages from using Jekyll. You can turn off this behavior by setting the `githubPages` option to false.
|
||||
@@ -1 +0,0 @@
|
||||
sern-handler.js.org
|
||||
@@ -1,110 +0,0 @@
|
||||
:root {
|
||||
--light-hl-0: #000000;
|
||||
--dark-hl-0: #d4d4d4;
|
||||
--light-hl-1: #af00db;
|
||||
--dark-hl-1: #c586c0;
|
||||
--light-hl-2: #001080;
|
||||
--dark-hl-2: #9cdcfe;
|
||||
--light-hl-3: #a31515;
|
||||
--dark-hl-3: #ce9178;
|
||||
--light-hl-4: #0000ff;
|
||||
--dark-hl-4: #569cd6;
|
||||
--light-hl-5: #0070c1;
|
||||
--dark-hl-5: #4fc1ff;
|
||||
--light-hl-6: #795e26;
|
||||
--dark-hl-6: #dcdcaa;
|
||||
--light-hl-7: #008000;
|
||||
--dark-hl-7: #6a9955;
|
||||
--light-hl-8: #cd3131;
|
||||
--dark-hl-8: #f44747;
|
||||
--light-code-background: #f5f5f5;
|
||||
--dark-code-background: #1e1e1e;
|
||||
}
|
||||
|
||||
@media (prefers-color-scheme: light) {
|
||||
:root {
|
||||
--hl-0: var(--light-hl-0);
|
||||
--hl-1: var(--light-hl-1);
|
||||
--hl-2: var(--light-hl-2);
|
||||
--hl-3: var(--light-hl-3);
|
||||
--hl-4: var(--light-hl-4);
|
||||
--hl-5: var(--light-hl-5);
|
||||
--hl-6: var(--light-hl-6);
|
||||
--hl-7: var(--light-hl-7);
|
||||
--hl-8: var(--light-hl-8);
|
||||
--code-background: var(--light-code-background);
|
||||
}
|
||||
}
|
||||
|
||||
@media (prefers-color-scheme: dark) {
|
||||
:root {
|
||||
--hl-0: var(--dark-hl-0);
|
||||
--hl-1: var(--dark-hl-1);
|
||||
--hl-2: var(--dark-hl-2);
|
||||
--hl-3: var(--dark-hl-3);
|
||||
--hl-4: var(--dark-hl-4);
|
||||
--hl-5: var(--dark-hl-5);
|
||||
--hl-6: var(--dark-hl-6);
|
||||
--hl-7: var(--dark-hl-7);
|
||||
--hl-8: var(--dark-hl-8);
|
||||
--code-background: var(--dark-code-background);
|
||||
}
|
||||
}
|
||||
|
||||
body.light {
|
||||
--hl-0: var(--light-hl-0);
|
||||
--hl-1: var(--light-hl-1);
|
||||
--hl-2: var(--light-hl-2);
|
||||
--hl-3: var(--light-hl-3);
|
||||
--hl-4: var(--light-hl-4);
|
||||
--hl-5: var(--light-hl-5);
|
||||
--hl-6: var(--light-hl-6);
|
||||
--hl-7: var(--light-hl-7);
|
||||
--hl-8: var(--light-hl-8);
|
||||
--code-background: var(--light-code-background);
|
||||
}
|
||||
|
||||
body.dark {
|
||||
--hl-0: var(--dark-hl-0);
|
||||
--hl-1: var(--dark-hl-1);
|
||||
--hl-2: var(--dark-hl-2);
|
||||
--hl-3: var(--dark-hl-3);
|
||||
--hl-4: var(--dark-hl-4);
|
||||
--hl-5: var(--dark-hl-5);
|
||||
--hl-6: var(--dark-hl-6);
|
||||
--hl-7: var(--dark-hl-7);
|
||||
--hl-8: var(--dark-hl-8);
|
||||
--code-background: var(--dark-code-background);
|
||||
}
|
||||
|
||||
.hl-0 {
|
||||
color: var(--hl-0);
|
||||
}
|
||||
.hl-1 {
|
||||
color: var(--hl-1);
|
||||
}
|
||||
.hl-2 {
|
||||
color: var(--hl-2);
|
||||
}
|
||||
.hl-3 {
|
||||
color: var(--hl-3);
|
||||
}
|
||||
.hl-4 {
|
||||
color: var(--hl-4);
|
||||
}
|
||||
.hl-5 {
|
||||
color: var(--hl-5);
|
||||
}
|
||||
.hl-6 {
|
||||
color: var(--hl-6);
|
||||
}
|
||||
.hl-7 {
|
||||
color: var(--hl-7);
|
||||
}
|
||||
.hl-8 {
|
||||
color: var(--hl-8);
|
||||
}
|
||||
pre,
|
||||
code {
|
||||
background: var(--code-background);
|
||||
}
|
||||
@@ -1,907 +0,0 @@
|
||||
.tsd-kind-icon {
|
||||
display: block;
|
||||
position: relative;
|
||||
padding-left: 20px;
|
||||
text-indent: -20px;
|
||||
}
|
||||
.tsd-kind-icon:before {
|
||||
content: '';
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
width: 17px;
|
||||
height: 17px;
|
||||
margin: 0 3px 2px 0;
|
||||
background-image: url(./icons.png);
|
||||
}
|
||||
@media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) {
|
||||
.tsd-kind-icon:before {
|
||||
background-image: url(./icons@2x.png);
|
||||
background-size: 238px 204px;
|
||||
}
|
||||
}
|
||||
|
||||
.tsd-signature.tsd-kind-icon:before {
|
||||
background-position: 0 -153px;
|
||||
}
|
||||
|
||||
.tsd-kind-object-literal > .tsd-kind-icon:before {
|
||||
background-position: 0px -17px;
|
||||
}
|
||||
.tsd-kind-object-literal.tsd-is-protected > .tsd-kind-icon:before {
|
||||
background-position: -17px -17px;
|
||||
}
|
||||
.tsd-kind-object-literal.tsd-is-private > .tsd-kind-icon:before {
|
||||
background-position: -34px -17px;
|
||||
}
|
||||
|
||||
.tsd-kind-class > .tsd-kind-icon:before {
|
||||
background-position: 0px -34px;
|
||||
}
|
||||
.tsd-kind-class.tsd-is-protected > .tsd-kind-icon:before {
|
||||
background-position: -17px -34px;
|
||||
}
|
||||
.tsd-kind-class.tsd-is-private > .tsd-kind-icon:before {
|
||||
background-position: -34px -34px;
|
||||
}
|
||||
|
||||
.tsd-kind-class.tsd-has-type-parameter > .tsd-kind-icon:before {
|
||||
background-position: 0px -51px;
|
||||
}
|
||||
.tsd-kind-class.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before {
|
||||
background-position: -17px -51px;
|
||||
}
|
||||
.tsd-kind-class.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before {
|
||||
background-position: -34px -51px;
|
||||
}
|
||||
|
||||
.tsd-kind-interface > .tsd-kind-icon:before {
|
||||
background-position: 0px -68px;
|
||||
}
|
||||
.tsd-kind-interface.tsd-is-protected > .tsd-kind-icon:before {
|
||||
background-position: -17px -68px;
|
||||
}
|
||||
.tsd-kind-interface.tsd-is-private > .tsd-kind-icon:before {
|
||||
background-position: -34px -68px;
|
||||
}
|
||||
|
||||
.tsd-kind-interface.tsd-has-type-parameter > .tsd-kind-icon:before {
|
||||
background-position: 0px -85px;
|
||||
}
|
||||
.tsd-kind-interface.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before {
|
||||
background-position: -17px -85px;
|
||||
}
|
||||
.tsd-kind-interface.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before {
|
||||
background-position: -34px -85px;
|
||||
}
|
||||
|
||||
.tsd-kind-namespace > .tsd-kind-icon:before {
|
||||
background-position: 0px -102px;
|
||||
}
|
||||
.tsd-kind-namespace.tsd-is-protected > .tsd-kind-icon:before {
|
||||
background-position: -17px -102px;
|
||||
}
|
||||
.tsd-kind-namespace.tsd-is-private > .tsd-kind-icon:before {
|
||||
background-position: -34px -102px;
|
||||
}
|
||||
|
||||
.tsd-kind-module > .tsd-kind-icon:before {
|
||||
background-position: 0px -102px;
|
||||
}
|
||||
.tsd-kind-module.tsd-is-protected > .tsd-kind-icon:before {
|
||||
background-position: -17px -102px;
|
||||
}
|
||||
.tsd-kind-module.tsd-is-private > .tsd-kind-icon:before {
|
||||
background-position: -34px -102px;
|
||||
}
|
||||
|
||||
.tsd-kind-enum > .tsd-kind-icon:before {
|
||||
background-position: 0px -119px;
|
||||
}
|
||||
.tsd-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
|
||||
background-position: -17px -119px;
|
||||
}
|
||||
.tsd-kind-enum.tsd-is-private > .tsd-kind-icon:before {
|
||||
background-position: -34px -119px;
|
||||
}
|
||||
|
||||
.tsd-kind-enum-member > .tsd-kind-icon:before {
|
||||
background-position: 0px -136px;
|
||||
}
|
||||
.tsd-kind-enum-member.tsd-is-protected > .tsd-kind-icon:before {
|
||||
background-position: -17px -136px;
|
||||
}
|
||||
.tsd-kind-enum-member.tsd-is-private > .tsd-kind-icon:before {
|
||||
background-position: -34px -136px;
|
||||
}
|
||||
|
||||
.tsd-kind-signature > .tsd-kind-icon:before {
|
||||
background-position: 0px -153px;
|
||||
}
|
||||
.tsd-kind-signature.tsd-is-protected > .tsd-kind-icon:before {
|
||||
background-position: -17px -153px;
|
||||
}
|
||||
.tsd-kind-signature.tsd-is-private > .tsd-kind-icon:before {
|
||||
background-position: -34px -153px;
|
||||
}
|
||||
|
||||
.tsd-kind-type-alias > .tsd-kind-icon:before {
|
||||
background-position: 0px -170px;
|
||||
}
|
||||
.tsd-kind-type-alias.tsd-is-protected > .tsd-kind-icon:before {
|
||||
background-position: -17px -170px;
|
||||
}
|
||||
.tsd-kind-type-alias.tsd-is-private > .tsd-kind-icon:before {
|
||||
background-position: -34px -170px;
|
||||
}
|
||||
|
||||
.tsd-kind-type-alias.tsd-has-type-parameter > .tsd-kind-icon:before {
|
||||
background-position: 0px -187px;
|
||||
}
|
||||
.tsd-kind-type-alias.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before {
|
||||
background-position: -17px -187px;
|
||||
}
|
||||
.tsd-kind-type-alias.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before {
|
||||
background-position: -34px -187px;
|
||||
}
|
||||
|
||||
.tsd-kind-variable > .tsd-kind-icon:before {
|
||||
background-position: -136px -0px;
|
||||
}
|
||||
.tsd-kind-variable.tsd-is-protected > .tsd-kind-icon:before {
|
||||
background-position: -153px -0px;
|
||||
}
|
||||
.tsd-kind-variable.tsd-is-private > .tsd-kind-icon:before {
|
||||
background-position: -119px -0px;
|
||||
}
|
||||
.tsd-kind-variable.tsd-parent-kind-class > .tsd-kind-icon:before {
|
||||
background-position: -51px -0px;
|
||||
}
|
||||
.tsd-kind-variable.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
|
||||
background-position: -68px -0px;
|
||||
}
|
||||
.tsd-kind-variable.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
|
||||
background-position: -85px -0px;
|
||||
}
|
||||
.tsd-kind-variable.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
|
||||
background-position: -102px -0px;
|
||||
}
|
||||
.tsd-kind-variable.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
|
||||
background-position: -119px -0px;
|
||||
}
|
||||
.tsd-kind-variable.tsd-parent-kind-enum > .tsd-kind-icon:before {
|
||||
background-position: -170px -0px;
|
||||
}
|
||||
.tsd-kind-variable.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
|
||||
background-position: -187px -0px;
|
||||
}
|
||||
.tsd-kind-variable.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
|
||||
background-position: -119px -0px;
|
||||
}
|
||||
.tsd-kind-variable.tsd-parent-kind-interface > .tsd-kind-icon:before {
|
||||
background-position: -204px -0px;
|
||||
}
|
||||
.tsd-kind-variable.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
|
||||
background-position: -221px -0px;
|
||||
}
|
||||
|
||||
.tsd-kind-property > .tsd-kind-icon:before {
|
||||
background-position: -136px -0px;
|
||||
}
|
||||
.tsd-kind-property.tsd-is-protected > .tsd-kind-icon:before {
|
||||
background-position: -153px -0px;
|
||||
}
|
||||
.tsd-kind-property.tsd-is-private > .tsd-kind-icon:before {
|
||||
background-position: -119px -0px;
|
||||
}
|
||||
.tsd-kind-property.tsd-parent-kind-class > .tsd-kind-icon:before {
|
||||
background-position: -51px -0px;
|
||||
}
|
||||
.tsd-kind-property.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
|
||||
background-position: -68px -0px;
|
||||
}
|
||||
.tsd-kind-property.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
|
||||
background-position: -85px -0px;
|
||||
}
|
||||
.tsd-kind-property.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
|
||||
background-position: -102px -0px;
|
||||
}
|
||||
.tsd-kind-property.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
|
||||
background-position: -119px -0px;
|
||||
}
|
||||
.tsd-kind-property.tsd-parent-kind-enum > .tsd-kind-icon:before {
|
||||
background-position: -170px -0px;
|
||||
}
|
||||
.tsd-kind-property.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
|
||||
background-position: -187px -0px;
|
||||
}
|
||||
.tsd-kind-property.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
|
||||
background-position: -119px -0px;
|
||||
}
|
||||
.tsd-kind-property.tsd-parent-kind-interface > .tsd-kind-icon:before {
|
||||
background-position: -204px -0px;
|
||||
}
|
||||
.tsd-kind-property.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
|
||||
background-position: -221px -0px;
|
||||
}
|
||||
|
||||
.tsd-kind-get-signature > .tsd-kind-icon:before {
|
||||
background-position: -136px -17px;
|
||||
}
|
||||
.tsd-kind-get-signature.tsd-is-protected > .tsd-kind-icon:before {
|
||||
background-position: -153px -17px;
|
||||
}
|
||||
.tsd-kind-get-signature.tsd-is-private > .tsd-kind-icon:before {
|
||||
background-position: -119px -17px;
|
||||
}
|
||||
.tsd-kind-get-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
|
||||
background-position: -51px -17px;
|
||||
}
|
||||
.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
|
||||
background-position: -68px -17px;
|
||||
}
|
||||
.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
|
||||
background-position: -85px -17px;
|
||||
}
|
||||
.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
|
||||
background-position: -102px -17px;
|
||||
}
|
||||
.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
|
||||
background-position: -119px -17px;
|
||||
}
|
||||
.tsd-kind-get-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
|
||||
background-position: -170px -17px;
|
||||
}
|
||||
.tsd-kind-get-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
|
||||
background-position: -187px -17px;
|
||||
}
|
||||
.tsd-kind-get-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
|
||||
background-position: -119px -17px;
|
||||
}
|
||||
.tsd-kind-get-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
|
||||
background-position: -204px -17px;
|
||||
}
|
||||
.tsd-kind-get-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
|
||||
background-position: -221px -17px;
|
||||
}
|
||||
|
||||
.tsd-kind-set-signature > .tsd-kind-icon:before {
|
||||
background-position: -136px -34px;
|
||||
}
|
||||
.tsd-kind-set-signature.tsd-is-protected > .tsd-kind-icon:before {
|
||||
background-position: -153px -34px;
|
||||
}
|
||||
.tsd-kind-set-signature.tsd-is-private > .tsd-kind-icon:before {
|
||||
background-position: -119px -34px;
|
||||
}
|
||||
.tsd-kind-set-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
|
||||
background-position: -51px -34px;
|
||||
}
|
||||
.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
|
||||
background-position: -68px -34px;
|
||||
}
|
||||
.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
|
||||
background-position: -85px -34px;
|
||||
}
|
||||
.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
|
||||
background-position: -102px -34px;
|
||||
}
|
||||
.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
|
||||
background-position: -119px -34px;
|
||||
}
|
||||
.tsd-kind-set-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
|
||||
background-position: -170px -34px;
|
||||
}
|
||||
.tsd-kind-set-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
|
||||
background-position: -187px -34px;
|
||||
}
|
||||
.tsd-kind-set-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
|
||||
background-position: -119px -34px;
|
||||
}
|
||||
.tsd-kind-set-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
|
||||
background-position: -204px -34px;
|
||||
}
|
||||
.tsd-kind-set-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
|
||||
background-position: -221px -34px;
|
||||
}
|
||||
|
||||
.tsd-kind-accessor > .tsd-kind-icon:before {
|
||||
background-position: -136px -51px;
|
||||
}
|
||||
.tsd-kind-accessor.tsd-is-protected > .tsd-kind-icon:before {
|
||||
background-position: -153px -51px;
|
||||
}
|
||||
.tsd-kind-accessor.tsd-is-private > .tsd-kind-icon:before {
|
||||
background-position: -119px -51px;
|
||||
}
|
||||
.tsd-kind-accessor.tsd-parent-kind-class > .tsd-kind-icon:before {
|
||||
background-position: -51px -51px;
|
||||
}
|
||||
.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
|
||||
background-position: -68px -51px;
|
||||
}
|
||||
.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
|
||||
background-position: -85px -51px;
|
||||
}
|
||||
.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
|
||||
background-position: -102px -51px;
|
||||
}
|
||||
.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
|
||||
background-position: -119px -51px;
|
||||
}
|
||||
.tsd-kind-accessor.tsd-parent-kind-enum > .tsd-kind-icon:before {
|
||||
background-position: -170px -51px;
|
||||
}
|
||||
.tsd-kind-accessor.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
|
||||
background-position: -187px -51px;
|
||||
}
|
||||
.tsd-kind-accessor.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
|
||||
background-position: -119px -51px;
|
||||
}
|
||||
.tsd-kind-accessor.tsd-parent-kind-interface > .tsd-kind-icon:before {
|
||||
background-position: -204px -51px;
|
||||
}
|
||||
.tsd-kind-accessor.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
|
||||
background-position: -221px -51px;
|
||||
}
|
||||
|
||||
.tsd-kind-function > .tsd-kind-icon:before {
|
||||
background-position: -136px -68px;
|
||||
}
|
||||
.tsd-kind-function.tsd-is-protected > .tsd-kind-icon:before {
|
||||
background-position: -153px -68px;
|
||||
}
|
||||
.tsd-kind-function.tsd-is-private > .tsd-kind-icon:before {
|
||||
background-position: -119px -68px;
|
||||
}
|
||||
.tsd-kind-function.tsd-parent-kind-class > .tsd-kind-icon:before {
|
||||
background-position: -51px -68px;
|
||||
}
|
||||
.tsd-kind-function.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
|
||||
background-position: -68px -68px;
|
||||
}
|
||||
.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
|
||||
background-position: -85px -68px;
|
||||
}
|
||||
.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
|
||||
background-position: -102px -68px;
|
||||
}
|
||||
.tsd-kind-function.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
|
||||
background-position: -119px -68px;
|
||||
}
|
||||
.tsd-kind-function.tsd-parent-kind-enum > .tsd-kind-icon:before {
|
||||
background-position: -170px -68px;
|
||||
}
|
||||
.tsd-kind-function.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
|
||||
background-position: -187px -68px;
|
||||
}
|
||||
.tsd-kind-function.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
|
||||
background-position: -119px -68px;
|
||||
}
|
||||
.tsd-kind-function.tsd-parent-kind-interface > .tsd-kind-icon:before {
|
||||
background-position: -204px -68px;
|
||||
}
|
||||
.tsd-kind-function.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
|
||||
background-position: -221px -68px;
|
||||
}
|
||||
|
||||
.tsd-kind-method > .tsd-kind-icon:before {
|
||||
background-position: -136px -68px;
|
||||
}
|
||||
.tsd-kind-method.tsd-is-protected > .tsd-kind-icon:before {
|
||||
background-position: -153px -68px;
|
||||
}
|
||||
.tsd-kind-method.tsd-is-private > .tsd-kind-icon:before {
|
||||
background-position: -119px -68px;
|
||||
}
|
||||
.tsd-kind-method.tsd-parent-kind-class > .tsd-kind-icon:before {
|
||||
background-position: -51px -68px;
|
||||
}
|
||||
.tsd-kind-method.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
|
||||
background-position: -68px -68px;
|
||||
}
|
||||
.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
|
||||
background-position: -85px -68px;
|
||||
}
|
||||
.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
|
||||
background-position: -102px -68px;
|
||||
}
|
||||
.tsd-kind-method.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
|
||||
background-position: -119px -68px;
|
||||
}
|
||||
.tsd-kind-method.tsd-parent-kind-enum > .tsd-kind-icon:before {
|
||||
background-position: -170px -68px;
|
||||
}
|
||||
.tsd-kind-method.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
|
||||
background-position: -187px -68px;
|
||||
}
|
||||
.tsd-kind-method.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
|
||||
background-position: -119px -68px;
|
||||
}
|
||||
.tsd-kind-method.tsd-parent-kind-interface > .tsd-kind-icon:before {
|
||||
background-position: -204px -68px;
|
||||
}
|
||||
.tsd-kind-method.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
|
||||
background-position: -221px -68px;
|
||||
}
|
||||
|
||||
.tsd-kind-call-signature > .tsd-kind-icon:before {
|
||||
background-position: -136px -68px;
|
||||
}
|
||||
.tsd-kind-call-signature.tsd-is-protected > .tsd-kind-icon:before {
|
||||
background-position: -153px -68px;
|
||||
}
|
||||
.tsd-kind-call-signature.tsd-is-private > .tsd-kind-icon:before {
|
||||
background-position: -119px -68px;
|
||||
}
|
||||
.tsd-kind-call-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
|
||||
background-position: -51px -68px;
|
||||
}
|
||||
.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
|
||||
background-position: -68px -68px;
|
||||
}
|
||||
.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
|
||||
background-position: -85px -68px;
|
||||
}
|
||||
.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
|
||||
background-position: -102px -68px;
|
||||
}
|
||||
.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
|
||||
background-position: -119px -68px;
|
||||
}
|
||||
.tsd-kind-call-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
|
||||
background-position: -170px -68px;
|
||||
}
|
||||
.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
|
||||
background-position: -187px -68px;
|
||||
}
|
||||
.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
|
||||
background-position: -119px -68px;
|
||||
}
|
||||
.tsd-kind-call-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
|
||||
background-position: -204px -68px;
|
||||
}
|
||||
.tsd-kind-call-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
|
||||
background-position: -221px -68px;
|
||||
}
|
||||
|
||||
.tsd-kind-function.tsd-has-type-parameter > .tsd-kind-icon:before {
|
||||
background-position: -136px -85px;
|
||||
}
|
||||
.tsd-kind-function.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before {
|
||||
background-position: -153px -85px;
|
||||
}
|
||||
.tsd-kind-function.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before {
|
||||
background-position: -119px -85px;
|
||||
}
|
||||
.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class > .tsd-kind-icon:before {
|
||||
background-position: -51px -85px;
|
||||
}
|
||||
.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
|
||||
background-position: -68px -85px;
|
||||
}
|
||||
.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
|
||||
background-position: -85px -85px;
|
||||
}
|
||||
.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited
|
||||
> .tsd-kind-icon:before {
|
||||
background-position: -102px -85px;
|
||||
}
|
||||
.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
|
||||
background-position: -119px -85px;
|
||||
}
|
||||
.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum > .tsd-kind-icon:before {
|
||||
background-position: -170px -85px;
|
||||
}
|
||||
.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
|
||||
background-position: -187px -85px;
|
||||
}
|
||||
.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
|
||||
background-position: -119px -85px;
|
||||
}
|
||||
.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-interface > .tsd-kind-icon:before {
|
||||
background-position: -204px -85px;
|
||||
}
|
||||
.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
|
||||
background-position: -221px -85px;
|
||||
}
|
||||
|
||||
.tsd-kind-method.tsd-has-type-parameter > .tsd-kind-icon:before {
|
||||
background-position: -136px -85px;
|
||||
}
|
||||
.tsd-kind-method.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before {
|
||||
background-position: -153px -85px;
|
||||
}
|
||||
.tsd-kind-method.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before {
|
||||
background-position: -119px -85px;
|
||||
}
|
||||
.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class > .tsd-kind-icon:before {
|
||||
background-position: -51px -85px;
|
||||
}
|
||||
.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
|
||||
background-position: -68px -85px;
|
||||
}
|
||||
.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
|
||||
background-position: -85px -85px;
|
||||
}
|
||||
.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited
|
||||
> .tsd-kind-icon:before {
|
||||
background-position: -102px -85px;
|
||||
}
|
||||
.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
|
||||
background-position: -119px -85px;
|
||||
}
|
||||
.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum > .tsd-kind-icon:before {
|
||||
background-position: -170px -85px;
|
||||
}
|
||||
.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
|
||||
background-position: -187px -85px;
|
||||
}
|
||||
.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
|
||||
background-position: -119px -85px;
|
||||
}
|
||||
.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-interface > .tsd-kind-icon:before {
|
||||
background-position: -204px -85px;
|
||||
}
|
||||
.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
|
||||
background-position: -221px -85px;
|
||||
}
|
||||
|
||||
.tsd-kind-constructor > .tsd-kind-icon:before {
|
||||
background-position: -136px -102px;
|
||||
}
|
||||
.tsd-kind-constructor.tsd-is-protected > .tsd-kind-icon:before {
|
||||
background-position: -153px -102px;
|
||||
}
|
||||
.tsd-kind-constructor.tsd-is-private > .tsd-kind-icon:before {
|
||||
background-position: -119px -102px;
|
||||
}
|
||||
.tsd-kind-constructor.tsd-parent-kind-class > .tsd-kind-icon:before {
|
||||
background-position: -51px -102px;
|
||||
}
|
||||
.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
|
||||
background-position: -68px -102px;
|
||||
}
|
||||
.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
|
||||
background-position: -85px -102px;
|
||||
}
|
||||
.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
|
||||
background-position: -102px -102px;
|
||||
}
|
||||
.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
|
||||
background-position: -119px -102px;
|
||||
}
|
||||
.tsd-kind-constructor.tsd-parent-kind-enum > .tsd-kind-icon:before {
|
||||
background-position: -170px -102px;
|
||||
}
|
||||
.tsd-kind-constructor.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
|
||||
background-position: -187px -102px;
|
||||
}
|
||||
.tsd-kind-constructor.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
|
||||
background-position: -119px -102px;
|
||||
}
|
||||
.tsd-kind-constructor.tsd-parent-kind-interface > .tsd-kind-icon:before {
|
||||
background-position: -204px -102px;
|
||||
}
|
||||
.tsd-kind-constructor.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
|
||||
background-position: -221px -102px;
|
||||
}
|
||||
|
||||
.tsd-kind-constructor-signature > .tsd-kind-icon:before {
|
||||
background-position: -136px -102px;
|
||||
}
|
||||
.tsd-kind-constructor-signature.tsd-is-protected > .tsd-kind-icon:before {
|
||||
background-position: -153px -102px;
|
||||
}
|
||||
.tsd-kind-constructor-signature.tsd-is-private > .tsd-kind-icon:before {
|
||||
background-position: -119px -102px;
|
||||
}
|
||||
.tsd-kind-constructor-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
|
||||
background-position: -51px -102px;
|
||||
}
|
||||
.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
|
||||
background-position: -68px -102px;
|
||||
}
|
||||
.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
|
||||
background-position: -85px -102px;
|
||||
}
|
||||
.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
|
||||
background-position: -102px -102px;
|
||||
}
|
||||
.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
|
||||
background-position: -119px -102px;
|
||||
}
|
||||
.tsd-kind-constructor-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
|
||||
background-position: -170px -102px;
|
||||
}
|
||||
.tsd-kind-constructor-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
|
||||
background-position: -187px -102px;
|
||||
}
|
||||
.tsd-kind-constructor-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
|
||||
background-position: -119px -102px;
|
||||
}
|
||||
.tsd-kind-constructor-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
|
||||
background-position: -204px -102px;
|
||||
}
|
||||
.tsd-kind-constructor-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
|
||||
background-position: -221px -102px;
|
||||
}
|
||||
|
||||
.tsd-kind-index-signature > .tsd-kind-icon:before {
|
||||
background-position: -136px -119px;
|
||||
}
|
||||
.tsd-kind-index-signature.tsd-is-protected > .tsd-kind-icon:before {
|
||||
background-position: -153px -119px;
|
||||
}
|
||||
.tsd-kind-index-signature.tsd-is-private > .tsd-kind-icon:before {
|
||||
background-position: -119px -119px;
|
||||
}
|
||||
.tsd-kind-index-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
|
||||
background-position: -51px -119px;
|
||||
}
|
||||
.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
|
||||
background-position: -68px -119px;
|
||||
}
|
||||
.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
|
||||
background-position: -85px -119px;
|
||||
}
|
||||
.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
|
||||
background-position: -102px -119px;
|
||||
}
|
||||
.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
|
||||
background-position: -119px -119px;
|
||||
}
|
||||
.tsd-kind-index-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
|
||||
background-position: -170px -119px;
|
||||
}
|
||||
.tsd-kind-index-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
|
||||
background-position: -187px -119px;
|
||||
}
|
||||
.tsd-kind-index-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
|
||||
background-position: -119px -119px;
|
||||
}
|
||||
.tsd-kind-index-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
|
||||
background-position: -204px -119px;
|
||||
}
|
||||
.tsd-kind-index-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
|
||||
background-position: -221px -119px;
|
||||
}
|
||||
|
||||
.tsd-kind-event > .tsd-kind-icon:before {
|
||||
background-position: -136px -136px;
|
||||
}
|
||||
.tsd-kind-event.tsd-is-protected > .tsd-kind-icon:before {
|
||||
background-position: -153px -136px;
|
||||
}
|
||||
.tsd-kind-event.tsd-is-private > .tsd-kind-icon:before {
|
||||
background-position: -119px -136px;
|
||||
}
|
||||
.tsd-kind-event.tsd-parent-kind-class > .tsd-kind-icon:before {
|
||||
background-position: -51px -136px;
|
||||
}
|
||||
.tsd-kind-event.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
|
||||
background-position: -68px -136px;
|
||||
}
|
||||
.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
|
||||
background-position: -85px -136px;
|
||||
}
|
||||
.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
|
||||
background-position: -102px -136px;
|
||||
}
|
||||
.tsd-kind-event.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
|
||||
background-position: -119px -136px;
|
||||
}
|
||||
.tsd-kind-event.tsd-parent-kind-enum > .tsd-kind-icon:before {
|
||||
background-position: -170px -136px;
|
||||
}
|
||||
.tsd-kind-event.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
|
||||
background-position: -187px -136px;
|
||||
}
|
||||
.tsd-kind-event.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
|
||||
background-position: -119px -136px;
|
||||
}
|
||||
.tsd-kind-event.tsd-parent-kind-interface > .tsd-kind-icon:before {
|
||||
background-position: -204px -136px;
|
||||
}
|
||||
.tsd-kind-event.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
|
||||
background-position: -221px -136px;
|
||||
}
|
||||
|
||||
.tsd-is-static > .tsd-kind-icon:before {
|
||||
background-position: -136px -153px;
|
||||
}
|
||||
.tsd-is-static.tsd-is-protected > .tsd-kind-icon:before {
|
||||
background-position: -153px -153px;
|
||||
}
|
||||
.tsd-is-static.tsd-is-private > .tsd-kind-icon:before {
|
||||
background-position: -119px -153px;
|
||||
}
|
||||
.tsd-is-static.tsd-parent-kind-class > .tsd-kind-icon:before {
|
||||
background-position: -51px -153px;
|
||||
}
|
||||
.tsd-is-static.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
|
||||
background-position: -68px -153px;
|
||||
}
|
||||
.tsd-is-static.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
|
||||
background-position: -85px -153px;
|
||||
}
|
||||
.tsd-is-static.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
|
||||
background-position: -102px -153px;
|
||||
}
|
||||
.tsd-is-static.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
|
||||
background-position: -119px -153px;
|
||||
}
|
||||
.tsd-is-static.tsd-parent-kind-enum > .tsd-kind-icon:before {
|
||||
background-position: -170px -153px;
|
||||
}
|
||||
.tsd-is-static.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
|
||||
background-position: -187px -153px;
|
||||
}
|
||||
.tsd-is-static.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
|
||||
background-position: -119px -153px;
|
||||
}
|
||||
.tsd-is-static.tsd-parent-kind-interface > .tsd-kind-icon:before {
|
||||
background-position: -204px -153px;
|
||||
}
|
||||
.tsd-is-static.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
|
||||
background-position: -221px -153px;
|
||||
}
|
||||
|
||||
.tsd-is-static.tsd-kind-function > .tsd-kind-icon:before {
|
||||
background-position: -136px -170px;
|
||||
}
|
||||
.tsd-is-static.tsd-kind-function.tsd-is-protected > .tsd-kind-icon:before {
|
||||
background-position: -153px -170px;
|
||||
}
|
||||
.tsd-is-static.tsd-kind-function.tsd-is-private > .tsd-kind-icon:before {
|
||||
background-position: -119px -170px;
|
||||
}
|
||||
.tsd-is-static.tsd-kind-function.tsd-parent-kind-class > .tsd-kind-icon:before {
|
||||
background-position: -51px -170px;
|
||||
}
|
||||
.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
|
||||
background-position: -68px -170px;
|
||||
}
|
||||
.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
|
||||
background-position: -85px -170px;
|
||||
}
|
||||
.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
|
||||
background-position: -102px -170px;
|
||||
}
|
||||
.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
|
||||
background-position: -119px -170px;
|
||||
}
|
||||
.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum > .tsd-kind-icon:before {
|
||||
background-position: -170px -170px;
|
||||
}
|
||||
.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
|
||||
background-position: -187px -170px;
|
||||
}
|
||||
.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
|
||||
background-position: -119px -170px;
|
||||
}
|
||||
.tsd-is-static.tsd-kind-function.tsd-parent-kind-interface > .tsd-kind-icon:before {
|
||||
background-position: -204px -170px;
|
||||
}
|
||||
.tsd-is-static.tsd-kind-function.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
|
||||
background-position: -221px -170px;
|
||||
}
|
||||
|
||||
.tsd-is-static.tsd-kind-method > .tsd-kind-icon:before {
|
||||
background-position: -136px -170px;
|
||||
}
|
||||
.tsd-is-static.tsd-kind-method.tsd-is-protected > .tsd-kind-icon:before {
|
||||
background-position: -153px -170px;
|
||||
}
|
||||
.tsd-is-static.tsd-kind-method.tsd-is-private > .tsd-kind-icon:before {
|
||||
background-position: -119px -170px;
|
||||
}
|
||||
.tsd-is-static.tsd-kind-method.tsd-parent-kind-class > .tsd-kind-icon:before {
|
||||
background-position: -51px -170px;
|
||||
}
|
||||
.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
|
||||
background-position: -68px -170px;
|
||||
}
|
||||
.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
|
||||
background-position: -85px -170px;
|
||||
}
|
||||
.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
|
||||
background-position: -102px -170px;
|
||||
}
|
||||
.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
|
||||
background-position: -119px -170px;
|
||||
}
|
||||
.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum > .tsd-kind-icon:before {
|
||||
background-position: -170px -170px;
|
||||
}
|
||||
.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
|
||||
background-position: -187px -170px;
|
||||
}
|
||||
.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
|
||||
background-position: -119px -170px;
|
||||
}
|
||||
.tsd-is-static.tsd-kind-method.tsd-parent-kind-interface > .tsd-kind-icon:before {
|
||||
background-position: -204px -170px;
|
||||
}
|
||||
.tsd-is-static.tsd-kind-method.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
|
||||
background-position: -221px -170px;
|
||||
}
|
||||
|
||||
.tsd-is-static.tsd-kind-call-signature > .tsd-kind-icon:before {
|
||||
background-position: -136px -170px;
|
||||
}
|
||||
.tsd-is-static.tsd-kind-call-signature.tsd-is-protected > .tsd-kind-icon:before {
|
||||
background-position: -153px -170px;
|
||||
}
|
||||
.tsd-is-static.tsd-kind-call-signature.tsd-is-private > .tsd-kind-icon:before {
|
||||
background-position: -119px -170px;
|
||||
}
|
||||
.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
|
||||
background-position: -51px -170px;
|
||||
}
|
||||
.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
|
||||
background-position: -68px -170px;
|
||||
}
|
||||
.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
|
||||
background-position: -85px -170px;
|
||||
}
|
||||
.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
|
||||
background-position: -102px -170px;
|
||||
}
|
||||
.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
|
||||
background-position: -119px -170px;
|
||||
}
|
||||
.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
|
||||
background-position: -170px -170px;
|
||||
}
|
||||
.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
|
||||
background-position: -187px -170px;
|
||||
}
|
||||
.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
|
||||
background-position: -119px -170px;
|
||||
}
|
||||
.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
|
||||
background-position: -204px -170px;
|
||||
}
|
||||
.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
|
||||
background-position: -221px -170px;
|
||||
}
|
||||
|
||||
.tsd-is-static.tsd-kind-event > .tsd-kind-icon:before {
|
||||
background-position: -136px -187px;
|
||||
}
|
||||
.tsd-is-static.tsd-kind-event.tsd-is-protected > .tsd-kind-icon:before {
|
||||
background-position: -153px -187px;
|
||||
}
|
||||
.tsd-is-static.tsd-kind-event.tsd-is-private > .tsd-kind-icon:before {
|
||||
background-position: -119px -187px;
|
||||
}
|
||||
.tsd-is-static.tsd-kind-event.tsd-parent-kind-class > .tsd-kind-icon:before {
|
||||
background-position: -51px -187px;
|
||||
}
|
||||
.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
|
||||
background-position: -68px -187px;
|
||||
}
|
||||
.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
|
||||
background-position: -85px -187px;
|
||||
}
|
||||
.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
|
||||
background-position: -102px -187px;
|
||||
}
|
||||
.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
|
||||
background-position: -119px -187px;
|
||||
}
|
||||
.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum > .tsd-kind-icon:before {
|
||||
background-position: -170px -187px;
|
||||
}
|
||||
.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
|
||||
background-position: -187px -187px;
|
||||
}
|
||||
.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
|
||||
background-position: -119px -187px;
|
||||
}
|
||||
.tsd-is-static.tsd-kind-event.tsd-parent-kind-interface > .tsd-kind-icon:before {
|
||||
background-position: -204px -187px;
|
||||
}
|
||||
.tsd-is-static.tsd-kind-event.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
|
||||
background-position: -221px -187px;
|
||||
}
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 9.4 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 28 KiB |
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 it is too large
Load Diff
Binary file not shown.
|
Before Width: | Height: | Size: 480 B |
Binary file not shown.
|
Before Width: | Height: | Size: 855 B |
@@ -1,992 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html class="default">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta http-equiv="x-ua-compatible" content="IE=edge" />
|
||||
<title>Handler - SernHandler</title>
|
||||
<meta name="description" content="Documentation for sern-handler" />
|
||||
<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>
|
||||
<script>
|
||||
document.body.classList.add(localStorage.getItem('tsd-theme') || 'os');
|
||||
</script>
|
||||
<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">sern-handler</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">sern-handler</a></li>
|
||||
<li><a href="../modules/Sern.html">Sern</a></li>
|
||||
<li><a href="Sern.Handler.html">Handler</a></li>
|
||||
</ul>
|
||||
<h1>Class Handler</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">Handler</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="Sern.Handler.html#constructor" class="tsd-kind-icon">constructor</a>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
<section class="tsd-index-section tsd-is-private tsd-is-private-protected">
|
||||
<h3>Properties</h3>
|
||||
<ul class="tsd-index-list">
|
||||
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-private">
|
||||
<a href="Sern.Handler.html#wrapper" class="tsd-kind-icon">wrapper</a>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
<section class="tsd-index-section">
|
||||
<h3>Accessors</h3>
|
||||
<ul class="tsd-index-list">
|
||||
<li class="tsd-kind-get-signature tsd-parent-kind-class">
|
||||
<a href="Sern.Handler.html#client" class="tsd-kind-icon">client</a>
|
||||
</li>
|
||||
<li class="tsd-kind-get-signature tsd-parent-kind-class">
|
||||
<a href="Sern.Handler.html#commandDir" class="tsd-kind-icon">command<wbr />Dir</a>
|
||||
</li>
|
||||
<li class="tsd-kind-get-signature tsd-parent-kind-class">
|
||||
<a href="Sern.Handler.html#prefix" class="tsd-kind-icon">prefix</a>
|
||||
</li>
|
||||
<li class="tsd-kind-get-signature tsd-parent-kind-class">
|
||||
<a href="Sern.Handler.html#privateServers" class="tsd-kind-icon">private<wbr />Servers</a>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
<section class="tsd-index-section tsd-is-private tsd-is-private-protected">
|
||||
<h3>Methods</h3>
|
||||
<ul class="tsd-index-list">
|
||||
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-private">
|
||||
<a href="Sern.Handler.html#commandResult" class="tsd-kind-icon">command<wbr />Result</a>
|
||||
</li>
|
||||
<li class="tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-private">
|
||||
<a href="Sern.Handler.html#findModuleFrom" class="tsd-kind-icon">find<wbr />Module<wbr />From</a>
|
||||
</li>
|
||||
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-private">
|
||||
<a href="Sern.Handler.html#interactionResult" class="tsd-kind-icon">interaction<wbr />Result</a>
|
||||
</li>
|
||||
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-private">
|
||||
<a href="Sern.Handler.html#registerModules" class="tsd-kind-icon">register<wbr />Modules</a>
|
||||
</li>
|
||||
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-private">
|
||||
<a href="Sern.Handler.html#reloadSlash" class="tsd-kind-icon">reload<wbr />Slash</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 id="constructor" class="tsd-anchor"></a>
|
||||
<h3 class="tsd-anchor-link">
|
||||
constructor<a href="#constructor" aria-label="Permalink" class="tsd-anchor-icon"
|
||||
><svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
class="icon icon-tabler icon-tabler-link"
|
||||
viewBox="0 0 24 24"
|
||||
stroke-width="2"
|
||||
stroke="currentColor"
|
||||
fill="none"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
|
||||
<path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path>
|
||||
<path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg
|
||||
></a>
|
||||
</h3>
|
||||
<ul class="tsd-signatures tsd-kind-constructor tsd-parent-kind-class">
|
||||
<li class="tsd-signature tsd-kind-icon">
|
||||
new <wbr />Handler<span class="tsd-signature-symbol">(</span>wrapper<span class="tsd-signature-symbol"
|
||||
>: </span
|
||||
><a href="../interfaces/Sern.Wrapper.html" class="tsd-signature-type" data-tsd-kind="Interface"
|
||||
>Wrapper</a
|
||||
><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span
|
||||
><a href="Sern.Handler.html" class="tsd-signature-type" data-tsd-kind="Class">Handler</a>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="tsd-descriptions">
|
||||
<li class="tsd-description">
|
||||
<aside class="tsd-sources">
|
||||
<ul>
|
||||
<li>
|
||||
Defined in
|
||||
<a href="https://github.com/sern-handler/Sern/blob/29d92ca/src/handler/sern.ts#L36"
|
||||
>handler/sern.ts:36</a
|
||||
>
|
||||
</li>
|
||||
</ul>
|
||||
</aside>
|
||||
<h4 class="tsd-parameters-title">Parameters</h4>
|
||||
<ul class="tsd-parameters">
|
||||
<li>
|
||||
<h5>
|
||||
wrapper:
|
||||
<a href="../interfaces/Sern.Wrapper.html" class="tsd-signature-type" data-tsd-kind="Interface"
|
||||
>Wrapper</a
|
||||
>
|
||||
</h5>
|
||||
<div class="tsd-comment tsd-typography">
|
||||
<div class="lead">
|
||||
<p>The data that is required to run sern handler</p>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
<h4 class="tsd-returns-title">
|
||||
Returns <a href="Sern.Handler.html" class="tsd-signature-type" data-tsd-kind="Class">Handler</a>
|
||||
</h4>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
</section>
|
||||
<section class="tsd-panel-group tsd-member-group tsd-is-private tsd-is-private-protected">
|
||||
<h2>Properties</h2>
|
||||
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-private">
|
||||
<a id="wrapper" class="tsd-anchor"></a>
|
||||
<h3 class="tsd-anchor-link">
|
||||
<span class="tsd-flag ts-flagPrivate">Private</span> wrapper<a
|
||||
href="#wrapper"
|
||||
aria-label="Permalink"
|
||||
class="tsd-anchor-icon"
|
||||
><svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
class="icon icon-tabler icon-tabler-link"
|
||||
viewBox="0 0 24 24"
|
||||
stroke-width="2"
|
||||
stroke="currentColor"
|
||||
fill="none"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
|
||||
<path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path>
|
||||
<path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg
|
||||
></a>
|
||||
</h3>
|
||||
<div class="tsd-signature tsd-kind-icon">
|
||||
wrapper<span class="tsd-signature-symbol">:</span>
|
||||
<a href="../interfaces/Sern.Wrapper.html" class="tsd-signature-type" data-tsd-kind="Interface"
|
||||
>Wrapper</a
|
||||
>
|
||||
</div>
|
||||
<aside class="tsd-sources">
|
||||
<ul>
|
||||
<li>
|
||||
Defined in
|
||||
<a href="https://github.com/sern-handler/Sern/blob/29d92ca/src/handler/sern.ts#L28"
|
||||
>handler/sern.ts:28</a
|
||||
>
|
||||
</li>
|
||||
</ul>
|
||||
</aside>
|
||||
</section>
|
||||
</section>
|
||||
<section class="tsd-panel-group tsd-member-group">
|
||||
<h2>Accessors</h2>
|
||||
<section class="tsd-panel tsd-member tsd-kind-get-signature tsd-parent-kind-class">
|
||||
<a id="client" class="tsd-anchor"></a>
|
||||
<h3 class="tsd-anchor-link">
|
||||
client<a href="#client" aria-label="Permalink" class="tsd-anchor-icon"
|
||||
><svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
class="icon icon-tabler icon-tabler-link"
|
||||
viewBox="0 0 24 24"
|
||||
stroke-width="2"
|
||||
stroke="currentColor"
|
||||
fill="none"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
|
||||
<path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path>
|
||||
<path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg
|
||||
></a>
|
||||
</h3>
|
||||
<ul class="tsd-signatures tsd-kind-get-signature tsd-parent-kind-class">
|
||||
<li class="tsd-signature tsd-kind-icon">
|
||||
<span class="tsd-signature-symbol">get</span> client<span class="tsd-signature-symbol">(</span
|
||||
><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span
|
||||
><span class="tsd-signature-type">Client</span><span class="tsd-signature-symbol"><</span
|
||||
><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">></span>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="tsd-descriptions">
|
||||
<li class="tsd-description">
|
||||
<aside class="tsd-sources">
|
||||
<ul>
|
||||
<li>
|
||||
Defined in
|
||||
<a href="https://github.com/sern-handler/Sern/blob/29d92ca/src/handler/sern.ts#L246"
|
||||
>handler/sern.ts:246</a
|
||||
>
|
||||
</li>
|
||||
</ul>
|
||||
</aside>
|
||||
<div class="tsd-comment tsd-typography">
|
||||
<dl class="tsd-comment-tags">
|
||||
<dt>readonly</dt>
|
||||
<dd></dd>
|
||||
</dl>
|
||||
</div>
|
||||
<h4 class="tsd-returns-title">
|
||||
Returns <span class="tsd-signature-type">Client</span><span class="tsd-signature-symbol"><</span
|
||||
><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">></span>
|
||||
</h4>
|
||||
<div><p>the discord.js client (DiscordJS#Client));</p></div>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
<section class="tsd-panel tsd-member tsd-kind-get-signature tsd-parent-kind-class">
|
||||
<a id="commandDir" class="tsd-anchor"></a>
|
||||
<h3 class="tsd-anchor-link">
|
||||
command<wbr />Dir<a href="#commandDir" aria-label="Permalink" class="tsd-anchor-icon"
|
||||
><svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
class="icon icon-tabler icon-tabler-link"
|
||||
viewBox="0 0 24 24"
|
||||
stroke-width="2"
|
||||
stroke="currentColor"
|
||||
fill="none"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
|
||||
<path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path>
|
||||
<path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg
|
||||
></a>
|
||||
</h3>
|
||||
<ul class="tsd-signatures tsd-kind-get-signature tsd-parent-kind-class">
|
||||
<li class="tsd-signature tsd-kind-icon">
|
||||
<span class="tsd-signature-symbol">get</span> commandDir<span class="tsd-signature-symbol">(</span
|
||||
><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span
|
||||
><span class="tsd-signature-type">string</span>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="tsd-descriptions">
|
||||
<li class="tsd-description">
|
||||
<aside class="tsd-sources">
|
||||
<ul>
|
||||
<li>
|
||||
Defined in
|
||||
<a href="https://github.com/sern-handler/Sern/blob/29d92ca/src/handler/sern.ts#L237"
|
||||
>handler/sern.ts:237</a
|
||||
>
|
||||
</li>
|
||||
</ul>
|
||||
</aside>
|
||||
<div class="tsd-comment tsd-typography">
|
||||
<dl class="tsd-comment-tags">
|
||||
<dt>readonly</dt>
|
||||
<dd></dd>
|
||||
</dl>
|
||||
</div>
|
||||
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span></h4>
|
||||
<div><p>Directory of the commands folder</p></div>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
<section class="tsd-panel tsd-member tsd-kind-get-signature tsd-parent-kind-class">
|
||||
<a id="prefix" class="tsd-anchor"></a>
|
||||
<h3 class="tsd-anchor-link">
|
||||
prefix<a href="#prefix" aria-label="Permalink" class="tsd-anchor-icon"
|
||||
><svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
class="icon icon-tabler icon-tabler-link"
|
||||
viewBox="0 0 24 24"
|
||||
stroke-width="2"
|
||||
stroke="currentColor"
|
||||
fill="none"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
|
||||
<path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path>
|
||||
<path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg
|
||||
></a>
|
||||
</h3>
|
||||
<ul class="tsd-signatures tsd-kind-get-signature tsd-parent-kind-class">
|
||||
<li class="tsd-signature tsd-kind-icon">
|
||||
<span class="tsd-signature-symbol">get</span> prefix<span class="tsd-signature-symbol">(</span
|
||||
><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span
|
||||
><span class="tsd-signature-type">string</span>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="tsd-descriptions">
|
||||
<li class="tsd-description">
|
||||
<aside class="tsd-sources">
|
||||
<ul>
|
||||
<li>
|
||||
Defined in
|
||||
<a href="https://github.com/sern-handler/Sern/blob/29d92ca/src/handler/sern.ts#L228"
|
||||
>handler/sern.ts:228</a
|
||||
>
|
||||
</li>
|
||||
</ul>
|
||||
</aside>
|
||||
<div class="tsd-comment tsd-typography">
|
||||
<dl class="tsd-comment-tags">
|
||||
<dt>readonly</dt>
|
||||
<dd></dd>
|
||||
</dl>
|
||||
</div>
|
||||
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span></h4>
|
||||
<div><p>The prefix used for legacy commands</p></div>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
<section class="tsd-panel tsd-member tsd-kind-get-signature tsd-parent-kind-class">
|
||||
<a id="privateServers" class="tsd-anchor"></a>
|
||||
<h3 class="tsd-anchor-link">
|
||||
private<wbr />Servers<a href="#privateServers" aria-label="Permalink" class="tsd-anchor-icon"
|
||||
><svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
class="icon icon-tabler icon-tabler-link"
|
||||
viewBox="0 0 24 24"
|
||||
stroke-width="2"
|
||||
stroke="currentColor"
|
||||
fill="none"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
|
||||
<path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path>
|
||||
<path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg
|
||||
></a>
|
||||
</h3>
|
||||
<ul class="tsd-signatures tsd-kind-get-signature tsd-parent-kind-class">
|
||||
<li class="tsd-signature tsd-kind-icon">
|
||||
<span class="tsd-signature-symbol">get</span> privateServers<span class="tsd-signature-symbol">(</span
|
||||
><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span
|
||||
><span class="tsd-signature-symbol">{ </span>id<span class="tsd-signature-symbol">: </span
|
||||
><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>test<span
|
||||
class="tsd-signature-symbol"
|
||||
>: </span
|
||||
><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol"> }</span
|
||||
><span class="tsd-signature-symbol">[]</span>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="tsd-descriptions">
|
||||
<li class="tsd-description">
|
||||
<aside class="tsd-sources">
|
||||
<ul>
|
||||
<li>
|
||||
Defined in
|
||||
<a href="https://github.com/sern-handler/Sern/blob/29d92ca/src/handler/sern.ts#L255"
|
||||
>handler/sern.ts:255</a
|
||||
>
|
||||
</li>
|
||||
</ul>
|
||||
</aside>
|
||||
<div class="tsd-comment tsd-typography">
|
||||
<dl class="tsd-comment-tags">
|
||||
<dt>readonly</dt>
|
||||
<dd></dd>
|
||||
</dl>
|
||||
</div>
|
||||
<h4 class="tsd-returns-title">
|
||||
Returns <span class="tsd-signature-symbol">{ </span>id<span class="tsd-signature-symbol">: </span
|
||||
><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>test<span
|
||||
class="tsd-signature-symbol"
|
||||
>: </span
|
||||
><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol"> }</span
|
||||
><span class="tsd-signature-symbol">[]</span>
|
||||
</h4>
|
||||
<div><p>[]} Private server ID for testing or personal use</p></div>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
</section>
|
||||
<section class="tsd-panel-group tsd-member-group tsd-is-private tsd-is-private-protected">
|
||||
<h2>Methods</h2>
|
||||
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-private">
|
||||
<a id="commandResult" class="tsd-anchor"></a>
|
||||
<h3 class="tsd-anchor-link">
|
||||
<span class="tsd-flag ts-flagPrivate">Private</span> command<wbr />Result<a
|
||||
href="#commandResult"
|
||||
aria-label="Permalink"
|
||||
class="tsd-anchor-icon"
|
||||
><svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
class="icon icon-tabler icon-tabler-link"
|
||||
viewBox="0 0 24 24"
|
||||
stroke-width="2"
|
||||
stroke="currentColor"
|
||||
fill="none"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
|
||||
<path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path>
|
||||
<path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg
|
||||
></a>
|
||||
</h3>
|
||||
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-private">
|
||||
<li class="tsd-signature tsd-kind-icon">
|
||||
command<wbr />Result<span class="tsd-signature-symbol">(</span>module<span
|
||||
class="tsd-signature-symbol"
|
||||
>: </span
|
||||
><span class="tsd-signature-type">CommandVal</span>, message<span class="tsd-signature-symbol"
|
||||
>: </span
|
||||
><span class="tsd-signature-type">Message</span><span class="tsd-signature-symbol"><</span
|
||||
><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">></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"><</span
|
||||
><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span
|
||||
><a href="../modules/Types.html#possibleOutput" class="tsd-signature-type" data-tsd-kind="Type alias"
|
||||
>possibleOutput</a
|
||||
><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>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="tsd-descriptions">
|
||||
<li class="tsd-description">
|
||||
<aside class="tsd-sources">
|
||||
<ul>
|
||||
<li>
|
||||
Defined in
|
||||
<a href="https://github.com/sern-handler/Sern/blob/29d92ca/src/handler/sern.ts#L112"
|
||||
>handler/sern.ts:112</a
|
||||
>
|
||||
</li>
|
||||
</ul>
|
||||
</aside>
|
||||
<h4 class="tsd-parameters-title">Parameters</h4>
|
||||
<ul class="tsd-parameters">
|
||||
<li>
|
||||
<h5>module: <span class="tsd-signature-type">CommandVal</span></h5>
|
||||
<div class="tsd-comment tsd-typography">
|
||||
<div class="lead">
|
||||
<p>Command file information</p>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<h5>
|
||||
message: <span class="tsd-signature-type">Message</span
|
||||
><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">boolean</span
|
||||
><span class="tsd-signature-symbol">></span>
|
||||
</h5>
|
||||
<div class="tsd-comment tsd-typography">
|
||||
<div class="lead">
|
||||
<p>The message object</p>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
<h4 class="tsd-returns-title">
|
||||
Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span
|
||||
><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span
|
||||
><a
|
||||
href="../modules/Types.html#possibleOutput"
|
||||
class="tsd-signature-type"
|
||||
data-tsd-kind="Type alias"
|
||||
>possibleOutput</a
|
||||
><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>
|
||||
</h4>
|
||||
<div><p>Takes return value and replies it, if possible input</p></div>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
<section
|
||||
class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-private"
|
||||
>
|
||||
<a id="findModuleFrom" class="tsd-anchor"></a>
|
||||
<h3 class="tsd-anchor-link">
|
||||
<span class="tsd-flag ts-flagPrivate">Private</span> find<wbr />Module<wbr />From<a
|
||||
href="#findModuleFrom"
|
||||
aria-label="Permalink"
|
||||
class="tsd-anchor-icon"
|
||||
><svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
class="icon icon-tabler icon-tabler-link"
|
||||
viewBox="0 0 24 24"
|
||||
stroke-width="2"
|
||||
stroke="currentColor"
|
||||
fill="none"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
|
||||
<path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path>
|
||||
<path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg
|
||||
></a>
|
||||
</h3>
|
||||
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-private">
|
||||
<li class="tsd-signature tsd-kind-icon">
|
||||
find<wbr />Module<wbr />From<span class="tsd-signature-symbol"><</span
|
||||
><span class="tsd-signature-type" data-tsd-kind="Type parameter">T</span
|
||||
><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">(</span>ctx<span
|
||||
class="tsd-signature-symbol"
|
||||
>: </span
|
||||
><span class="tsd-signature-type" data-tsd-kind="Type parameter">T</span
|
||||
><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span
|
||||
><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span
|
||||
><span class="tsd-signature-type">CommandVal</span>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="tsd-descriptions">
|
||||
<li class="tsd-description">
|
||||
<aside class="tsd-sources">
|
||||
<ul>
|
||||
<li>
|
||||
Defined in
|
||||
<a href="https://github.com/sern-handler/Sern/blob/29d92ca/src/handler/sern.ts#L194"
|
||||
>handler/sern.ts:194</a
|
||||
>
|
||||
</li>
|
||||
</ul>
|
||||
</aside>
|
||||
<h4 class="tsd-type-parameters-title">Type parameters</h4>
|
||||
<ul class="tsd-type-parameters">
|
||||
<li>
|
||||
<h4>
|
||||
T<span class="tsd-signature-symbol">: </span
|
||||
><span class="tsd-signature-type">CommandInteraction</span
|
||||
><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">CacheType</span
|
||||
><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol"> | </span
|
||||
><span class="tsd-signature-type">Message</span><span class="tsd-signature-symbol"><</span
|
||||
><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">></span>
|
||||
</h4>
|
||||
</li>
|
||||
</ul>
|
||||
<h4 class="tsd-parameters-title">Parameters</h4>
|
||||
<ul class="tsd-parameters">
|
||||
<li>
|
||||
<h5>ctx: <span class="tsd-signature-type" data-tsd-kind="Type parameter">T</span></h5>
|
||||
<div class="tsd-comment tsd-typography">
|
||||
<div class="lead">
|
||||
<p>name of possible command</p>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
<h4 class="tsd-returns-title">
|
||||
Returns <span class="tsd-signature-type">undefined</span
|
||||
><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">CommandVal</span>
|
||||
</h4>
|
||||
<div></div>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-private">
|
||||
<a id="interactionResult" class="tsd-anchor"></a>
|
||||
<h3 class="tsd-anchor-link">
|
||||
<span class="tsd-flag ts-flagPrivate">Private</span> interaction<wbr />Result<a
|
||||
href="#interactionResult"
|
||||
aria-label="Permalink"
|
||||
class="tsd-anchor-icon"
|
||||
><svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
class="icon icon-tabler icon-tabler-link"
|
||||
viewBox="0 0 24 24"
|
||||
stroke-width="2"
|
||||
stroke="currentColor"
|
||||
fill="none"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
|
||||
<path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path>
|
||||
<path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg
|
||||
></a>
|
||||
</h3>
|
||||
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-private">
|
||||
<li class="tsd-signature tsd-kind-icon">
|
||||
interaction<wbr />Result<span class="tsd-signature-symbol">(</span>module<span
|
||||
class="tsd-signature-symbol"
|
||||
>: </span
|
||||
><span class="tsd-signature-type">CommandVal</span>, interaction<span class="tsd-signature-symbol"
|
||||
>: </span
|
||||
><span class="tsd-signature-type">CommandInteraction</span
|
||||
><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">CacheType</span
|
||||
><span class="tsd-signature-symbol">></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"><</span><span class="tsd-signature-type">undefined</span
|
||||
><span class="tsd-signature-symbol"> | </span
|
||||
><a href="../modules/Types.html#possibleOutput" class="tsd-signature-type" data-tsd-kind="Type alias"
|
||||
>possibleOutput</a
|
||||
><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>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="tsd-descriptions">
|
||||
<li class="tsd-description">
|
||||
<aside class="tsd-sources">
|
||||
<ul>
|
||||
<li>
|
||||
Defined in
|
||||
<a href="https://github.com/sern-handler/Sern/blob/29d92ca/src/handler/sern.ts#L88"
|
||||
>handler/sern.ts:88</a
|
||||
>
|
||||
</li>
|
||||
</ul>
|
||||
</aside>
|
||||
<h4 class="tsd-parameters-title">Parameters</h4>
|
||||
<ul class="tsd-parameters">
|
||||
<li>
|
||||
<h5>module: <span class="tsd-signature-type">CommandVal</span></h5>
|
||||
<div class="tsd-comment tsd-typography">
|
||||
<div class="lead">
|
||||
<p>Command file information</p>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<h5>
|
||||
interaction: <span class="tsd-signature-type">CommandInteraction</span
|
||||
><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">CacheType</span
|
||||
><span class="tsd-signature-symbol">></span>
|
||||
</h5>
|
||||
<div class="tsd-comment tsd-typography">
|
||||
<div class="lead">
|
||||
<p>The Discord.js command interaction (DiscordJS#CommandInteraction))</p>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
<h4 class="tsd-returns-title">
|
||||
Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span
|
||||
><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span
|
||||
><a
|
||||
href="../modules/Types.html#possibleOutput"
|
||||
class="tsd-signature-type"
|
||||
data-tsd-kind="Type alias"
|
||||
>possibleOutput</a
|
||||
><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>
|
||||
</h4>
|
||||
<div><p>Takes return value and replies it, if possible input</p></div>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-private">
|
||||
<a id="registerModules" class="tsd-anchor"></a>
|
||||
<h3 class="tsd-anchor-link">
|
||||
<span class="tsd-flag ts-flagPrivate">Private</span> register<wbr />Modules<a
|
||||
href="#registerModules"
|
||||
aria-label="Permalink"
|
||||
class="tsd-anchor-icon"
|
||||
><svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
class="icon icon-tabler icon-tabler-link"
|
||||
viewBox="0 0 24 24"
|
||||
stroke-width="2"
|
||||
stroke="currentColor"
|
||||
fill="none"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
|
||||
<path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path>
|
||||
<path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg
|
||||
></a>
|
||||
</h3>
|
||||
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-private">
|
||||
<li class="tsd-signature tsd-kind-icon">
|
||||
register<wbr />Modules<span class="tsd-signature-symbol">(</span>modArr<span
|
||||
class="tsd-signature-symbol"
|
||||
>: </span
|
||||
><span class="tsd-signature-symbol">{ </span>absPath<span class="tsd-signature-symbol">: </span
|
||||
><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>mod<span
|
||||
class="tsd-signature-symbol"
|
||||
>: </span
|
||||
><a href="../interfaces/Sern.Module.html" class="tsd-signature-type" data-tsd-kind="Interface"
|
||||
>Module</a
|
||||
><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">unknown</span
|
||||
><span class="tsd-signature-symbol">></span><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-symbol">)</span
|
||||
><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span
|
||||
><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span
|
||||
><span class="tsd-signature-symbol">></span>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="tsd-descriptions">
|
||||
<li class="tsd-description">
|
||||
<aside class="tsd-sources">
|
||||
<ul>
|
||||
<li>
|
||||
Defined in
|
||||
<a href="https://github.com/sern-handler/Sern/blob/29d92ca/src/handler/sern.ts#L142"
|
||||
>handler/sern.ts:142</a
|
||||
>
|
||||
</li>
|
||||
</ul>
|
||||
</aside>
|
||||
<div class="tsd-comment tsd-typography">
|
||||
<div class="lead">
|
||||
<p>This function chains <code>Files.buildData</code></p>
|
||||
</div>
|
||||
</div>
|
||||
<h4 class="tsd-parameters-title">Parameters</h4>
|
||||
<ul class="tsd-parameters">
|
||||
<li>
|
||||
<h5>
|
||||
modArr: <span class="tsd-signature-symbol">{ </span>absPath<span class="tsd-signature-symbol"
|
||||
>: </span
|
||||
><span class="tsd-signature-type">string</span
|
||||
><span class="tsd-signature-symbol">; </span>mod<span class="tsd-signature-symbol">: </span
|
||||
><a href="../interfaces/Sern.Module.html" class="tsd-signature-type" data-tsd-kind="Interface"
|
||||
>Module</a
|
||||
><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">unknown</span
|
||||
><span class="tsd-signature-symbol">></span
|
||||
><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>
|
||||
</h5>
|
||||
<div class="tsd-comment tsd-typography">
|
||||
<div class="lead">
|
||||
<p>module information</p>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
<h4 class="tsd-returns-title">
|
||||
Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span
|
||||
><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span>
|
||||
</h4>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-private">
|
||||
<a id="reloadSlash" class="tsd-anchor"></a>
|
||||
<h3 class="tsd-anchor-link">
|
||||
<span class="tsd-flag ts-flagPrivate">Private</span> reload<wbr />Slash<a
|
||||
href="#reloadSlash"
|
||||
aria-label="Permalink"
|
||||
class="tsd-anchor-icon"
|
||||
><svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
class="icon icon-tabler icon-tabler-link"
|
||||
viewBox="0 0 24 24"
|
||||
stroke-width="2"
|
||||
stroke="currentColor"
|
||||
fill="none"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
|
||||
<path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path>
|
||||
<path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg
|
||||
></a>
|
||||
</h3>
|
||||
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-private">
|
||||
<li class="tsd-signature tsd-kind-icon">
|
||||
reload<wbr />Slash<span class="tsd-signature-symbol">(</span>cmdName<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>, options<span class="tsd-signature-symbol">: </span
|
||||
><span class="tsd-signature-type">ApplicationCommandOptionData</span
|
||||
><span class="tsd-signature-symbol">[]</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"><</span><span class="tsd-signature-type">void</span
|
||||
><span class="tsd-signature-symbol">></span>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="tsd-descriptions">
|
||||
<li class="tsd-description">
|
||||
<aside class="tsd-sources">
|
||||
<ul>
|
||||
<li>
|
||||
Defined in
|
||||
<a href="https://github.com/sern-handler/Sern/blob/29d92ca/src/handler/sern.ts#L207"
|
||||
>handler/sern.ts:207</a
|
||||
>
|
||||
</li>
|
||||
</ul>
|
||||
</aside>
|
||||
<h4 class="tsd-parameters-title">Parameters</h4>
|
||||
<ul class="tsd-parameters">
|
||||
<li>
|
||||
<h5>cmdName: <span class="tsd-signature-type">string</span></h5>
|
||||
<div class="tsd-comment tsd-typography">
|
||||
<div class="lead">
|
||||
<p>name of command</p>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<h5>description: <span class="tsd-signature-type">string</span></h5>
|
||||
<div class="tsd-comment tsd-typography">
|
||||
<div class="lead">
|
||||
<p>description of command</p>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<h5>
|
||||
options: <span class="tsd-signature-type">ApplicationCommandOptionData</span
|
||||
><span class="tsd-signature-symbol">[]</span>
|
||||
</h5>
|
||||
<div class="tsd-comment tsd-typography">
|
||||
<div class="lead">
|
||||
<p>any options for the slash command</p>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
<h4 class="tsd-returns-title">
|
||||
Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span
|
||||
><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></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>
|
||||
<li class="current tsd-kind-namespace"><a href="../modules/Sern.html">Sern</a></li>
|
||||
<li class="tsd-kind-namespace"><a href="../modules/Types.html">Types</a></li>
|
||||
<li class="tsd-kind-namespace"><a href="../modules/Utils.html">Utils</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
<nav class="tsd-navigation secondary menu-sticky">
|
||||
<ul>
|
||||
<li class="current tsd-kind-class tsd-parent-kind-namespace">
|
||||
<a href="Sern.Handler.html" class="tsd-kind-icon">Handler</a>
|
||||
<ul>
|
||||
<li class="tsd-kind-constructor tsd-parent-kind-class">
|
||||
<a href="Sern.Handler.html#constructor" class="tsd-kind-icon">constructor</a>
|
||||
</li>
|
||||
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-private">
|
||||
<a href="Sern.Handler.html#wrapper" class="tsd-kind-icon">wrapper</a>
|
||||
</li>
|
||||
<li class="tsd-kind-get-signature tsd-parent-kind-class">
|
||||
<a href="Sern.Handler.html#client" class="tsd-kind-icon">client</a>
|
||||
</li>
|
||||
<li class="tsd-kind-get-signature tsd-parent-kind-class">
|
||||
<a href="Sern.Handler.html#commandDir" class="tsd-kind-icon">command<wbr />Dir</a>
|
||||
</li>
|
||||
<li class="tsd-kind-get-signature tsd-parent-kind-class">
|
||||
<a href="Sern.Handler.html#prefix" class="tsd-kind-icon">prefix</a>
|
||||
</li>
|
||||
<li class="tsd-kind-get-signature tsd-parent-kind-class">
|
||||
<a href="Sern.Handler.html#privateServers" class="tsd-kind-icon">private<wbr />Servers</a>
|
||||
</li>
|
||||
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-private">
|
||||
<a href="Sern.Handler.html#commandResult" class="tsd-kind-icon">command<wbr />Result</a>
|
||||
</li>
|
||||
<li class="tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-private">
|
||||
<a href="Sern.Handler.html#findModuleFrom" class="tsd-kind-icon">find<wbr />Module<wbr />From</a>
|
||||
</li>
|
||||
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-private">
|
||||
<a href="Sern.Handler.html#interactionResult" class="tsd-kind-icon">interaction<wbr />Result</a>
|
||||
</li>
|
||||
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-private">
|
||||
<a href="Sern.Handler.html#registerModules" class="tsd-kind-icon">register<wbr />Modules</a>
|
||||
</li>
|
||||
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-private">
|
||||
<a href="Sern.Handler.html#reloadSlash" class="tsd-kind-icon">reload<wbr />Slash</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-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-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</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>
|
||||
@@ -1,204 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html class="default">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta http-equiv="x-ua-compatible" content="IE=edge" />
|
||||
<title>CommandType - SernHandler</title>
|
||||
<meta name="description" content="Documentation for sern-handler" />
|
||||
<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>
|
||||
<script>
|
||||
document.body.classList.add(localStorage.getItem('tsd-theme') || 'os');
|
||||
</script>
|
||||
<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">sern-handler</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">sern-handler</a></li>
|
||||
<li><a href="../modules/Sern.html">Sern</a></li>
|
||||
<li><a href="Sern.CommandType.html">CommandType</a></li>
|
||||
</ul>
|
||||
<h1>Enumeration CommandType</h1>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
<div class="container container-main">
|
||||
<div class="row">
|
||||
<div class="col-8 col-content">
|
||||
<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>Enumeration members</h3>
|
||||
<ul class="tsd-index-list">
|
||||
<li class="tsd-kind-enum-member tsd-parent-kind-enum">
|
||||
<a href="Sern.CommandType.html#SLASH" class="tsd-kind-icon">SLASH</a>
|
||||
</li>
|
||||
<li class="tsd-kind-enum-member tsd-parent-kind-enum">
|
||||
<a href="Sern.CommandType.html#TEXT" class="tsd-kind-icon">TEXT</a>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
</div>
|
||||
</section>
|
||||
</section>
|
||||
<section class="tsd-panel-group tsd-member-group">
|
||||
<h2>Enumeration members</h2>
|
||||
<section class="tsd-panel tsd-member tsd-kind-enum-member tsd-parent-kind-enum">
|
||||
<a id="SLASH" class="tsd-anchor"></a>
|
||||
<h3 class="tsd-anchor-link">
|
||||
SLASH<a href="#SLASH" aria-label="Permalink" class="tsd-anchor-icon"
|
||||
><svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
class="icon icon-tabler icon-tabler-link"
|
||||
viewBox="0 0 24 24"
|
||||
stroke-width="2"
|
||||
stroke="currentColor"
|
||||
fill="none"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
|
||||
<path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path>
|
||||
<path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg
|
||||
></a>
|
||||
</h3>
|
||||
<div class="tsd-signature tsd-kind-icon">SLASH<span class="tsd-signature-symbol"> = 2</span></div>
|
||||
<aside class="tsd-sources">
|
||||
<ul>
|
||||
<li>
|
||||
Defined in
|
||||
<a href="https://github.com/sern-handler/Sern/blob/29d92ca/src/handler/sern.ts#L303"
|
||||
>handler/sern.ts:303</a
|
||||
>
|
||||
</li>
|
||||
</ul>
|
||||
</aside>
|
||||
</section>
|
||||
<section class="tsd-panel tsd-member tsd-kind-enum-member tsd-parent-kind-enum">
|
||||
<a id="TEXT" class="tsd-anchor"></a>
|
||||
<h3 class="tsd-anchor-link">
|
||||
TEXT<a href="#TEXT" aria-label="Permalink" class="tsd-anchor-icon"
|
||||
><svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
class="icon icon-tabler icon-tabler-link"
|
||||
viewBox="0 0 24 24"
|
||||
stroke-width="2"
|
||||
stroke="currentColor"
|
||||
fill="none"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
|
||||
<path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path>
|
||||
<path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg
|
||||
></a>
|
||||
</h3>
|
||||
<div class="tsd-signature tsd-kind-icon">TEXT<span class="tsd-signature-symbol"> = 1</span></div>
|
||||
<aside class="tsd-sources">
|
||||
<ul>
|
||||
<li>
|
||||
Defined in
|
||||
<a href="https://github.com/sern-handler/Sern/blob/29d92ca/src/handler/sern.ts#L302"
|
||||
>handler/sern.ts:302</a
|
||||
>
|
||||
</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>
|
||||
<li class="current tsd-kind-namespace"><a href="../modules/Sern.html">Sern</a></li>
|
||||
<li class="tsd-kind-namespace"><a href="../modules/Types.html">Types</a></li>
|
||||
<li class="tsd-kind-namespace"><a href="../modules/Utils.html">Utils</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
<nav class="tsd-navigation secondary menu-sticky">
|
||||
<ul>
|
||||
<li class="current tsd-kind-enum tsd-parent-kind-namespace">
|
||||
<a href="Sern.CommandType.html" class="tsd-kind-icon">Command<wbr />Type</a>
|
||||
<ul>
|
||||
<li class="tsd-kind-enum-member tsd-parent-kind-enum">
|
||||
<a href="Sern.CommandType.html#SLASH" class="tsd-kind-icon">SLASH</a>
|
||||
</li>
|
||||
<li class="tsd-kind-enum-member tsd-parent-kind-enum">
|
||||
<a href="Sern.CommandType.html#TEXT" class="tsd-kind-icon">TEXT</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<footer class="with-border-bottom">
|
||||
<div class="container">
|
||||
<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>
|
||||
168
docs/index.html
168
docs/index.html
@@ -1,168 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html class="default">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta http-equiv="x-ua-compatible" content="IE=edge" />
|
||||
<title>SernHandler</title>
|
||||
<meta name="description" content="Documentation for sern-handler" />
|
||||
<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>
|
||||
<script>
|
||||
document.body.classList.add(localStorage.getItem('tsd-theme') || 'os');
|
||||
</script>
|
||||
<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">sern-handler</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"><h1>sern-handler</h1></div>
|
||||
</div>
|
||||
</header>
|
||||
<div class="container container-main">
|
||||
<div class="row">
|
||||
<div class="col-8 col-content">
|
||||
<div class="tsd-panel tsd-typography">
|
||||
<a href="#sern-handler" id="sern-handler" style="color: inherit; text-decoration: none">
|
||||
<h1>Sern Handler</h1>
|
||||
</a>
|
||||
<a href="https://www.npmjs.com/package/sern-handler">
|
||||
<img src="https://img.shields.io/npm/v/sern_handler?maxAge=3600" alt="NPM version"
|
||||
/></a>
|
||||
<a href="https://www.npmjs.com/package/sern-handler"
|
||||
><img src="https://img.shields.io/npm/dt/sern_handler?maxAge=3600" alt="NPM downloads"
|
||||
/></a>
|
||||
<a href="https://www.npmjs.com/package/sern-handler"
|
||||
><img src="https://img.shields.io/badge/builds-stable" alt="Builds Passing"
|
||||
/></a>
|
||||
|
||||
<p>
|
||||
Sern can automate and streamline development of your discord bot with new version compatibility and full
|
||||
customization.
|
||||
</p>
|
||||
<ul>
|
||||
<li>A reincarnation of <a href="https://github.com/jacoobes/sern_handler">this old project</a></li>
|
||||
</ul>
|
||||
|
||||
<a href="#installation" id="installation" style="color: inherit; text-decoration: none">
|
||||
<h2>Installation</h2>
|
||||
</a>
|
||||
<pre><code class="language-sh"><span class="hl-0">npm install sern-handler</span>
|
||||
</code></pre>
|
||||
<pre><code class="language-sh"><span class="hl-0">yarn add sern-handler</span>
|
||||
</code></pre>
|
||||
<pre><code class="language-sh"><span class="hl-0">pnpm add sern-handler</span>
|
||||
</code></pre>
|
||||
|
||||
<a href="#basic-usage" id="basic-usage" style="color: inherit; text-decoration: none">
|
||||
<h2>Basic Usage</h2>
|
||||
</a>
|
||||
|
||||
<a href="#indexjs" id="indexjs" style="color: inherit; text-decoration: none">
|
||||
<h4><code>index.js</code></h4>
|
||||
</a>
|
||||
<pre><code class="language-js"><span class="hl-1">import</span><span class="hl-0"> { </span><span class="hl-2">Client</span><span class="hl-0">, </span><span class="hl-2">Intents</span><span class="hl-0"> } </span><span class="hl-1">from</span><span class="hl-0"> </span><span class="hl-3">'discord.js'</span><span class="hl-0">;</span><br/><span class="hl-1">import</span><span class="hl-0"> { </span><span class="hl-2">Sern</span><span class="hl-0"> } </span><span class="hl-1">from</span><span class="hl-0"> </span><span class="hl-3">'sern-handler'</span><span class="hl-0">;</span><br/><span class="hl-1">import</span><span class="hl-0"> { </span><span class="hl-2">prefix</span><span class="hl-0">, </span><span class="hl-2">token</span><span class="hl-0"> } </span><span class="hl-1">from</span><span class="hl-0"> </span><span class="hl-3">'../src/secrets.json'</span><span class="hl-0">;</span><br/><br/><span class="hl-4">const</span><span class="hl-0"> </span><span class="hl-5">client</span><span class="hl-0"> = </span><span class="hl-4">new</span><span class="hl-0"> </span><span class="hl-6">Client</span><span class="hl-0">({</span><br/><span class="hl-0"> </span><span class="hl-2">intents:</span><span class="hl-0"> [</span><br/><span class="hl-0"> </span><span class="hl-2">Intents</span><span class="hl-0">.</span><span class="hl-5">FLAGS</span><span class="hl-0">.</span><span class="hl-5">GUILDS</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-2">Intents</span><span class="hl-0">.</span><span class="hl-5">FLAGS</span><span class="hl-0">.</span><span class="hl-5">GUILD_MESSAGES</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-2">Intents</span><span class="hl-0">.</span><span class="hl-5">FLAGS</span><span class="hl-0">.</span><span class="hl-5">GUILD_MEMBERS</span><br/><span class="hl-0"> ]</span><br/><span class="hl-0">});</span><br/><br/><span class="hl-4">new</span><span class="hl-0"> </span><span class="hl-2">Sern</span><span class="hl-0">.</span><span class="hl-6">Handler</span><span class="hl-0">({</span><br/><span class="hl-0"> </span><span class="hl-2">client</span><span class="hl-0">, </span><br/><span class="hl-0"> </span><span class="hl-2">prefix</span><span class="hl-0">, </span><br/><span class="hl-0"> </span><span class="hl-2">commands :</span><span class="hl-0"> </span><span class="hl-3">'dist/commands'</span><span class="hl-0">, </span><br/><span class="hl-0"> </span><span class="hl-2">privateServers :</span><span class="hl-0"> [ </span><br/><span class="hl-0"> {</span><br/><span class="hl-0"> </span><span class="hl-2">test :</span><span class="hl-0"> </span><span class="hl-4">true</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-2">id:</span><span class="hl-0"> </span><span class="hl-3">'server-id'</span><br/><span class="hl-0"> }</span><br/><span class="hl-0"> ],</span><br/><span class="hl-0"> </span><span class="hl-6">init</span><span class="hl-2">:</span><span class="hl-0"> </span><span class="hl-4">async</span><span class="hl-0"> (</span><span class="hl-2">handler</span><span class="hl-0">) </span><span class="hl-4">=></span><span class="hl-0"> {</span><br/><span class="hl-0"> </span><span class="hl-7">// Optional function to initialize anything else on bot startup</span><br/><span class="hl-0"> },</span><br/><span class="hl-0">});</span><br/><br/><br/><span class="hl-2">client</span><span class="hl-0">.</span><span class="hl-6">login</span><span class="hl-0">(</span><span class="hl-2">token</span><span class="hl-0">);</span>
|
||||
</code></pre>
|
||||
|
||||
<a href="#pingjs" id="pingjs" style="color: inherit; text-decoration: none">
|
||||
<h4><code>ping.js</code></h4>
|
||||
</a>
|
||||
<pre><code class="language-js"><span class="hl-1">import</span><span class="hl-0"> { </span><span class="hl-2">Sern</span><span class="hl-0">, </span><span class="hl-2">Types</span><span class="hl-0"> } </span><span class="hl-1">from</span><span class="hl-0"> </span><span class="hl-3">'sern-handler'</span><span class="hl-0">;</span><br/><span class="hl-1">import</span><span class="hl-0"> { </span><span class="hl-2">Ok</span><span class="hl-0"> } </span><span class="hl-1">from</span><span class="hl-0"> </span><span class="hl-3">'ts-results'</span><span class="hl-0">;</span><br/><br/><span class="hl-1">export</span><span class="hl-0"> </span><span class="hl-1">default</span><span class="hl-0"> {</span><br/><span class="hl-0"> </span><span class="hl-2">alias:</span><span class="hl-0"> [],</span><br/><span class="hl-0"> </span><span class="hl-2">desc :</span><span class="hl-0"> </span><span class="hl-3">'A ping pong command'</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-2">visibility :</span><span class="hl-0"> </span><span class="hl-3">'private'</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-2">test :</span><span class="hl-0"> </span><span class="hl-4">false</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-2">type:</span><span class="hl-0"> </span><span class="hl-2">Sern</span><span class="hl-0">.</span><span class="hl-2">CommandType</span><span class="hl-0">.</span><span class="hl-5">SLASH</span><span class="hl-0"> | </span><span class="hl-2">Sern</span><span class="hl-0">.</span><span class="hl-2">CommandType</span><span class="hl-0">.</span><span class="hl-5">TEXT</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-6">execute</span><span class="hl-2"> :</span><span class="hl-0"> </span><span class="hl-4">async</span><span class="hl-0"> ({ </span><span class="hl-2">message</span><span class="hl-0">, </span><span class="hl-2">interaction</span><span class="hl-0"> }, </span><span class="hl-2">args</span><span class="hl-0">) </span><span class="hl-4">=></span><span class="hl-0"> {</span><br/><span class="hl-0"> </span><span class="hl-2">interaction</span><span class="hl-0">.</span><span class="hl-6">reply</span><span class="hl-0">({ </span><span class="hl-2">content:</span><span class="hl-0"> </span><span class="hl-3">'Pong! })</span><span class="hl-8">;</span><br/><span class="hl-0"> }</span><br/><span class="hl-0">};</span>
|
||||
</code></pre>
|
||||
<p>See <a href="https://sernhandler.js.org">documentation</a> for TypeScript examples and more</p>
|
||||
|
||||
<a href="#links-" id="links-" style="color: inherit; text-decoration: none">
|
||||
<h2>Links <img src="https://img.shields.io/badge/Coming-Soon-purple" alt="link" /></h2>
|
||||
</a>
|
||||
<ul>
|
||||
<li><a href="https://tmp.com">Official Documentation</a></li>
|
||||
<li><a href="https://tmp.com">Example Bot</a></li>
|
||||
<li><a href="https://google.com">Discord Server</a></li>
|
||||
</ul>
|
||||
|
||||
<a href="#contribute" id="contribute" style="color: inherit; text-decoration: none">
|
||||
<h2>Contribute</h2>
|
||||
</a>
|
||||
<ul>
|
||||
<li>
|
||||
Pull up on <a href="https://github.com/jacoobes/Sern/issues">issues</a> and tell me if there are bugs
|
||||
</li>
|
||||
<li>All kinds of contributions are welcomed!</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
|
||||
<nav class="tsd-navigation primary">
|
||||
<ul>
|
||||
<li class="current"><a href="modules.html">Exports</a></li>
|
||||
<li class="tsd-kind-namespace"><a href="modules/Sern.html">Sern</a></li>
|
||||
<li class="tsd-kind-namespace"><a href="modules/Types.html">Types</a></li>
|
||||
<li class="tsd-kind-namespace"><a href="modules/Utils.html">Utils</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
<nav class="tsd-navigation secondary menu-sticky"><ul></ul></nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<footer class="with-border-bottom">
|
||||
<div class="container">
|
||||
<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>
|
||||
@@ -1,559 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html class="default">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta http-equiv="x-ua-compatible" content="IE=edge" />
|
||||
<title>Module | sern-handler</title>
|
||||
<meta name="description" content="Documentation for sern-handler" />
|
||||
<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>
|
||||
<script>
|
||||
document.body.classList.add(localStorage.getItem('tsd-theme') || 'os');
|
||||
</script>
|
||||
<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">sern-handler</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">sern-handler</a></li>
|
||||
<li><a href="../modules/Sern.html">Sern</a></li>
|
||||
<li><a href="Sern.Module.html">Module</a></li>
|
||||
</ul>
|
||||
<h1>Interface Module<T></h1>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
<div class="container container-main">
|
||||
<div class="row">
|
||||
<div class="col-8 col-content">
|
||||
<section class="tsd-panel tsd-comment">
|
||||
<div class="tsd-comment tsd-typography">
|
||||
<div class="lead">
|
||||
<p>An object that gets imported and acts as a command.</p>
|
||||
</div>
|
||||
<dl class="tsd-comment-tags">
|
||||
<dt>property</dt>
|
||||
<dd><p>{string} desc</p></dd>
|
||||
<dt>property</dt>
|
||||
<dd><p>{Visibility} visibility</p></dd>
|
||||
<dt>property</dt>
|
||||
<dd><p>{CommandType} type</p></dd>
|
||||
<dt>property</dt>
|
||||
<dd>
|
||||
<p>
|
||||
{(eventParams : Context, args : Ok<T=string>) => Awaitable<possibleOutput | void>}
|
||||
execute
|
||||
</p>
|
||||
</dd>
|
||||
<dt>prop</dt>
|
||||
<dd></dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
<section class="tsd-panel tsd-type-parameters">
|
||||
<h3>Type parameters</h3>
|
||||
<ul class="tsd-type-parameters">
|
||||
<li>
|
||||
<h4>T = <span class="tsd-signature-type">string</span></h4>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
<section class="tsd-panel tsd-hierarchy">
|
||||
<h3>Hierarchy</h3>
|
||||
<ul class="tsd-hierarchy">
|
||||
<li><span class="target">Module</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="Sern.Module.html#alias" class="tsd-kind-icon">alias</a>
|
||||
</li>
|
||||
<li class="tsd-kind-property tsd-parent-kind-interface">
|
||||
<a href="Sern.Module.html#desc" class="tsd-kind-icon">desc</a>
|
||||
</li>
|
||||
<li class="tsd-kind-property tsd-parent-kind-interface">
|
||||
<a href="Sern.Module.html#test" class="tsd-kind-icon">test</a>
|
||||
</li>
|
||||
<li class="tsd-kind-property tsd-parent-kind-interface">
|
||||
<a href="Sern.Module.html#type" class="tsd-kind-icon">type</a>
|
||||
</li>
|
||||
<li class="tsd-kind-property tsd-parent-kind-interface">
|
||||
<a href="Sern.Module.html#visibility" class="tsd-kind-icon">visibility</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-interface">
|
||||
<a href="Sern.Module.html#execute" class="tsd-kind-icon">execute</a>
|
||||
</li>
|
||||
<li class="tsd-kind-method tsd-parent-kind-interface">
|
||||
<a href="Sern.Module.html#parse" class="tsd-kind-icon">parse</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 id="alias" class="tsd-anchor"></a>
|
||||
<h3 class="tsd-anchor-link">
|
||||
alias<a href="#alias" aria-label="Permalink" class="tsd-anchor-icon"
|
||||
><svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
class="icon icon-tabler icon-tabler-link"
|
||||
viewBox="0 0 24 24"
|
||||
stroke-width="2"
|
||||
stroke="currentColor"
|
||||
fill="none"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
|
||||
<path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path>
|
||||
<path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg
|
||||
></a>
|
||||
</h3>
|
||||
<div class="tsd-signature tsd-kind-icon">
|
||||
alias<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span
|
||||
><span class="tsd-signature-symbol">[]</span>
|
||||
</div>
|
||||
<aside class="tsd-sources">
|
||||
<ul>
|
||||
<li>
|
||||
Defined in
|
||||
<a href="https://github.com/sern-handler/Sern/blob/29d92ca/src/handler/sern.ts#L288"
|
||||
>handler/sern.ts:288</a
|
||||
>
|
||||
</li>
|
||||
</ul>
|
||||
</aside>
|
||||
</section>
|
||||
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
|
||||
<a id="desc" class="tsd-anchor"></a>
|
||||
<h3 class="tsd-anchor-link">
|
||||
desc<a href="#desc" aria-label="Permalink" class="tsd-anchor-icon"
|
||||
><svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
class="icon icon-tabler icon-tabler-link"
|
||||
viewBox="0 0 24 24"
|
||||
stroke-width="2"
|
||||
stroke="currentColor"
|
||||
fill="none"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
|
||||
<path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path>
|
||||
<path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg
|
||||
></a>
|
||||
</h3>
|
||||
<div class="tsd-signature tsd-kind-icon">
|
||||
desc<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span>
|
||||
</div>
|
||||
<aside class="tsd-sources">
|
||||
<ul>
|
||||
<li>
|
||||
Defined in
|
||||
<a href="https://github.com/sern-handler/Sern/blob/29d92ca/src/handler/sern.ts#L289"
|
||||
>handler/sern.ts:289</a
|
||||
>
|
||||
</li>
|
||||
</ul>
|
||||
</aside>
|
||||
</section>
|
||||
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
|
||||
<a id="test" class="tsd-anchor"></a>
|
||||
<h3 class="tsd-anchor-link">
|
||||
test<a href="#test" aria-label="Permalink" class="tsd-anchor-icon"
|
||||
><svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
class="icon icon-tabler icon-tabler-link"
|
||||
viewBox="0 0 24 24"
|
||||
stroke-width="2"
|
||||
stroke="currentColor"
|
||||
fill="none"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
|
||||
<path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path>
|
||||
<path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg
|
||||
></a>
|
||||
</h3>
|
||||
<div class="tsd-signature tsd-kind-icon">
|
||||
test<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span>
|
||||
</div>
|
||||
<aside class="tsd-sources">
|
||||
<ul>
|
||||
<li>
|
||||
Defined in
|
||||
<a href="https://github.com/sern-handler/Sern/blob/29d92ca/src/handler/sern.ts#L292"
|
||||
>handler/sern.ts:292</a
|
||||
>
|
||||
</li>
|
||||
</ul>
|
||||
</aside>
|
||||
</section>
|
||||
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
|
||||
<a id="type" class="tsd-anchor"></a>
|
||||
<h3 class="tsd-anchor-link">
|
||||
type<a href="#type" aria-label="Permalink" class="tsd-anchor-icon"
|
||||
><svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
class="icon icon-tabler icon-tabler-link"
|
||||
viewBox="0 0 24 24"
|
||||
stroke-width="2"
|
||||
stroke="currentColor"
|
||||
fill="none"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
|
||||
<path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path>
|
||||
<path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg
|
||||
></a>
|
||||
</h3>
|
||||
<div class="tsd-signature tsd-kind-icon">
|
||||
type<span class="tsd-signature-symbol">:</span>
|
||||
<a href="../enums/Sern.CommandType.html" class="tsd-signature-type" data-tsd-kind="Enumeration"
|
||||
>CommandType</a
|
||||
>
|
||||
</div>
|
||||
<aside class="tsd-sources">
|
||||
<ul>
|
||||
<li>
|
||||
Defined in
|
||||
<a href="https://github.com/sern-handler/Sern/blob/29d92ca/src/handler/sern.ts#L291"
|
||||
>handler/sern.ts:291</a
|
||||
>
|
||||
</li>
|
||||
</ul>
|
||||
</aside>
|
||||
</section>
|
||||
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
|
||||
<a id="visibility" class="tsd-anchor"></a>
|
||||
<h3 class="tsd-anchor-link">
|
||||
visibility<a href="#visibility" aria-label="Permalink" class="tsd-anchor-icon"
|
||||
><svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
class="icon icon-tabler icon-tabler-link"
|
||||
viewBox="0 0 24 24"
|
||||
stroke-width="2"
|
||||
stroke="currentColor"
|
||||
fill="none"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
|
||||
<path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path>
|
||||
<path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg
|
||||
></a>
|
||||
</h3>
|
||||
<div class="tsd-signature tsd-kind-icon">
|
||||
visibility<span class="tsd-signature-symbol">:</span>
|
||||
<a href="../modules/Types.html#Visibility" class="tsd-signature-type" data-tsd-kind="Type alias"
|
||||
>Visibility</a
|
||||
>
|
||||
</div>
|
||||
<aside class="tsd-sources">
|
||||
<ul>
|
||||
<li>
|
||||
Defined in
|
||||
<a href="https://github.com/sern-handler/Sern/blob/29d92ca/src/handler/sern.ts#L290"
|
||||
>handler/sern.ts:290</a
|
||||
>
|
||||
</li>
|
||||
</ul>
|
||||
</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-interface">
|
||||
<a id="execute" class="tsd-anchor"></a>
|
||||
<h3 class="tsd-anchor-link">
|
||||
execute<a href="#execute" aria-label="Permalink" class="tsd-anchor-icon"
|
||||
><svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
class="icon icon-tabler icon-tabler-link"
|
||||
viewBox="0 0 24 24"
|
||||
stroke-width="2"
|
||||
stroke="currentColor"
|
||||
fill="none"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
|
||||
<path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path>
|
||||
<path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg
|
||||
></a>
|
||||
</h3>
|
||||
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-interface">
|
||||
<li class="tsd-signature tsd-kind-icon">
|
||||
execute<span class="tsd-signature-symbol">(</span>eventParams<span class="tsd-signature-symbol"
|
||||
>: </span
|
||||
><a href="../modules/Types.html#Context" class="tsd-signature-type" data-tsd-kind="Type alias"
|
||||
>Context</a
|
||||
>, args<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Ok</span
|
||||
><span class="tsd-signature-symbol"><</span
|
||||
><span class="tsd-signature-type" data-tsd-kind="Type parameter">T</span
|
||||
><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">)</span
|
||||
><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Awaitable</span
|
||||
><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span
|
||||
><span class="tsd-signature-symbol"> | </span
|
||||
><a href="../modules/Types.html#possibleOutput" class="tsd-signature-type" data-tsd-kind="Type alias"
|
||||
>possibleOutput</a
|
||||
><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>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="tsd-descriptions">
|
||||
<li class="tsd-description">
|
||||
<aside class="tsd-sources">
|
||||
<ul>
|
||||
<li>
|
||||
Defined in
|
||||
<a href="https://github.com/sern-handler/Sern/blob/29d92ca/src/handler/sern.ts#L293"
|
||||
>handler/sern.ts:293</a
|
||||
>
|
||||
</li>
|
||||
</ul>
|
||||
</aside>
|
||||
<h4 class="tsd-parameters-title">Parameters</h4>
|
||||
<ul class="tsd-parameters">
|
||||
<li>
|
||||
<h5>
|
||||
eventParams:
|
||||
<a href="../modules/Types.html#Context" class="tsd-signature-type" data-tsd-kind="Type alias"
|
||||
>Context</a
|
||||
>
|
||||
</h5>
|
||||
</li>
|
||||
<li>
|
||||
<h5>
|
||||
args: <span class="tsd-signature-type">Ok</span><span class="tsd-signature-symbol"><</span
|
||||
><span class="tsd-signature-type" data-tsd-kind="Type parameter">T</span
|
||||
><span class="tsd-signature-symbol">></span>
|
||||
</h5>
|
||||
</li>
|
||||
</ul>
|
||||
<h4 class="tsd-returns-title">
|
||||
Returns <span class="tsd-signature-type">Awaitable</span
|
||||
><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span
|
||||
><span class="tsd-signature-symbol"> | </span
|
||||
><a
|
||||
href="../modules/Types.html#possibleOutput"
|
||||
class="tsd-signature-type"
|
||||
data-tsd-kind="Type alias"
|
||||
>possibleOutput</a
|
||||
><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>
|
||||
</h4>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-interface">
|
||||
<a id="parse" class="tsd-anchor"></a>
|
||||
<h3 class="tsd-anchor-link">
|
||||
<span class="tsd-flag ts-flagOptional">Optional</span> parse<a
|
||||
href="#parse"
|
||||
aria-label="Permalink"
|
||||
class="tsd-anchor-icon"
|
||||
><svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
class="icon icon-tabler icon-tabler-link"
|
||||
viewBox="0 0 24 24"
|
||||
stroke-width="2"
|
||||
stroke="currentColor"
|
||||
fill="none"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
|
||||
<path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path>
|
||||
<path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg
|
||||
></a>
|
||||
</h3>
|
||||
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-interface">
|
||||
<li class="tsd-signature tsd-kind-icon">
|
||||
parse<span class="tsd-signature-symbol">(</span>ctx<span class="tsd-signature-symbol">: </span
|
||||
><a href="../modules/Types.html#Context" class="tsd-signature-type" data-tsd-kind="Type alias"
|
||||
>Context</a
|
||||
>, args<span class="tsd-signature-symbol">: </span
|
||||
><a href="../modules/Types.html#Arg" class="tsd-signature-type" data-tsd-kind="Type alias">Arg</a
|
||||
><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span
|
||||
><a href="../modules/Utils.html#ArgType" class="tsd-signature-type" data-tsd-kind="Type alias"
|
||||
>ArgType</a
|
||||
><span class="tsd-signature-symbol"><</span
|
||||
><span class="tsd-signature-type" data-tsd-kind="Type parameter">T</span
|
||||
><span class="tsd-signature-symbol">></span>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="tsd-descriptions">
|
||||
<li class="tsd-description">
|
||||
<aside class="tsd-sources">
|
||||
<ul>
|
||||
<li>
|
||||
Defined in
|
||||
<a href="https://github.com/sern-handler/Sern/blob/29d92ca/src/handler/sern.ts#L294"
|
||||
>handler/sern.ts:294</a
|
||||
>
|
||||
</li>
|
||||
</ul>
|
||||
</aside>
|
||||
<h4 class="tsd-parameters-title">Parameters</h4>
|
||||
<ul class="tsd-parameters">
|
||||
<li>
|
||||
<h5>
|
||||
ctx:
|
||||
<a href="../modules/Types.html#Context" class="tsd-signature-type" data-tsd-kind="Type alias"
|
||||
>Context</a
|
||||
>
|
||||
</h5>
|
||||
</li>
|
||||
<li>
|
||||
<h5>
|
||||
args:
|
||||
<a href="../modules/Types.html#Arg" class="tsd-signature-type" data-tsd-kind="Type alias"
|
||||
>Arg</a
|
||||
>
|
||||
</h5>
|
||||
</li>
|
||||
</ul>
|
||||
<h4 class="tsd-returns-title">
|
||||
Returns
|
||||
<a href="../modules/Utils.html#ArgType" class="tsd-signature-type" data-tsd-kind="Type alias"
|
||||
>ArgType</a
|
||||
><span class="tsd-signature-symbol"><</span
|
||||
><span class="tsd-signature-type" data-tsd-kind="Type parameter">T</span
|
||||
><span class="tsd-signature-symbol">></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>
|
||||
<li class="current tsd-kind-namespace"><a href="../modules/Sern.html">Sern</a></li>
|
||||
<li class="tsd-kind-namespace"><a href="../modules/Types.html">Types</a></li>
|
||||
<li class="tsd-kind-namespace"><a href="../modules/Utils.html">Utils</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
<nav class="tsd-navigation secondary menu-sticky">
|
||||
<ul>
|
||||
<li class="current tsd-kind-interface tsd-parent-kind-namespace tsd-has-type-parameter">
|
||||
<a href="Sern.Module.html" class="tsd-kind-icon">Module</a>
|
||||
<ul>
|
||||
<li class="tsd-kind-property tsd-parent-kind-interface">
|
||||
<a href="Sern.Module.html#alias" class="tsd-kind-icon">alias</a>
|
||||
</li>
|
||||
<li class="tsd-kind-property tsd-parent-kind-interface">
|
||||
<a href="Sern.Module.html#desc" class="tsd-kind-icon">desc</a>
|
||||
</li>
|
||||
<li class="tsd-kind-property tsd-parent-kind-interface">
|
||||
<a href="Sern.Module.html#test" class="tsd-kind-icon">test</a>
|
||||
</li>
|
||||
<li class="tsd-kind-property tsd-parent-kind-interface">
|
||||
<a href="Sern.Module.html#type" class="tsd-kind-icon">type</a>
|
||||
</li>
|
||||
<li class="tsd-kind-property tsd-parent-kind-interface">
|
||||
<a href="Sern.Module.html#visibility" class="tsd-kind-icon">visibility</a>
|
||||
</li>
|
||||
<li class="tsd-kind-method tsd-parent-kind-interface">
|
||||
<a href="Sern.Module.html#execute" class="tsd-kind-icon">execute</a>
|
||||
</li>
|
||||
<li class="tsd-kind-method tsd-parent-kind-interface">
|
||||
<a href="Sern.Module.html#parse" class="tsd-kind-icon">parse</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-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li>
|
||||
<li class="tsd-kind-method tsd-parent-kind-interface"><span class="tsd-kind-icon">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>
|
||||
@@ -1,409 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html class="default">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta http-equiv="x-ua-compatible" content="IE=edge" />
|
||||
<title>Wrapper | sern-handler</title>
|
||||
<meta name="description" content="Documentation for sern-handler" />
|
||||
<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>
|
||||
<script>
|
||||
document.body.classList.add(localStorage.getItem('tsd-theme') || 'os');
|
||||
</script>
|
||||
<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">sern-handler</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">sern-handler</a></li>
|
||||
<li><a href="../modules/Sern.html">Sern</a></li>
|
||||
<li><a href="Sern.Wrapper.html">Wrapper</a></li>
|
||||
</ul>
|
||||
<h1>Interface Wrapper</h1>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
<div class="container container-main">
|
||||
<div class="row">
|
||||
<div class="col-8 col-content">
|
||||
<section class="tsd-panel tsd-comment">
|
||||
<div class="tsd-comment tsd-typography">
|
||||
<div class="lead">
|
||||
<p>An object to be passed into Sern.Handler constructor.</p>
|
||||
</div>
|
||||
<dl class="tsd-comment-tags">
|
||||
<dt>property</dt>
|
||||
<dd><p>{readonly Client} client</p></dd>
|
||||
<dt>property</dt>
|
||||
<dd><p>{readonly string} prefix</p></dd>
|
||||
<dt>property</dt>
|
||||
<dd><p>{readonly string} commands</p></dd>
|
||||
<dt>prop</dt>
|
||||
<dd><p>{(handler : Handler) => void)} init</p></dd>
|
||||
<dt>property</dt>
|
||||
<dd><p>{readonly {test: boolean, id: string}[]} privateServers</p></dd>
|
||||
</dl>
|
||||
</div>
|
||||
</section>
|
||||
<section class="tsd-panel tsd-hierarchy">
|
||||
<h3>Hierarchy</h3>
|
||||
<ul class="tsd-hierarchy">
|
||||
<li><span class="target">Wrapper</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="Sern.Wrapper.html#client" class="tsd-kind-icon">client</a>
|
||||
</li>
|
||||
<li class="tsd-kind-property tsd-parent-kind-interface">
|
||||
<a href="Sern.Wrapper.html#commands" class="tsd-kind-icon">commands</a>
|
||||
</li>
|
||||
<li class="tsd-kind-property tsd-parent-kind-interface">
|
||||
<a href="Sern.Wrapper.html#prefix" class="tsd-kind-icon">prefix</a>
|
||||
</li>
|
||||
<li class="tsd-kind-property tsd-parent-kind-interface">
|
||||
<a href="Sern.Wrapper.html#privateServers" class="tsd-kind-icon">private<wbr />Servers</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-interface">
|
||||
<a href="Sern.Wrapper.html#init" class="tsd-kind-icon">init</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 id="client" class="tsd-anchor"></a>
|
||||
<h3 class="tsd-anchor-link">
|
||||
<span class="tsd-flag ts-flagReadonly">Readonly</span> client<a
|
||||
href="#client"
|
||||
aria-label="Permalink"
|
||||
class="tsd-anchor-icon"
|
||||
><svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
class="icon icon-tabler icon-tabler-link"
|
||||
viewBox="0 0 24 24"
|
||||
stroke-width="2"
|
||||
stroke="currentColor"
|
||||
fill="none"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
|
||||
<path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path>
|
||||
<path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg
|
||||
></a>
|
||||
</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"><</span><span class="tsd-signature-type">boolean</span
|
||||
><span class="tsd-signature-symbol">></span>
|
||||
</div>
|
||||
<aside class="tsd-sources">
|
||||
<ul>
|
||||
<li>
|
||||
Defined in
|
||||
<a href="https://github.com/sern-handler/Sern/blob/29d92ca/src/handler/sern.ts#L270"
|
||||
>handler/sern.ts:270</a
|
||||
>
|
||||
</li>
|
||||
</ul>
|
||||
</aside>
|
||||
</section>
|
||||
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
|
||||
<a id="commands" class="tsd-anchor"></a>
|
||||
<h3 class="tsd-anchor-link">
|
||||
<span class="tsd-flag ts-flagReadonly">Readonly</span> commands<a
|
||||
href="#commands"
|
||||
aria-label="Permalink"
|
||||
class="tsd-anchor-icon"
|
||||
><svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
class="icon icon-tabler icon-tabler-link"
|
||||
viewBox="0 0 24 24"
|
||||
stroke-width="2"
|
||||
stroke="currentColor"
|
||||
fill="none"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
|
||||
<path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path>
|
||||
<path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg
|
||||
></a>
|
||||
</h3>
|
||||
<div class="tsd-signature tsd-kind-icon">
|
||||
commands<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span>
|
||||
</div>
|
||||
<aside class="tsd-sources">
|
||||
<ul>
|
||||
<li>
|
||||
Defined in
|
||||
<a href="https://github.com/sern-handler/Sern/blob/29d92ca/src/handler/sern.ts#L272"
|
||||
>handler/sern.ts:272</a
|
||||
>
|
||||
</li>
|
||||
</ul>
|
||||
</aside>
|
||||
</section>
|
||||
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
|
||||
<a id="prefix" class="tsd-anchor"></a>
|
||||
<h3 class="tsd-anchor-link">
|
||||
<span class="tsd-flag ts-flagReadonly">Readonly</span> prefix<a
|
||||
href="#prefix"
|
||||
aria-label="Permalink"
|
||||
class="tsd-anchor-icon"
|
||||
><svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
class="icon icon-tabler icon-tabler-link"
|
||||
viewBox="0 0 24 24"
|
||||
stroke-width="2"
|
||||
stroke="currentColor"
|
||||
fill="none"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
|
||||
<path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path>
|
||||
<path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg
|
||||
></a>
|
||||
</h3>
|
||||
<div class="tsd-signature tsd-kind-icon">
|
||||
prefix<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span>
|
||||
</div>
|
||||
<aside class="tsd-sources">
|
||||
<ul>
|
||||
<li>
|
||||
Defined in
|
||||
<a href="https://github.com/sern-handler/Sern/blob/29d92ca/src/handler/sern.ts#L271"
|
||||
>handler/sern.ts:271</a
|
||||
>
|
||||
</li>
|
||||
</ul>
|
||||
</aside>
|
||||
</section>
|
||||
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
|
||||
<a id="privateServers" class="tsd-anchor"></a>
|
||||
<h3 class="tsd-anchor-link">
|
||||
<span class="tsd-flag ts-flagReadonly">Readonly</span> private<wbr />Servers<a
|
||||
href="#privateServers"
|
||||
aria-label="Permalink"
|
||||
class="tsd-anchor-icon"
|
||||
><svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
class="icon icon-tabler icon-tabler-link"
|
||||
viewBox="0 0 24 24"
|
||||
stroke-width="2"
|
||||
stroke="currentColor"
|
||||
fill="none"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
|
||||
<path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path>
|
||||
<path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg
|
||||
></a>
|
||||
</h3>
|
||||
<div class="tsd-signature tsd-kind-icon">
|
||||
private<wbr />Servers<span class="tsd-signature-symbol">:</span>
|
||||
<span class="tsd-signature-symbol">{ </span>id<span class="tsd-signature-symbol">: </span
|
||||
><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>test<span
|
||||
class="tsd-signature-symbol"
|
||||
>: </span
|
||||
><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol"> }</span
|
||||
><span class="tsd-signature-symbol">[]</span>
|
||||
</div>
|
||||
<aside class="tsd-sources">
|
||||
<ul>
|
||||
<li>
|
||||
Defined in
|
||||
<a href="https://github.com/sern-handler/Sern/blob/29d92ca/src/handler/sern.ts#L274"
|
||||
>handler/sern.ts:274</a
|
||||
>
|
||||
</li>
|
||||
</ul>
|
||||
</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-interface">
|
||||
<a id="init" class="tsd-anchor"></a>
|
||||
<h3 class="tsd-anchor-link">
|
||||
<span class="tsd-flag ts-flagOptional">Optional</span> init<a
|
||||
href="#init"
|
||||
aria-label="Permalink"
|
||||
class="tsd-anchor-icon"
|
||||
><svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
class="icon icon-tabler icon-tabler-link"
|
||||
viewBox="0 0 24 24"
|
||||
stroke-width="2"
|
||||
stroke="currentColor"
|
||||
fill="none"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
|
||||
<path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path>
|
||||
<path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg
|
||||
></a>
|
||||
</h3>
|
||||
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-interface">
|
||||
<li class="tsd-signature tsd-kind-icon">
|
||||
init<span class="tsd-signature-symbol">(</span>handler<span class="tsd-signature-symbol">: </span
|
||||
><a href="../classes/Sern.Handler.html" class="tsd-signature-type" data-tsd-kind="Class">Handler</a
|
||||
><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span
|
||||
><span class="tsd-signature-type">void</span>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="tsd-descriptions">
|
||||
<li class="tsd-description">
|
||||
<aside class="tsd-sources">
|
||||
<ul>
|
||||
<li>
|
||||
Defined in
|
||||
<a href="https://github.com/sern-handler/Sern/blob/29d92ca/src/handler/sern.ts#L273"
|
||||
>handler/sern.ts:273</a
|
||||
>
|
||||
</li>
|
||||
</ul>
|
||||
</aside>
|
||||
<h4 class="tsd-parameters-title">Parameters</h4>
|
||||
<ul class="tsd-parameters">
|
||||
<li>
|
||||
<h5>
|
||||
handler:
|
||||
<a href="../classes/Sern.Handler.html" class="tsd-signature-type" data-tsd-kind="Class"
|
||||
>Handler</a
|
||||
>
|
||||
</h5>
|
||||
</li>
|
||||
</ul>
|
||||
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</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>
|
||||
<li class="current tsd-kind-namespace"><a href="../modules/Sern.html">Sern</a></li>
|
||||
<li class="tsd-kind-namespace"><a href="../modules/Types.html">Types</a></li>
|
||||
<li class="tsd-kind-namespace"><a href="../modules/Utils.html">Utils</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
<nav class="tsd-navigation secondary menu-sticky">
|
||||
<ul>
|
||||
<li class="current tsd-kind-interface tsd-parent-kind-namespace">
|
||||
<a href="Sern.Wrapper.html" class="tsd-kind-icon">Wrapper</a>
|
||||
<ul>
|
||||
<li class="tsd-kind-property tsd-parent-kind-interface">
|
||||
<a href="Sern.Wrapper.html#client" class="tsd-kind-icon">client</a>
|
||||
</li>
|
||||
<li class="tsd-kind-property tsd-parent-kind-interface">
|
||||
<a href="Sern.Wrapper.html#commands" class="tsd-kind-icon">commands</a>
|
||||
</li>
|
||||
<li class="tsd-kind-property tsd-parent-kind-interface">
|
||||
<a href="Sern.Wrapper.html#prefix" class="tsd-kind-icon">prefix</a>
|
||||
</li>
|
||||
<li class="tsd-kind-property tsd-parent-kind-interface">
|
||||
<a href="Sern.Wrapper.html#privateServers" class="tsd-kind-icon">private<wbr />Servers</a>
|
||||
</li>
|
||||
<li class="tsd-kind-method tsd-parent-kind-interface">
|
||||
<a href="Sern.Wrapper.html#init" class="tsd-kind-icon">init</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-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li>
|
||||
<li class="tsd-kind-method tsd-parent-kind-interface"><span class="tsd-kind-icon">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>
|
||||
@@ -1,115 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html class="default">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta http-equiv="x-ua-compatible" content="IE=edge" />
|
||||
<title>SernHandler</title>
|
||||
<meta name="description" content="Documentation for sern-handler" />
|
||||
<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>
|
||||
<script>
|
||||
document.body.classList.add(localStorage.getItem('tsd-theme') || 'os');
|
||||
</script>
|
||||
<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">SernHandler - Develop faster. Grow more.</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"><h1>sern-handler</h1></div>
|
||||
</div>
|
||||
</header>
|
||||
<div class="container container-main">
|
||||
<div class="row">
|
||||
<div class="col-8 col-content">
|
||||
<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>Namespaces</h3>
|
||||
<ul class="tsd-index-list">
|
||||
<li class="tsd-kind-namespace"><a href="modules/Sern.html" class="tsd-kind-icon">Sern</a></li>
|
||||
<li class="tsd-kind-namespace"><a href="modules/Types.html" class="tsd-kind-icon">Types</a></li>
|
||||
<li class="tsd-kind-namespace"><a href="modules/Utils.html" class="tsd-kind-icon">Utils</a></li>
|
||||
</ul>
|
||||
</section>
|
||||
</div>
|
||||
</section>
|
||||
</section>
|
||||
</div>
|
||||
<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
|
||||
<nav class="tsd-navigation primary">
|
||||
<ul>
|
||||
<li class="current"><a href="modules.html">Exports</a></li>
|
||||
<li class="tsd-kind-namespace"><a href="modules/Sern.html">Sern</a></li>
|
||||
<li class="tsd-kind-namespace"><a href="modules/Types.html">Types</a></li>
|
||||
<li class="tsd-kind-namespace"><a href="modules/Utils.html">Utils</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
<nav class="tsd-navigation secondary menu-sticky"><ul></ul></nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<footer class="with-border-bottom">
|
||||
<div class="container">
|
||||
<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>
|
||||
@@ -1,155 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html class="default">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta http-equiv="x-ua-compatible" content="IE=edge" />
|
||||
<title>Sern | sern-handler</title>
|
||||
<meta name="description" content="Documentation for sern-handler" />
|
||||
<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>
|
||||
<script>
|
||||
document.body.classList.add(localStorage.getItem('tsd-theme') || 'os');
|
||||
</script>
|
||||
<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">sern-handler</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">sern-handler</a></li>
|
||||
<li><a href="Sern.html">Sern</a></li>
|
||||
</ul>
|
||||
<h1>Namespace Sern</h1>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
<div class="container container-main">
|
||||
<div class="row">
|
||||
<div class="col-8 col-content">
|
||||
<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>Enumerations</h3>
|
||||
<ul class="tsd-index-list">
|
||||
<li class="tsd-kind-enum tsd-parent-kind-namespace">
|
||||
<a href="../enums/Sern.CommandType.html" class="tsd-kind-icon">Command<wbr />Type</a>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
<section class="tsd-index-section">
|
||||
<h3>Classes</h3>
|
||||
<ul class="tsd-index-list">
|
||||
<li class="tsd-kind-class tsd-parent-kind-namespace">
|
||||
<a href="../classes/Sern.Handler.html" class="tsd-kind-icon">Handler</a>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
<section class="tsd-index-section">
|
||||
<h3>Interfaces</h3>
|
||||
<ul class="tsd-index-list">
|
||||
<li class="tsd-kind-interface tsd-parent-kind-namespace tsd-has-type-parameter">
|
||||
<a href="../interfaces/Sern.Module.html" class="tsd-kind-icon">Module</a>
|
||||
</li>
|
||||
<li class="tsd-kind-interface tsd-parent-kind-namespace">
|
||||
<a href="../interfaces/Sern.Wrapper.html" class="tsd-kind-icon">Wrapper</a>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
</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>
|
||||
<li class="current tsd-kind-namespace"><a href="Sern.html">Sern</a></li>
|
||||
<li class="tsd-kind-namespace"><a href="Types.html">Types</a></li>
|
||||
<li class="tsd-kind-namespace"><a href="Utils.html">Utils</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
<nav class="tsd-navigation secondary menu-sticky">
|
||||
<ul>
|
||||
<li class="tsd-kind-enum tsd-parent-kind-namespace">
|
||||
<a href="../enums/Sern.CommandType.html" class="tsd-kind-icon">Command<wbr />Type</a>
|
||||
</li>
|
||||
<li class="tsd-kind-class tsd-parent-kind-namespace">
|
||||
<a href="../classes/Sern.Handler.html" class="tsd-kind-icon">Handler</a>
|
||||
</li>
|
||||
<li class="tsd-kind-interface tsd-parent-kind-namespace tsd-has-type-parameter">
|
||||
<a href="../interfaces/Sern.Module.html" class="tsd-kind-icon">Module</a>
|
||||
</li>
|
||||
<li class="tsd-kind-interface tsd-parent-kind-namespace">
|
||||
<a href="../interfaces/Sern.Wrapper.html" class="tsd-kind-icon">Wrapper</a>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<footer class="with-border-bottom">
|
||||
<div class="container">
|
||||
<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>
|
||||
@@ -1,533 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html class="default">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta http-equiv="x-ua-compatible" content="IE=edge" />
|
||||
<title>Types | sern-handler</title>
|
||||
<meta name="description" content="Documentation for sern-handler" />
|
||||
<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>
|
||||
<script>
|
||||
document.body.classList.add(localStorage.getItem('tsd-theme') || 'os');
|
||||
</script>
|
||||
<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">sern-handler</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">sern-handler</a></li>
|
||||
<li><a href="Types.html">Types</a></li>
|
||||
</ul>
|
||||
<h1>Namespace Types</h1>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
<div class="container container-main">
|
||||
<div class="row">
|
||||
<div class="col-8 col-content">
|
||||
<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>Type aliases</h3>
|
||||
<ul class="tsd-index-list">
|
||||
<li class="tsd-kind-type-alias tsd-parent-kind-namespace">
|
||||
<a href="Types.html#Arg" class="tsd-kind-icon">Arg</a>
|
||||
</li>
|
||||
<li class="tsd-kind-type-alias tsd-parent-kind-namespace">
|
||||
<a href="Types.html#Context" class="tsd-kind-icon">Context</a>
|
||||
</li>
|
||||
<li class="tsd-kind-type-alias tsd-parent-kind-namespace tsd-has-type-parameter">
|
||||
<a href="Types.html#Nullable" class="tsd-kind-icon">Nullable</a>
|
||||
</li>
|
||||
<li class="tsd-kind-type-alias tsd-parent-kind-namespace tsd-has-type-parameter">
|
||||
<a href="Types.html#ParseType" class="tsd-kind-icon">Parse<wbr />Type</a>
|
||||
</li>
|
||||
<li class="tsd-kind-type-alias tsd-parent-kind-namespace">
|
||||
<a href="Types.html#SlashOptions" class="tsd-kind-icon">Slash<wbr />Options</a>
|
||||
</li>
|
||||
<li class="tsd-kind-type-alias tsd-parent-kind-namespace">
|
||||
<a href="Types.html#Visibility" class="tsd-kind-icon">Visibility</a>
|
||||
</li>
|
||||
<li class="tsd-kind-type-alias tsd-parent-kind-namespace">
|
||||
<a href="Types.html#execute" class="tsd-kind-icon">execute</a>
|
||||
</li>
|
||||
<li class="tsd-kind-type-alias tsd-parent-kind-namespace tsd-has-type-parameter">
|
||||
<a href="Types.html#possibleOutput" class="tsd-kind-icon">possible<wbr />Output</a>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
</div>
|
||||
</section>
|
||||
</section>
|
||||
<section class="tsd-panel-group tsd-member-group">
|
||||
<h2>Type aliases</h2>
|
||||
<section class="tsd-panel tsd-member tsd-kind-type-alias tsd-parent-kind-namespace">
|
||||
<a id="Arg" class="tsd-anchor"></a>
|
||||
<h3 class="tsd-anchor-link">
|
||||
Arg<a href="#Arg" aria-label="Permalink" class="tsd-anchor-icon"
|
||||
><svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
class="icon icon-tabler icon-tabler-link"
|
||||
viewBox="0 0 24 24"
|
||||
stroke-width="2"
|
||||
stroke="currentColor"
|
||||
fill="none"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
|
||||
<path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path>
|
||||
<path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg
|
||||
></a>
|
||||
</h3>
|
||||
<div class="tsd-signature tsd-kind-icon">
|
||||
Arg<span class="tsd-signature-symbol">:</span>
|
||||
<a href="Types.html#ParseType" class="tsd-signature-type" data-tsd-kind="Type alias">ParseType</a
|
||||
><span class="tsd-signature-symbol"><</span><span class="tsd-signature-symbol">{ </span>slash<span
|
||||
class="tsd-signature-symbol"
|
||||
>: </span
|
||||
><a href="Types.html#SlashOptions" class="tsd-signature-type" data-tsd-kind="Type alias">SlashOptions</a
|
||||
><span class="tsd-signature-symbol">; </span>text<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>
|
||||
</div>
|
||||
<aside class="tsd-sources">
|
||||
<ul>
|
||||
<li>
|
||||
Defined in
|
||||
<a href="https://github.com/sern-handler/Sern/blob/29d92ca/src/types/handler.ts#L30"
|
||||
>types/handler.ts:30</a
|
||||
>
|
||||
</li>
|
||||
</ul>
|
||||
</aside>
|
||||
</section>
|
||||
<section class="tsd-panel tsd-member tsd-kind-type-alias tsd-parent-kind-namespace">
|
||||
<a id="Context" class="tsd-anchor"></a>
|
||||
<h3 class="tsd-anchor-link">
|
||||
Context<a href="#Context" aria-label="Permalink" class="tsd-anchor-icon"
|
||||
><svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
class="icon icon-tabler icon-tabler-link"
|
||||
viewBox="0 0 24 24"
|
||||
stroke-width="2"
|
||||
stroke="currentColor"
|
||||
fill="none"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
|
||||
<path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path>
|
||||
<path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg
|
||||
></a>
|
||||
</h3>
|
||||
<div class="tsd-signature tsd-kind-icon">
|
||||
Context<span class="tsd-signature-symbol">:</span>
|
||||
<span class="tsd-signature-symbol">{ </span>interaction<span class="tsd-signature-symbol">: </span
|
||||
><span class="tsd-signature-type">Option</span><span class="tsd-signature-symbol"><</span
|
||||
><span class="tsd-signature-type">CommandInteraction</span><span class="tsd-signature-symbol">></span
|
||||
><span class="tsd-signature-symbol">; </span>message<span class="tsd-signature-symbol">: </span
|
||||
><span class="tsd-signature-type">Option</span><span class="tsd-signature-symbol"><</span
|
||||
><span class="tsd-signature-type">Message</span><span class="tsd-signature-symbol">></span
|
||||
><span class="tsd-signature-symbol"> }</span>
|
||||
</div>
|
||||
<aside class="tsd-sources">
|
||||
<ul>
|
||||
<li>
|
||||
Defined in
|
||||
<a href="https://github.com/sern-handler/Sern/blob/29d92ca/src/types/handler.ts#L25"
|
||||
>types/handler.ts:25</a
|
||||
>
|
||||
</li>
|
||||
</ul>
|
||||
</aside>
|
||||
<div class="tsd-type-declaration">
|
||||
<h4>Type declaration</h4>
|
||||
<ul class="tsd-parameters">
|
||||
<li class="tsd-parameter">
|
||||
<h5>
|
||||
interaction<span class="tsd-signature-symbol">: </span
|
||||
><span class="tsd-signature-type">Option</span><span class="tsd-signature-symbol"><</span
|
||||
><span class="tsd-signature-type">CommandInteraction</span
|
||||
><span class="tsd-signature-symbol">></span>
|
||||
</h5>
|
||||
</li>
|
||||
<li class="tsd-parameter">
|
||||
<h5>
|
||||
message<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Option</span
|
||||
><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">Message</span
|
||||
><span class="tsd-signature-symbol">></span>
|
||||
</h5>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</section>
|
||||
<section class="tsd-panel tsd-member tsd-kind-type-alias tsd-parent-kind-namespace tsd-has-type-parameter">
|
||||
<a id="Nullable" class="tsd-anchor"></a>
|
||||
<h3 class="tsd-anchor-link">
|
||||
Nullable<a href="#Nullable" aria-label="Permalink" class="tsd-anchor-icon"
|
||||
><svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
class="icon icon-tabler icon-tabler-link"
|
||||
viewBox="0 0 24 24"
|
||||
stroke-width="2"
|
||||
stroke="currentColor"
|
||||
fill="none"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
|
||||
<path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path>
|
||||
<path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg
|
||||
></a>
|
||||
</h3>
|
||||
<div class="tsd-signature tsd-kind-icon">
|
||||
Nullable<span class="tsd-signature-symbol"><</span
|
||||
><span class="tsd-signature-type" data-tsd-kind="Type parameter">T</span
|
||||
><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">:</span>
|
||||
<span class="tsd-signature-type" data-tsd-kind="Type parameter">T</span
|
||||
><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">null</span>
|
||||
</div>
|
||||
<aside class="tsd-sources">
|
||||
<ul>
|
||||
<li>
|
||||
Defined in
|
||||
<a href="https://github.com/sern-handler/Sern/blob/29d92ca/src/types/handler.ts#L17"
|
||||
>types/handler.ts:17</a
|
||||
>
|
||||
</li>
|
||||
</ul>
|
||||
</aside>
|
||||
<h4 class="tsd-type-parameters-title">Type parameters</h4>
|
||||
<ul class="tsd-type-parameters">
|
||||
<li><h4>T</h4></li>
|
||||
</ul>
|
||||
</section>
|
||||
<section class="tsd-panel tsd-member tsd-kind-type-alias tsd-parent-kind-namespace tsd-has-type-parameter">
|
||||
<a id="ParseType" class="tsd-anchor"></a>
|
||||
<h3 class="tsd-anchor-link">
|
||||
Parse<wbr />Type<a href="#ParseType" aria-label="Permalink" class="tsd-anchor-icon"
|
||||
><svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
class="icon icon-tabler icon-tabler-link"
|
||||
viewBox="0 0 24 24"
|
||||
stroke-width="2"
|
||||
stroke="currentColor"
|
||||
fill="none"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
|
||||
<path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path>
|
||||
<path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg
|
||||
></a>
|
||||
</h3>
|
||||
<div class="tsd-signature tsd-kind-icon">
|
||||
Parse<wbr />Type<span class="tsd-signature-symbol"><</span
|
||||
><span class="tsd-signature-type" data-tsd-kind="Type parameter">T</span
|
||||
><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">:</span>
|
||||
<span class="tsd-signature-symbol">{</span> <span class="tsd-signature-symbol">[ </span
|
||||
><span class="tsd-signature-type">K</span><span class="tsd-signature-symbol"> in </span
|
||||
><span class="tsd-signature-symbol">keyof </span
|
||||
><span class="tsd-signature-type" data-tsd-kind="Type parameter">T</span
|
||||
><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">: </span
|
||||
><span class="tsd-signature-type" data-tsd-kind="Type parameter">T</span
|
||||
><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">K</span
|
||||
><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol"> extends </span
|
||||
><span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol"> ? </span
|
||||
><span class="tsd-signature-symbol">[</span>k<span class="tsd-signature-symbol">: </span
|
||||
><span class="tsd-signature-type">K</span><span class="tsd-signature-symbol">, </span>args<span
|
||||
class="tsd-signature-symbol"
|
||||
>: </span
|
||||
><span class="tsd-signature-type" data-tsd-kind="Type parameter">T</span
|
||||
><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">K</span
|
||||
><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">]</span
|
||||
><span class="tsd-signature-symbol"> : </span><span class="tsd-signature-type">never</span>
|
||||
<span class="tsd-signature-symbol">}</span><span class="tsd-signature-symbol">[</span
|
||||
><span class="tsd-signature-symbol">keyof </span
|
||||
><span class="tsd-signature-type" data-tsd-kind="Type parameter">T</span
|
||||
><span class="tsd-signature-symbol">]</span>
|
||||
</div>
|
||||
<aside class="tsd-sources">
|
||||
<ul>
|
||||
<li>
|
||||
Defined in
|
||||
<a href="https://github.com/sern-handler/Sern/blob/29d92ca/src/types/handler.ts#L20"
|
||||
>types/handler.ts:20</a
|
||||
>
|
||||
</li>
|
||||
</ul>
|
||||
</aside>
|
||||
<h4 class="tsd-type-parameters-title">Type parameters</h4>
|
||||
<ul class="tsd-type-parameters">
|
||||
<li><h4>T</h4></li>
|
||||
</ul>
|
||||
</section>
|
||||
<section class="tsd-panel tsd-member tsd-kind-type-alias tsd-parent-kind-namespace">
|
||||
<a id="SlashOptions" class="tsd-anchor"></a>
|
||||
<h3 class="tsd-anchor-link">
|
||||
Slash<wbr />Options<a href="#SlashOptions" aria-label="Permalink" class="tsd-anchor-icon"
|
||||
><svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
class="icon icon-tabler icon-tabler-link"
|
||||
viewBox="0 0 24 24"
|
||||
stroke-width="2"
|
||||
stroke="currentColor"
|
||||
fill="none"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
|
||||
<path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path>
|
||||
<path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg
|
||||
></a>
|
||||
</h3>
|
||||
<div class="tsd-signature tsd-kind-icon">
|
||||
Slash<wbr />Options<span class="tsd-signature-symbol">:</span>
|
||||
<span class="tsd-signature-type">Omit</span><span class="tsd-signature-symbol"><</span
|
||||
><span class="tsd-signature-type">CommandInteractionOptionResolver</span
|
||||
><span class="tsd-signature-symbol">, </span
|
||||
><span class="tsd-signature-type">"getMessage"</span
|
||||
><span class="tsd-signature-symbol"> | </span
|
||||
><span class="tsd-signature-type">"getFocused"</span
|
||||
><span class="tsd-signature-symbol">></span>
|
||||
</div>
|
||||
<aside class="tsd-sources">
|
||||
<ul>
|
||||
<li>
|
||||
Defined in
|
||||
<a href="https://github.com/sern-handler/Sern/blob/29d92ca/src/types/handler.ts#L33"
|
||||
>types/handler.ts:33</a
|
||||
>
|
||||
</li>
|
||||
</ul>
|
||||
</aside>
|
||||
</section>
|
||||
<section class="tsd-panel tsd-member tsd-kind-type-alias tsd-parent-kind-namespace">
|
||||
<a id="Visibility" class="tsd-anchor"></a>
|
||||
<h3 class="tsd-anchor-link">
|
||||
Visibility<a href="#Visibility" aria-label="Permalink" class="tsd-anchor-icon"
|
||||
><svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
class="icon icon-tabler icon-tabler-link"
|
||||
viewBox="0 0 24 24"
|
||||
stroke-width="2"
|
||||
stroke="currentColor"
|
||||
fill="none"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
|
||||
<path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path>
|
||||
<path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg
|
||||
></a>
|
||||
</h3>
|
||||
<div class="tsd-signature tsd-kind-icon">
|
||||
Visibility<span class="tsd-signature-symbol">:</span>
|
||||
<span class="tsd-signature-type">"private"</span><span class="tsd-signature-symbol"> | </span
|
||||
><span class="tsd-signature-type">"public"</span>
|
||||
</div>
|
||||
<aside class="tsd-sources">
|
||||
<ul>
|
||||
<li>
|
||||
Defined in
|
||||
<a href="https://github.com/sern-handler/Sern/blob/29d92ca/src/types/handler.ts#L13"
|
||||
>types/handler.ts:13</a
|
||||
>
|
||||
</li>
|
||||
</ul>
|
||||
</aside>
|
||||
</section>
|
||||
<section class="tsd-panel tsd-member tsd-kind-type-alias tsd-parent-kind-namespace">
|
||||
<a id="execute" class="tsd-anchor"></a>
|
||||
<h3 class="tsd-anchor-link">
|
||||
execute<a href="#execute" aria-label="Permalink" class="tsd-anchor-icon"
|
||||
><svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
class="icon icon-tabler icon-tabler-link"
|
||||
viewBox="0 0 24 24"
|
||||
stroke-width="2"
|
||||
stroke="currentColor"
|
||||
fill="none"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
|
||||
<path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path>
|
||||
<path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg
|
||||
></a>
|
||||
</h3>
|
||||
<div class="tsd-signature tsd-kind-icon">
|
||||
execute<span class="tsd-signature-symbol">:</span>
|
||||
<a href="../interfaces/Sern.Module.html" class="tsd-signature-type" data-tsd-kind="Interface">Module</a
|
||||
><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">unknown</span
|
||||
><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">[</span
|
||||
><a href="../interfaces/Sern.Module.html#execute"
|
||||
><span class="tsd-signature-type">"execute"</span></a
|
||||
><span class="tsd-signature-symbol">]</span>
|
||||
</div>
|
||||
<aside class="tsd-sources">
|
||||
<ul>
|
||||
<li>
|
||||
Defined in
|
||||
<a href="https://github.com/sern-handler/Sern/blob/29d92ca/src/types/handler.ts#L18"
|
||||
>types/handler.ts:18</a
|
||||
>
|
||||
</li>
|
||||
</ul>
|
||||
</aside>
|
||||
</section>
|
||||
<section class="tsd-panel tsd-member tsd-kind-type-alias tsd-parent-kind-namespace tsd-has-type-parameter">
|
||||
<a id="possibleOutput" class="tsd-anchor"></a>
|
||||
<h3 class="tsd-anchor-link">
|
||||
possible<wbr />Output<a href="#possibleOutput" aria-label="Permalink" class="tsd-anchor-icon"
|
||||
><svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
class="icon icon-tabler icon-tabler-link"
|
||||
viewBox="0 0 24 24"
|
||||
stroke-width="2"
|
||||
stroke="currentColor"
|
||||
fill="none"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
|
||||
<path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path>
|
||||
<path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg
|
||||
></a>
|
||||
</h3>
|
||||
<div class="tsd-signature tsd-kind-icon">
|
||||
possible<wbr />Output<span class="tsd-signature-symbol"><</span
|
||||
><span class="tsd-signature-type" data-tsd-kind="Type parameter">T</span
|
||||
><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">:</span>
|
||||
<span class="tsd-signature-type" data-tsd-kind="Type parameter">T</span
|
||||
><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-symbol">(</span
|
||||
><span class="tsd-signature-type">MessagePayload</span><span class="tsd-signature-symbol"> & </span
|
||||
><span class="tsd-signature-type">MessageOptions</span><span class="tsd-signature-symbol">)</span>
|
||||
</div>
|
||||
<aside class="tsd-sources">
|
||||
<ul>
|
||||
<li>
|
||||
Defined in
|
||||
<a href="https://github.com/sern-handler/Sern/blob/29d92ca/src/types/handler.ts#L16"
|
||||
>types/handler.ts:16</a
|
||||
>
|
||||
</li>
|
||||
</ul>
|
||||
</aside>
|
||||
<h4 class="tsd-type-parameters-title">Type parameters</h4>
|
||||
<ul class="tsd-type-parameters">
|
||||
<li>
|
||||
<h4>T = <span class="tsd-signature-type">string</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>
|
||||
<li class="tsd-kind-namespace"><a href="Sern.html">Sern</a></li>
|
||||
<li class="current tsd-kind-namespace"><a href="Types.html">Types</a></li>
|
||||
<li class="tsd-kind-namespace"><a href="Utils.html">Utils</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
<nav class="tsd-navigation secondary menu-sticky">
|
||||
<ul>
|
||||
<li class="tsd-kind-type-alias tsd-parent-kind-namespace">
|
||||
<a href="Types.html#Arg" class="tsd-kind-icon">Arg</a>
|
||||
</li>
|
||||
<li class="tsd-kind-type-alias tsd-parent-kind-namespace">
|
||||
<a href="Types.html#Context" class="tsd-kind-icon">Context</a>
|
||||
</li>
|
||||
<li class="tsd-kind-type-alias tsd-parent-kind-namespace tsd-has-type-parameter">
|
||||
<a href="Types.html#Nullable" class="tsd-kind-icon">Nullable</a>
|
||||
</li>
|
||||
<li class="tsd-kind-type-alias tsd-parent-kind-namespace tsd-has-type-parameter">
|
||||
<a href="Types.html#ParseType" class="tsd-kind-icon">Parse<wbr />Type</a>
|
||||
</li>
|
||||
<li class="tsd-kind-type-alias tsd-parent-kind-namespace">
|
||||
<a href="Types.html#SlashOptions" class="tsd-kind-icon">Slash<wbr />Options</a>
|
||||
</li>
|
||||
<li class="tsd-kind-type-alias tsd-parent-kind-namespace">
|
||||
<a href="Types.html#Visibility" class="tsd-kind-icon">Visibility</a>
|
||||
</li>
|
||||
<li class="tsd-kind-type-alias tsd-parent-kind-namespace">
|
||||
<a href="Types.html#execute" class="tsd-kind-icon">execute</a>
|
||||
</li>
|
||||
<li class="tsd-kind-type-alias tsd-parent-kind-namespace tsd-has-type-parameter">
|
||||
<a href="Types.html#possibleOutput" class="tsd-kind-icon">possible<wbr />Output</a>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<footer class="with-border-bottom">
|
||||
<div class="container">
|
||||
<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>
|
||||
@@ -1,659 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html class="default">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta http-equiv="x-ua-compatible" content="IE=edge" />
|
||||
<title>Utils | sern-handler</title>
|
||||
<meta name="description" content="Documentation for sern-handler" />
|
||||
<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>
|
||||
<script>
|
||||
document.body.classList.add(localStorage.getItem('tsd-theme') || 'os');
|
||||
</script>
|
||||
<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">sern-handler</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">sern-handler</a></li>
|
||||
<li><a href="Utils.html">Utils</a></li>
|
||||
</ul>
|
||||
<h1>Namespace Utils</h1>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
<div class="container container-main">
|
||||
<div class="row">
|
||||
<div class="col-8 col-content">
|
||||
<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>Type aliases</h3>
|
||||
<ul class="tsd-index-list">
|
||||
<li class="tsd-kind-type-alias tsd-parent-kind-namespace tsd-has-type-parameter">
|
||||
<a href="Utils.html#ArgType" class="tsd-kind-icon">Arg<wbr />Type</a>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
<section class="tsd-index-section">
|
||||
<h3>Functions</h3>
|
||||
<ul class="tsd-index-list">
|
||||
<li class="tsd-kind-function tsd-parent-kind-namespace">
|
||||
<a href="Utils.html#parseBool" class="tsd-kind-icon">parse<wbr />Bool</a>
|
||||
</li>
|
||||
<li class="tsd-kind-function tsd-parent-kind-namespace">
|
||||
<a href="Utils.html#parseInt" class="tsd-kind-icon">parse<wbr />Int</a>
|
||||
</li>
|
||||
<li class="tsd-kind-function tsd-parent-kind-namespace">
|
||||
<a href="Utils.html#toArr" class="tsd-kind-icon">to<wbr />Arr</a>
|
||||
</li>
|
||||
<li class="tsd-kind-function tsd-parent-kind-namespace">
|
||||
<a href="Utils.html#toNegativeInt" class="tsd-kind-icon">to<wbr />Negative<wbr />Int</a>
|
||||
</li>
|
||||
<li class="tsd-kind-function tsd-parent-kind-namespace">
|
||||
<a href="Utils.html#toPositiveInt" class="tsd-kind-icon">to<wbr />Positive<wbr />Int</a>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
</div>
|
||||
</section>
|
||||
</section>
|
||||
<section class="tsd-panel-group tsd-member-group">
|
||||
<h2>Type aliases</h2>
|
||||
<section class="tsd-panel tsd-member tsd-kind-type-alias tsd-parent-kind-namespace tsd-has-type-parameter">
|
||||
<a id="ArgType" class="tsd-anchor"></a>
|
||||
<h3 class="tsd-anchor-link">
|
||||
Arg<wbr />Type<a href="#ArgType" aria-label="Permalink" class="tsd-anchor-icon"
|
||||
><svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
class="icon icon-tabler icon-tabler-link"
|
||||
viewBox="0 0 24 24"
|
||||
stroke-width="2"
|
||||
stroke="currentColor"
|
||||
fill="none"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
|
||||
<path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path>
|
||||
<path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg
|
||||
></a>
|
||||
</h3>
|
||||
<div class="tsd-signature tsd-kind-icon">
|
||||
Arg<wbr />Type<span class="tsd-signature-symbol"><</span
|
||||
><span class="tsd-signature-type" data-tsd-kind="Type parameter">T</span
|
||||
><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">:</span>
|
||||
<span class="tsd-signature-type">Result</span><span class="tsd-signature-symbol"><</span
|
||||
><span class="tsd-signature-type" data-tsd-kind="Type parameter">T</span
|
||||
><span class="tsd-signature-symbol">, </span
|
||||
><a href="Types.html#possibleOutput" class="tsd-signature-type" data-tsd-kind="Type alias"
|
||||
>possibleOutput</a
|
||||
><span class="tsd-signature-symbol">></span>
|
||||
</div>
|
||||
<aside class="tsd-sources">
|
||||
<ul>
|
||||
<li>
|
||||
Defined in
|
||||
<a
|
||||
href="https://github.com/sern-handler/Sern/blob/29d92ca/src/handler/utilities/preprocessors/args.ts#L8"
|
||||
>handler/utilities/preprocessors/args.ts:8</a
|
||||
>
|
||||
</li>
|
||||
</ul>
|
||||
</aside>
|
||||
<div class="tsd-comment tsd-typography">
|
||||
<div class="lead">
|
||||
<p>
|
||||
Wrapper type taking <code>Ok(T)</code> or <code>Err(possibleOutput)</code> e.g
|
||||
<code>Result<T, possibleOutput</code>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<h4 class="tsd-type-parameters-title">Type parameters</h4>
|
||||
<ul class="tsd-type-parameters">
|
||||
<li><h4>T</h4></li>
|
||||
</ul>
|
||||
</section>
|
||||
</section>
|
||||
<section class="tsd-panel-group tsd-member-group">
|
||||
<h2>Functions</h2>
|
||||
<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-namespace">
|
||||
<a id="parseBool" class="tsd-anchor"></a>
|
||||
<h3 class="tsd-anchor-link">
|
||||
parse<wbr />Bool<a href="#parseBool" aria-label="Permalink" class="tsd-anchor-icon"
|
||||
><svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
class="icon icon-tabler icon-tabler-link"
|
||||
viewBox="0 0 24 24"
|
||||
stroke-width="2"
|
||||
stroke="currentColor"
|
||||
fill="none"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
|
||||
<path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path>
|
||||
<path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg
|
||||
></a>
|
||||
</h3>
|
||||
<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-namespace">
|
||||
<li class="tsd-signature tsd-kind-icon">
|
||||
parse<wbr />Bool<span class="tsd-signature-symbol">(</span>arg<span class="tsd-signature-symbol"
|
||||
>: </span
|
||||
><span class="tsd-signature-type">string</span>, onFailure<span class="tsd-signature-symbol">?: </span
|
||||
><a href="Types.html#possibleOutput" class="tsd-signature-type" data-tsd-kind="Type alias"
|
||||
>possibleOutput</a
|
||||
><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">string</span
|
||||
><span class="tsd-signature-symbol">></span>, regexes<span class="tsd-signature-symbol">?: </span
|
||||
><span class="tsd-signature-symbol">{ </span>noRegex<span class="tsd-signature-symbol">: </span
|
||||
><span class="tsd-signature-type">RegExp</span
|
||||
><span class="tsd-signature-symbol">; </span>yesRegex<span class="tsd-signature-symbol">: </span
|
||||
><span class="tsd-signature-type">RegExp</span><span class="tsd-signature-symbol"> }</span
|
||||
><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span
|
||||
><a href="Utils.html#ArgType" class="tsd-signature-type" data-tsd-kind="Type alias">ArgType</a
|
||||
><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">boolean</span
|
||||
><span class="tsd-signature-symbol">></span>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="tsd-descriptions">
|
||||
<li class="tsd-description">
|
||||
<aside class="tsd-sources">
|
||||
<ul>
|
||||
<li>
|
||||
Defined in
|
||||
<a
|
||||
href="https://github.com/sern-handler/Sern/blob/29d92ca/src/handler/utilities/preprocessors/args.ts#L31"
|
||||
>handler/utilities/preprocessors/args.ts:31</a
|
||||
>
|
||||
</li>
|
||||
</ul>
|
||||
</aside>
|
||||
<h4 class="tsd-parameters-title">Parameters</h4>
|
||||
<ul class="tsd-parameters">
|
||||
<li>
|
||||
<h5>arg: <span class="tsd-signature-type">string</span></h5>
|
||||
<div class="tsd-comment tsd-typography">
|
||||
<div class="lead">
|
||||
<p>command arguments</p>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<h5>
|
||||
onFailure:
|
||||
<a href="Types.html#possibleOutput" class="tsd-signature-type" data-tsd-kind="Type alias"
|
||||
>possibleOutput</a
|
||||
><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>
|
||||
</h5>
|
||||
<div class="tsd-comment tsd-typography">
|
||||
<div class="lead">
|
||||
<p>If cannot parse <code>arg</code> into boolean.</p>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<h5>
|
||||
regexes: <span class="tsd-signature-symbol">{ </span>noRegex<span class="tsd-signature-symbol"
|
||||
>: </span
|
||||
><span class="tsd-signature-type">RegExp</span
|
||||
><span class="tsd-signature-symbol">; </span>yesRegex<span class="tsd-signature-symbol">: </span
|
||||
><span class="tsd-signature-type">RegExp</span><span class="tsd-signature-symbol"> }</span
|
||||
><span class="tsd-signature-symbol"> = ...</span>
|
||||
</h5>
|
||||
<ul class="tsd-parameters">
|
||||
<li class="tsd-parameter">
|
||||
<h5>
|
||||
no<wbr />Regex<span class="tsd-signature-symbol">: </span
|
||||
><span class="tsd-signature-type">RegExp</span>
|
||||
</h5>
|
||||
</li>
|
||||
<li class="tsd-parameter">
|
||||
<h5>
|
||||
yes<wbr />Regex<span class="tsd-signature-symbol">: </span
|
||||
><span class="tsd-signature-type">RegExp</span>
|
||||
</h5>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<h4 class="tsd-returns-title">
|
||||
Returns
|
||||
<a href="Utils.html#ArgType" class="tsd-signature-type" data-tsd-kind="Type alias">ArgType</a
|
||||
><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">boolean</span
|
||||
><span class="tsd-signature-symbol">></span>
|
||||
</h4>
|
||||
<div>
|
||||
<p>attemps to parse <code>args</code> as a boolean</p>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-namespace">
|
||||
<a id="parseInt" class="tsd-anchor"></a>
|
||||
<h3 class="tsd-anchor-link">
|
||||
parse<wbr />Int<a href="#parseInt" aria-label="Permalink" class="tsd-anchor-icon"
|
||||
><svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
class="icon icon-tabler icon-tabler-link"
|
||||
viewBox="0 0 24 24"
|
||||
stroke-width="2"
|
||||
stroke="currentColor"
|
||||
fill="none"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
|
||||
<path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path>
|
||||
<path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg
|
||||
></a>
|
||||
</h3>
|
||||
<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-namespace">
|
||||
<li class="tsd-signature tsd-kind-icon">
|
||||
parse<wbr />Int<span class="tsd-signature-symbol">(</span>arg<span class="tsd-signature-symbol"
|
||||
>: </span
|
||||
><span class="tsd-signature-type">string</span>, onFailure<span class="tsd-signature-symbol">: </span
|
||||
><a href="Types.html#possibleOutput" class="tsd-signature-type" data-tsd-kind="Type alias"
|
||||
>possibleOutput</a
|
||||
><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-symbol">: </span
|
||||
><a href="Utils.html#ArgType" class="tsd-signature-type" data-tsd-kind="Type alias">ArgType</a
|
||||
><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">number</span
|
||||
><span class="tsd-signature-symbol">></span>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="tsd-descriptions">
|
||||
<li class="tsd-description">
|
||||
<aside class="tsd-sources">
|
||||
<ul>
|
||||
<li>
|
||||
Defined in
|
||||
<a
|
||||
href="https://github.com/sern-handler/Sern/blob/29d92ca/src/handler/utilities/preprocessors/args.ts#L17"
|
||||
>handler/utilities/preprocessors/args.ts:17</a
|
||||
>
|
||||
</li>
|
||||
</ul>
|
||||
</aside>
|
||||
<h4 class="tsd-parameters-title">Parameters</h4>
|
||||
<ul class="tsd-parameters">
|
||||
<li>
|
||||
<h5>arg: <span class="tsd-signature-type">string</span></h5>
|
||||
<div class="tsd-comment tsd-typography">
|
||||
<div class="lead">
|
||||
<p>command arguments</p>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<h5>
|
||||
onFailure:
|
||||
<a href="Types.html#possibleOutput" class="tsd-signature-type" data-tsd-kind="Type alias"
|
||||
>possibleOutput</a
|
||||
><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">string</span
|
||||
><span class="tsd-signature-symbol">></span>
|
||||
</h5>
|
||||
<div class="tsd-comment tsd-typography">
|
||||
<div class="lead">
|
||||
<p>if <code>Number.parseInt</code> returns NaN</p>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
<h4 class="tsd-returns-title">
|
||||
Returns
|
||||
<a href="Utils.html#ArgType" class="tsd-signature-type" data-tsd-kind="Type alias">ArgType</a
|
||||
><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">number</span
|
||||
><span class="tsd-signature-symbol">></span>
|
||||
</h4>
|
||||
<div>
|
||||
<p>Attempts to use <code>Number.parseInt()</code> on <code>arg</code></p>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-namespace">
|
||||
<a id="toArr" class="tsd-anchor"></a>
|
||||
<h3 class="tsd-anchor-link">
|
||||
to<wbr />Arr<a href="#toArr" aria-label="Permalink" class="tsd-anchor-icon"
|
||||
><svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
class="icon icon-tabler icon-tabler-link"
|
||||
viewBox="0 0 24 24"
|
||||
stroke-width="2"
|
||||
stroke="currentColor"
|
||||
fill="none"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
|
||||
<path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path>
|
||||
<path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg
|
||||
></a>
|
||||
</h3>
|
||||
<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-namespace">
|
||||
<li class="tsd-signature tsd-kind-icon">
|
||||
to<wbr />Arr<span class="tsd-signature-symbol">(</span>arg<span class="tsd-signature-symbol">: </span
|
||||
><span class="tsd-signature-type">string</span>, sep<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="Utils.html#ArgType" class="tsd-signature-type" data-tsd-kind="Type alias">ArgType</a
|
||||
><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>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="tsd-descriptions">
|
||||
<li class="tsd-description">
|
||||
<aside class="tsd-sources">
|
||||
<ul>
|
||||
<li>
|
||||
Defined in
|
||||
<a
|
||||
href="https://github.com/sern-handler/Sern/blob/29d92ca/src/handler/utilities/preprocessors/args.ts#L55"
|
||||
>handler/utilities/preprocessors/args.ts:55</a
|
||||
>
|
||||
</li>
|
||||
</ul>
|
||||
</aside>
|
||||
<h4 class="tsd-parameters-title">Parameters</h4>
|
||||
<ul class="tsd-parameters">
|
||||
<li>
|
||||
<h5>arg: <span class="tsd-signature-type">string</span></h5>
|
||||
<div class="tsd-comment tsd-typography">
|
||||
<div class="lead">
|
||||
<p>command arguments</p>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<h5>
|
||||
sep: <span class="tsd-signature-type">string</span
|
||||
><span class="tsd-signature-symbol"> = ' '</span>
|
||||
</h5>
|
||||
<div class="tsd-comment tsd-typography">
|
||||
<div class="lead">
|
||||
<p>default separator = ' '</p>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
<h4 class="tsd-returns-title">
|
||||
Returns
|
||||
<a href="Utils.html#ArgType" class="tsd-signature-type" data-tsd-kind="Type alias">ArgType</a
|
||||
><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>
|
||||
</h4>
|
||||
<div></div>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-namespace">
|
||||
<a id="toNegativeInt" class="tsd-anchor"></a>
|
||||
<h3 class="tsd-anchor-link">
|
||||
to<wbr />Negative<wbr />Int<a href="#toNegativeInt" aria-label="Permalink" class="tsd-anchor-icon"
|
||||
><svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
class="icon icon-tabler icon-tabler-link"
|
||||
viewBox="0 0 24 24"
|
||||
stroke-width="2"
|
||||
stroke="currentColor"
|
||||
fill="none"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
|
||||
<path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path>
|
||||
<path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg
|
||||
></a>
|
||||
</h3>
|
||||
<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-namespace">
|
||||
<li class="tsd-signature tsd-kind-icon">
|
||||
to<wbr />Negative<wbr />Int<span class="tsd-signature-symbol">(</span>arg<span
|
||||
class="tsd-signature-symbol"
|
||||
>: </span
|
||||
><span class="tsd-signature-type">string</span>, onFailure<span class="tsd-signature-symbol">: </span
|
||||
><a href="Types.html#possibleOutput" class="tsd-signature-type" data-tsd-kind="Type alias"
|
||||
>possibleOutput</a
|
||||
><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-symbol">: </span
|
||||
><a href="Utils.html#ArgType" class="tsd-signature-type" data-tsd-kind="Type alias">ArgType</a
|
||||
><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">number</span
|
||||
><span class="tsd-signature-symbol">></span>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="tsd-descriptions">
|
||||
<li class="tsd-description">
|
||||
<aside class="tsd-sources">
|
||||
<ul>
|
||||
<li>
|
||||
Defined in
|
||||
<a
|
||||
href="https://github.com/sern-handler/Sern/blob/29d92ca/src/handler/utilities/preprocessors/args.ts#L76"
|
||||
>handler/utilities/preprocessors/args.ts:76</a
|
||||
>
|
||||
</li>
|
||||
</ul>
|
||||
</aside>
|
||||
<h4 class="tsd-parameters-title">Parameters</h4>
|
||||
<ul class="tsd-parameters">
|
||||
<li>
|
||||
<h5>arg: <span class="tsd-signature-type">string</span></h5>
|
||||
<div class="tsd-comment tsd-typography">
|
||||
<div class="lead">
|
||||
<p>command arguments</p>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<h5>
|
||||
onFailure:
|
||||
<a href="Types.html#possibleOutput" class="tsd-signature-type" data-tsd-kind="Type alias"
|
||||
>possibleOutput</a
|
||||
><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">string</span
|
||||
><span class="tsd-signature-symbol">></span>
|
||||
</h5>
|
||||
<div class="tsd-comment tsd-typography">
|
||||
<div class="lead">
|
||||
<p>delegates <code>parseInt</code></p>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
<h4 class="tsd-returns-title">
|
||||
Returns
|
||||
<a href="Utils.html#ArgType" class="tsd-signature-type" data-tsd-kind="Type alias">ArgType</a
|
||||
><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">number</span
|
||||
><span class="tsd-signature-symbol">></span>
|
||||
</h4>
|
||||
<div></div>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-namespace">
|
||||
<a id="toPositiveInt" class="tsd-anchor"></a>
|
||||
<h3 class="tsd-anchor-link">
|
||||
to<wbr />Positive<wbr />Int<a href="#toPositiveInt" aria-label="Permalink" class="tsd-anchor-icon"
|
||||
><svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
class="icon icon-tabler icon-tabler-link"
|
||||
viewBox="0 0 24 24"
|
||||
stroke-width="2"
|
||||
stroke="currentColor"
|
||||
fill="none"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
|
||||
<path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path>
|
||||
<path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg
|
||||
></a>
|
||||
</h3>
|
||||
<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-namespace">
|
||||
<li class="tsd-signature tsd-kind-icon">
|
||||
to<wbr />Positive<wbr />Int<span class="tsd-signature-symbol">(</span>arg<span
|
||||
class="tsd-signature-symbol"
|
||||
>: </span
|
||||
><span class="tsd-signature-type">string</span>, onFailure<span class="tsd-signature-symbol">: </span
|
||||
><a href="Types.html#possibleOutput" class="tsd-signature-type" data-tsd-kind="Type alias"
|
||||
>possibleOutput</a
|
||||
><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-symbol">: </span
|
||||
><a href="Utils.html#ArgType" class="tsd-signature-type" data-tsd-kind="Type alias">ArgType</a
|
||||
><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">number</span
|
||||
><span class="tsd-signature-symbol">></span>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="tsd-descriptions">
|
||||
<li class="tsd-description">
|
||||
<aside class="tsd-sources">
|
||||
<ul>
|
||||
<li>
|
||||
Defined in
|
||||
<a
|
||||
href="https://github.com/sern-handler/Sern/blob/29d92ca/src/handler/utilities/preprocessors/args.ts#L66"
|
||||
>handler/utilities/preprocessors/args.ts:66</a
|
||||
>
|
||||
</li>
|
||||
</ul>
|
||||
</aside>
|
||||
<h4 class="tsd-parameters-title">Parameters</h4>
|
||||
<ul class="tsd-parameters">
|
||||
<li>
|
||||
<h5>arg: <span class="tsd-signature-type">string</span></h5>
|
||||
<div class="tsd-comment tsd-typography">
|
||||
<div class="lead">
|
||||
<p>command arguments</p>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<h5>
|
||||
onFailure:
|
||||
<a href="Types.html#possibleOutput" class="tsd-signature-type" data-tsd-kind="Type alias"
|
||||
>possibleOutput</a
|
||||
><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">string</span
|
||||
><span class="tsd-signature-symbol">></span>
|
||||
</h5>
|
||||
<div class="tsd-comment tsd-typography">
|
||||
<div class="lead">
|
||||
<p>delegates <code>Utils.parseInt</code></p>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
<h4 class="tsd-returns-title">
|
||||
Returns
|
||||
<a href="Utils.html#ArgType" class="tsd-signature-type" data-tsd-kind="Type alias">ArgType</a
|
||||
><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">number</span
|
||||
><span class="tsd-signature-symbol">></span>
|
||||
</h4>
|
||||
<div></div>
|
||||
</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>
|
||||
<li class="tsd-kind-namespace"><a href="Sern.html">Sern</a></li>
|
||||
<li class="tsd-kind-namespace"><a href="Types.html">Types</a></li>
|
||||
<li class="current tsd-kind-namespace"><a href="Utils.html">Utils</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
<nav class="tsd-navigation secondary menu-sticky">
|
||||
<ul>
|
||||
<li class="tsd-kind-type-alias tsd-parent-kind-namespace tsd-has-type-parameter">
|
||||
<a href="Utils.html#ArgType" class="tsd-kind-icon">Arg<wbr />Type</a>
|
||||
</li>
|
||||
<li class="tsd-kind-function tsd-parent-kind-namespace">
|
||||
<a href="Utils.html#parseBool" class="tsd-kind-icon">parse<wbr />Bool</a>
|
||||
</li>
|
||||
<li class="tsd-kind-function tsd-parent-kind-namespace">
|
||||
<a href="Utils.html#parseInt" class="tsd-kind-icon">parse<wbr />Int</a>
|
||||
</li>
|
||||
<li class="tsd-kind-function tsd-parent-kind-namespace">
|
||||
<a href="Utils.html#toArr" class="tsd-kind-icon">to<wbr />Arr</a>
|
||||
</li>
|
||||
<li class="tsd-kind-function tsd-parent-kind-namespace">
|
||||
<a href="Utils.html#toNegativeInt" class="tsd-kind-icon">to<wbr />Negative<wbr />Int</a>
|
||||
</li>
|
||||
<li class="tsd-kind-function tsd-parent-kind-namespace">
|
||||
<a href="Utils.html#toPositiveInt" class="tsd-kind-icon">to<wbr />Positive<wbr />Int</a>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<footer class="with-border-bottom">
|
||||
<div class="container">
|
||||
<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>
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user