Compare commits

..

83 commits
v3.1.1 ... main

Author SHA1 Message Date
6acc5a9a02 v3.2.3
All checks were successful
Deploy To Production / build (push) Successful in 7s
Deploy To Production / deploy (push) Successful in 14s
2024-10-18 18:09:26 +01:00
d75f7e650c 3.2.3 2024-10-18 18:09:19 +01:00
923348d809 Migrate to yarn
All checks were successful
Test / build (push) Successful in 9s
2024-10-18 18:07:42 +01:00
6f91134756 Add to registry
Some checks failed
Test / build (push) Failing after 3s
2024-10-18 18:04:49 +01:00
1acedfbd3d WIP: Start of implementing a link-only mode
Some checks failed
Test / build (push) Failing after 4s
2024-10-12 13:45:41 +01:00
4ed5beb42a Move to yarn 2024-10-12 13:04:44 +01:00
35646ef153 Update test script to use node
All checks were successful
Deploy To Production / build (push) Successful in 6s
Deploy To Stage / build (push) Successful in 6s
Deploy To Stage / deploy (push) Successful in 16s
Deploy To Production / deploy (push) Successful in 15s
2024-04-28 17:15:18 +01:00
16e0165922 Update stage script
All checks were successful
Deploy To Stage / build (push) Successful in 7s
Deploy To Stage / deploy (push) Successful in 16s
Deploy To Production / build (push) Successful in 7s
Deploy To Production / deploy (push) Successful in 13s
2024-04-28 17:09:57 +01:00
cb1b098daa Add stage script
Some checks failed
Deploy To Stage / build (push) Successful in 7s
Deploy To Stage / deploy (push) Failing after 5s
2024-04-28 17:07:25 +01:00
c33b4a8fdb Merge branch 'main' into develop 2024-04-28 17:05:53 +01:00
c6788370de Copy command
All checks were successful
Deploy To Production / build (push) Successful in 11s
Deploy To Production / deploy (push) Successful in 17s
2024-04-28 17:01:11 +01:00
a7bb5d995a Temp: ls
Some checks failed
Deploy To Production / build (push) Successful in 12s
Deploy To Production / deploy (push) Failing after 1s
2024-04-28 16:56:33 +01:00
00c90aec80 Source .sshrc
Some checks failed
Deploy To Production / build (push) Successful in 11s
Deploy To Production / deploy (push) Failing after 1s
2024-04-28 16:26:46 +01:00
13dd2558f2 Migrate to npm
Some checks failed
Deploy To Production / build (push) Successful in 37s
Deploy To Production / deploy (push) Failing after 14s
2024-04-28 16:19:16 +01:00
f7f304d1f4 Undo bash source
Some checks failed
Deploy To Production / build (push) Successful in 7s
Deploy To Production / deploy (push) Failing after 14s
2024-04-28 16:11:02 +01:00
344d6c01eb Cd first
Some checks failed
Deploy To Production / build (push) Successful in 9s
Deploy To Production / deploy (push) Failing after 14s
2024-04-28 16:09:18 +01:00
b62f799531 Use .bashrc
Some checks failed
Deploy To Production / build (push) Successful in 6s
Deploy To Production / deploy (push) Failing after 14s
2024-04-28 16:07:31 +01:00
0a340f36cf Use prod_
Some checks failed
Deploy To Production / build (push) Successful in 6s
Deploy To Production / deploy (push) Failing after 14s
2024-04-28 16:05:43 +01:00
9f7c622514 Runs on node
Some checks failed
Deploy To Production / build (push) Successful in 25s
Deploy To Production / deploy (push) Failing after 4s
2024-04-28 16:02:46 +01:00
ed3517ecda Use forgejo runner
Some checks failed
Deploy To Production / build (push) Failing after 13s
Deploy To Production / deploy (push) Has been skipped
2024-04-28 15:49:54 +01:00
c6cb35a12c Merge branch 'main' into develop
All checks were successful
continuous-integration/drone/push Build is passing
2024-04-19 18:24:57 +01:00
3b0586ddad v3.2.2
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
2024-04-19 18:24:04 +01:00
1c430222aa Revert release bump 2024-04-19 18:24:00 +01:00
c9789a3c77 Update drone deployment
All checks were successful
continuous-integration/drone/push Build is passing
2024-04-19 18:20:01 +01:00
5678097aac v3.2.2
Some checks failed
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is failing
2024-04-19 18:18:04 +01:00
d6330ae501 3.2.2
All checks were successful
continuous-integration/drone/push Build is passing
2024-04-19 18:16:45 +01:00
f3d67bb33a Update bunny command to defer reply until it finds an image 2024-04-19 18:16:25 +01:00
790afcca4a Update random-bunny to v2.1.6 2024-04-19 18:15:59 +01:00
2b04952d85 Update cache helper using the wrong symbol to measure interval
All checks were successful
continuous-integration/drone/push Build is passing
2024-03-30 16:15:53 +00:00
de5c744feb Update dependency np to v10 (#415)
All checks were successful
continuous-integration/drone/push Build is passing
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [np](https://github.com/sindresorhus/np) | devDependencies | major | [`^9.0.0` -> `^10.0.0`](https://renovatebot.com/diffs/npm/np/9.2.0/10.0.2) |

---

### Release Notes

<details>
<summary>sindresorhus/np (np)</summary>

### [`v10.0.2`](https://github.com/sindresorhus/np/releases/tag/v10.0.2)

[Compare Source](https://github.com/sindresorhus/np/compare/v10.0.1...v10.0.2)

-   Use npm for tagging versions when pnpm is the chosen package manager ([#&#8203;739](https://github.com/sindresorhus/np/issues/739))  [`770418f`](https://github.com/sindresorhus/np/commit/770418f)

### [`v10.0.1`](https://github.com/sindresorhus/np/releases/tag/v10.0.1)

[Compare Source](https://github.com/sindresorhus/np/compare/v10.0.0...v10.0.1)

-   Fix compatibility with npm 10 ([#&#8203;737](https://github.com/sindresorhus/np/issues/737))  [`9fdebd5`](https://github.com/sindresorhus/np/commit/9fdebd5)

### [`v10.0.0`](https://github.com/sindresorhus/np/releases/tag/v10.0.0)

[Compare Source](https://github.com/sindresorhus/np/compare/v9.2.0...v10.0.0)

##### Breaking

-   Remove the `--yarn` flag ([#&#8203;730](https://github.com/sindresorhus/np/issues/730))  [`4b3b599`](https://github.com/sindresorhus/np/commit/4b3b599)
    -   The functionality is replaced by `--package-manager`. See below.

##### Improvements

-   Add `--package-manager` flag ([#&#8203;730](https://github.com/sindresorhus/np/issues/730))  [`4b3b599`](https://github.com/sindresorhus/np/commit/4b3b599)
    -   This acts like the [`packageManager` field](https://nodejs.org/api/packages.html#packagemanager) in package.json. `np` will default to reading package.json, and look for lockfiles to determine the best package manager as a last resort.
-   Add pnpm support ([#&#8203;730](https://github.com/sindresorhus/np/issues/730))  [`4b3b599`](https://github.com/sindresorhus/np/commit/4b3b599)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4wLjAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4wLjAiLCJ0YXJnZXRCcmFuY2giOiJkZXZlbG9wIn0=-->

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/vylbot-app/pulls/415
Co-authored-by: Renovate Bot <renovate@vylpes.com>
Co-committed-by: Renovate Bot <renovate@vylpes.com>
2024-03-25 17:32:59 +00:00
a7f8abb8d4 Update dependency @types/node to v20.11.30 (#410)
All checks were successful
continuous-integration/drone/push Build is passing
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://github.com/DefinitelyTyped/DefinitelyTyped)) | devDependencies | patch | [`20.11.10` -> `20.11.30`](https://renovatebot.com/diffs/npm/@types%2fnode/20.11.10/20.11.30) |

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4wLjAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4wLjAiLCJ0YXJnZXRCcmFuY2giOiJkZXZlbG9wIn0=-->

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/vylbot-app/pulls/410
Co-authored-by: Renovate Bot <renovate@vylpes.com>
Co-committed-by: Renovate Bot <renovate@vylpes.com>
2024-03-25 17:32:16 +00:00
b42652c509 Update dependency undici to v6 (#416)
All checks were successful
continuous-integration/drone/push Build is passing
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [undici](https://undici.nodejs.org) ([source](https://github.com/nodejs/undici)) | resolutions | major | [`^5.28.3` -> `^6.0.0`](https://renovatebot.com/diffs/npm/undici/5.28.3/6.9.0) |

---

### Release Notes

<details>
<summary>nodejs/undici (undici)</summary>

### [`v6.9.0`](https://github.com/nodejs/undici/releases/tag/v6.9.0)

[Compare Source](https://github.com/nodejs/undici/compare/v6.8.0...v6.9.0)

#### What's Changed

-   feat: add new dispatch compose by [@&#8203;metcoder95](https://github.com/metcoder95) in https://github.com/nodejs/undici/pull/2826
-   ci: add macos-latest to test-matrix by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2952
-   types: align RequestInit.body type with lib.dom.ts by [@&#8203;jdufresne](https://github.com/jdufresne) in https://github.com/nodejs/undici/pull/2956
-   ci: pin versions of github actions by [@&#8203;UlisesGascon](https://github.com/UlisesGascon) in https://github.com/nodejs/undici/pull/2957
-   fetch: improve output for FormData, Response, Request by [@&#8203;mertcanaltin](https://github.com/mertcanaltin) in https://github.com/nodejs/undici/pull/2955
-   perf: optimize collectASequenceOfBytes by [@&#8203;tsctx](https://github.com/tsctx) in https://github.com/nodejs/undici/pull/2958

#### New Contributors

-   [@&#8203;jdufresne](https://github.com/jdufresne) made their first contribution in https://github.com/nodejs/undici/pull/2956
-   [@&#8203;UlisesGascon](https://github.com/UlisesGascon) made their first contribution in https://github.com/nodejs/undici/pull/2957

**Full Changelog**: https://github.com/nodejs/undici/compare/v6.8.0...v6.9.0

### [`v6.8.0`](https://github.com/nodejs/undici/releases/tag/v6.8.0)

[Compare Source](https://github.com/nodejs/undici/compare/v6.7.1...v6.8.0)

#### What's Changed

-   fix: send correct SNI for proxy connections by [@&#8203;chrros95](https://github.com/chrros95) in https://github.com/nodejs/undici/pull/2939
-   build(deps): bump node from `8bf9240` to `7bfef1d` in /build by [@&#8203;dependabot](https://github.com/dependabot) in https://github.com/nodejs/undici/pull/2937
-   fetch: improve util.inspect output for web specifications by [@&#8203;mertcanaltin](https://github.com/mertcanaltin) in https://github.com/nodejs/undici/pull/2938
-   ci: fix broken ci on windows and node v21 because of libuv bug by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2941
-   perf: improve getResolveErrorBodyCallback by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2940
-   fix: don't assign kAgent twice by [@&#8203;ronag](https://github.com/ronag) in https://github.com/nodejs/undici/pull/2942
-   perf: dump immediatly if known size exceeds limit by [@&#8203;ronag](https://github.com/ronag) in https://github.com/nodejs/undici/pull/2882
-   build(deps): bump node from `7bfef1d` to `4999fa1` in /build by [@&#8203;dependabot](https://github.com/dependabot) in https://github.com/nodejs/undici/pull/2946
-   try to fix windows failure by [@&#8203;ronag](https://github.com/ronag) in https://github.com/nodejs/undici/pull/2950
-   perf: improve parsing form-data by [@&#8203;tsctx](https://github.com/tsctx) in https://github.com/nodejs/undici/pull/2944

#### New Contributors

-   [@&#8203;chrros95](https://github.com/chrros95) made their first contribution in https://github.com/nodejs/undici/pull/2939

**Full Changelog**: https://github.com/nodejs/undici/compare/v6.7.1...v6.8.0

### [`v6.7.1`](https://github.com/nodejs/undici/releases/tag/v6.7.1)

[Compare Source](https://github.com/nodejs/undici/compare/v6.7.0...v6.7.1)

#### What's Changed

-   fetch: use EOL of os-module by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2915
-   ci: only send codecov from ubuntu and node by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2914
-   tests: improve skip for unix.js tests, remove skipped tests by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2916
-   chore: fix typo in isHistoryNavigation comments by [@&#8203;kachick](https://github.com/kachick) in https://github.com/nodejs/undici/pull/2920
-   fix(benchmark): set body correctly by [@&#8203;tsctx](https://github.com/tsctx) in https://github.com/nodejs/undici/pull/2918
-   chore: increase test coverage to 100% for /lib/api/api-request.js by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2912
-   fix: chunksDecode cuts off 3 characters at the end if having BOM by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2922
-   docs: clarify URI parsing behavior of ProxyAgent constructor by [@&#8203;rossilor95](https://github.com/rossilor95) in https://github.com/nodejs/undici/pull/2893
-   implement sync formdata parser by [@&#8203;KhafraDev](https://github.com/KhafraDev) in https://github.com/nodejs/undici/pull/2911
-   Fix docs links and add examples to sidebar by [@&#8203;tastypackets](https://github.com/tastypackets) in https://github.com/nodejs/undici/pull/2895
-   doc: update diagnostics channel request headers type change by [@&#8203;jessezhang91](https://github.com/jessezhang91) in https://github.com/nodejs/undici/pull/2925
-   perf: optimize getResolveErrorBodyCallback by [@&#8203;tsctx](https://github.com/tsctx) in https://github.com/nodejs/undici/pull/2921
-   override request dispatcher from init by [@&#8203;matthieusieben](https://github.com/matthieusieben) in https://github.com/nodejs/undici/pull/2928
-   add busboy tests by [@&#8203;KhafraDev](https://github.com/KhafraDev) in https://github.com/nodejs/undici/pull/2924
-   fix(benchmark): make it fair by [@&#8203;tsctx](https://github.com/tsctx) in https://github.com/nodejs/undici/pull/2929
-   Revert "chore: remove no-simd wasm" by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2935
-   build(deps): bump node from `d3271e4` to `8bf9240` in /build by [@&#8203;dependabot](https://github.com/dependabot) in https://github.com/nodejs/undici/pull/2936
-   Flip link between docs and README by [@&#8203;mcollina](https://github.com/mcollina) in https://github.com/nodejs/undici/pull/2933

#### New Contributors

-   [@&#8203;kachick](https://github.com/kachick) made their first contribution in https://github.com/nodejs/undici/pull/2920
-   [@&#8203;tastypackets](https://github.com/tastypackets) made their first contribution in https://github.com/nodejs/undici/pull/2895
-   [@&#8203;jessezhang91](https://github.com/jessezhang91) made their first contribution in https://github.com/nodejs/undici/pull/2925
-   [@&#8203;matthieusieben](https://github.com/matthieusieben) made their first contribution in https://github.com/nodejs/undici/pull/2928

**Full Changelog**: https://github.com/nodejs/undici/compare/v6.7.0...v6.7.1

### [`v6.7.0`](https://github.com/nodejs/undici/releases/tag/v6.7.0)

[Compare Source](https://github.com/nodejs/undici/compare/v6.6.2...v6.7.0)

#### What's Changed

-   test: remove t.diagnostics() calls in push-dont-push.js test by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2715
-   fix: fix flaky debug test by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2714
-   fix: HTTP2 tweaks by [@&#8203;metcoder95](https://github.com/metcoder95) in https://github.com/nodejs/undici/pull/2711
-   test: improve cookie tests by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2693
-   test: response.url after redirect is set to target url by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2716
-   chore: remove mocha and chai by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2696
-   test: replace t.pass with t.ok by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2721
-   perf: remove redundant operation in FormData by [@&#8203;tsctx](https://github.com/tsctx) in https://github.com/nodejs/undici/pull/2726
-   Add support for passing iterable objects as headers by [@&#8203;JaoodxD](https://github.com/JaoodxD) in https://github.com/nodejs/undici/pull/2708
-   chore: refine esbuild & node detection by [@&#8203;mochaaP](https://github.com/mochaaP) in https://github.com/nodejs/undici/pull/2677
-   chore: rephrase some comments by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2717
-   test: replace t.type with t.ok and instanceof by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2720
-   remove useless options in web streams by [@&#8203;KhafraDev](https://github.com/KhafraDev) in https://github.com/nodejs/undici/pull/2729
-   Let's add superagent to the benchmark. closes [#&#8203;2730](https://github.com/nodejs/undici/issues/2730) by [@&#8203;eddienubes](https://github.com/eddienubes) in https://github.com/nodejs/undici/pull/2731
-   convert node build to latin1 by [@&#8203;KhafraDev](https://github.com/KhafraDev) in https://github.com/nodejs/undici/pull/2673
-   simplify formData body parsing by [@&#8203;KhafraDev](https://github.com/KhafraDev) in https://github.com/nodejs/undici/pull/2735
-   chore: migrate a batch of tests to node test runner no. 1 by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2719
-   chore: migrate a batch of tests to node test runner no. 2 by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2737
-   chore: migrate a batch of tests to node test runner no. 4 by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2739
-   chore: migrate a batch of tests to node test runner no. 5 by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2740
-   chore: migrate a batch of tests to node test runner no. 3 by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2738
-   chore: migrate a batch of tests to node test runner no. 6 by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2741
-   chore: migrate a batch of tests to node test runner no. 8 by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2744
-   chore: migrate a batch of tests to node test runner no. 7 by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2742
-   build(deps-dev): bump cronometro from 2.0.2 to 3.0.1 by [@&#8203;dependabot](https://github.com/dependabot) in https://github.com/nodejs/undici/pull/2749
-   perf: always use the same prototype Iterator by [@&#8203;tsctx](https://github.com/tsctx) in https://github.com/nodejs/undici/pull/2743
-   chore: migrate a batch of tests to node test runner no. 9, remove tap by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2746
-   chore: remove usage of http-errors in proxy example by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2753
-   fix: dont ship wasm files of llhttp via npm by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2752
-   fix: handle request body as late as possible by [@&#8203;ronag](https://github.com/ronag) in https://github.com/nodejs/undici/pull/2734
-   perf(tree): avoid recursive calls by [@&#8203;tsctx](https://github.com/tsctx) in https://github.com/nodejs/undici/pull/2755
-   docs: fix favicon by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2758
-   chore: use mermaid engine and mermaid in markdown by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2759
-   chore: remove sinon dev dependency by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2767
-   tests: skip test/node-test/debug on node 21.6.2 and windows by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2765
-   chore: improve usage of skip in tests by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2761
-   feat: improve mock error breadcrumbs by [@&#8203;rossilor95](https://github.com/rossilor95) in https://github.com/nodejs/undici/pull/2774
-   expose MessageEvent in fetch bundle by [@&#8203;KhafraDev](https://github.com/KhafraDev) in https://github.com/nodejs/undici/pull/2770
-   test: always exit with 0 when running in Node's Daily WPT Report CI job by [@&#8203;panva](https://github.com/panva) in https://github.com/nodejs/undici/pull/2778
-   fix: add node prefix for util to fix issue in env with min version node 18 by [@&#8203;riderx](https://github.com/riderx) in https://github.com/nodejs/undici/pull/2775
-   perf: improve perf of parseRawHeaders by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2781
-   fix: make mock-agent.js test more resilient by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2780
-   chore: make some test run even without internet connection by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2786
-   mock: improve validateReplyParameters by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2783
-   perf: improve TernarySearchTree by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2782
-   fix: convert HeadersInit to sequence/dictionary correctly by [@&#8203;KhafraDev](https://github.com/KhafraDev) in https://github.com/nodejs/undici/pull/2784
-   chore: improve getFieldValue by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2785
-   Add RetryHandler to sidebar by [@&#8203;mcollina](https://github.com/mcollina) in https://github.com/nodejs/undici/pull/2797
-   Add RetryAgent by [@&#8203;mcollina](https://github.com/mcollina) in https://github.com/nodejs/undici/pull/2798
-   build(deps): bump step-security/harden-runner from 2.6.0 to 2.7.0 by [@&#8203;dependabot](https://github.com/dependabot) in https://github.com/nodejs/undici/pull/2690
-   build(deps): bump actions/checkout from 4.1.0 to 4.1.1 by [@&#8203;dependabot](https://github.com/dependabot) in https://github.com/nodejs/undici/pull/2393
-   build(deps): bump actions/upload-artifact from 3.1.3 to 4.3.1 by [@&#8203;dependabot](https://github.com/dependabot) in https://github.com/nodejs/undici/pull/2799
-   build(deps): bump node from 20-alpine to 21-alpine in /build by [@&#8203;dependabot](https://github.com/dependabot) in https://github.com/nodejs/undici/pull/2803
-   perf: improve sort algorithm by [@&#8203;tsctx](https://github.com/tsctx) in https://github.com/nodejs/undici/pull/2756
-   refactor: move web stuff into their own folder by [@&#8203;ronag](https://github.com/ronag) in https://github.com/nodejs/undici/pull/2793
-   `s/ dispactgher/dispatcher/` by [@&#8203;steveluscher](https://github.com/steveluscher) in https://github.com/nodejs/undici/pull/2807
-   Use paralellelRequests instead of connections to calculate req/sec in benchmarks by [@&#8203;mcollina](https://github.com/mcollina) in https://github.com/nodejs/undici/pull/2800
-   Split out documentation into separate directory by [@&#8203;Ethan-Arrowood](https://github.com/Ethan-Arrowood) in https://github.com/nodejs/undici/pull/2788
-   build(deps): bump fastify/github-action-merge-dependabot from 3.9.1 to 3.10.1 by [@&#8203;dependabot](https://github.com/dependabot) in https://github.com/nodejs/undici/pull/2820
-   build(deps): bump actions/dependency-review-action from 4.0.0 to 4.1.3 by [@&#8203;dependabot](https://github.com/dependabot) in https://github.com/nodejs/undici/pull/2821
-   build(deps): bump github/codeql-action from 3.23.2 to 3.24.4 by [@&#8203;dependabot](https://github.com/dependabot) in https://github.com/nodejs/undici/pull/2818
-   build(deps): bump actions/setup-node from 4.0.1 to 4.0.2 by [@&#8203;dependabot](https://github.com/dependabot) in https://github.com/nodejs/undici/pull/2819
-   fix: move CNAME and .nojekyll to root by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2822
-   remove all fetchParam event handlers by [@&#8203;KhafraDev](https://github.com/KhafraDev) in https://github.com/nodejs/undici/pull/2823
-   feat: refactor ProxyAgent constructor to also accept single URL argument by [@&#8203;rossilor95](https://github.com/rossilor95) in https://github.com/nodejs/undici/pull/2810
-   fix: isCTLExcludingHtab by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2790
-   refactor: move files into logical folders by [@&#8203;ronag](https://github.com/ronag) in https://github.com/nodejs/undici/pull/2813
-   refactor: move fixed-queeu to dispatcher and rm node folder by [@&#8203;ronag](https://github.com/ronag) in https://github.com/nodejs/undici/pull/2827
-   chore: create package.json in benchmarks by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2766
-   build(deps): bump github/codeql-action from 3.24.4 to 3.24.5 by [@&#8203;dependabot](https://github.com/dependabot) in https://github.com/nodejs/undici/pull/2829
-   chore: use lts for pubish types workflow by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2830
-   add dispatcher option to Request by [@&#8203;KhafraDev](https://github.com/KhafraDev) in https://github.com/nodejs/undici/pull/2831
-   fix url referrer wpt by [@&#8203;KhafraDev](https://github.com/KhafraDev) in https://github.com/nodejs/undici/pull/2832
-   refactor: remove own sort logic by [@&#8203;tsctx](https://github.com/tsctx) in https://github.com/nodejs/undici/pull/2834
-   fix(fetch): prevent crash when `fetch` is aborted with `null` as the `AbortSignal's` `reason` by [@&#8203;steveluscher](https://github.com/steveluscher) in https://github.com/nodejs/undici/pull/2833
-   refactor: avoid http2 dynamic dispatch in socket handlers by [@&#8203;ronag](https://github.com/ronag) in https://github.com/nodejs/undici/pull/2839
-   build(deps-dev): bump proxy from 1.0.2 to 2.1.1 by [@&#8203;dependabot](https://github.com/dependabot) in https://github.com/nodejs/undici/pull/2137
-   perf(tree): reduce overhead of build TernarySearchTree by [@&#8203;tsctx](https://github.com/tsctx) in https://github.com/nodejs/undici/pull/2840
-   webidl: implement resizable arraybuffer checks by [@&#8203;KhafraDev](https://github.com/KhafraDev) in https://github.com/nodejs/undici/pull/2094
-   websocket server only needs to reply with a single subprotocol by [@&#8203;KhafraDev](https://github.com/KhafraDev) in https://github.com/nodejs/undici/pull/2845
-   unite webidl stringification by [@&#8203;KhafraDev](https://github.com/KhafraDev) in https://github.com/nodejs/undici/pull/2843
-   fix: deflake connect-timeout test by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2851
-   fix: coverage reporting by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2763
-   fix: pipelining logic is not relevant for h2 by [@&#8203;ronag](https://github.com/ronag) in https://github.com/nodejs/undici/pull/2850
-   processBody doesn't need to return a promise by [@&#8203;KhafraDev](https://github.com/KhafraDev) in https://github.com/nodejs/undici/pull/2858
-   refactor: split client into client-h1/h2 by [@&#8203;ronag](https://github.com/ronag) in https://github.com/nodejs/undici/pull/2848
-   ci: fix concurrency by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2862
-   perf: improve performance of isValidSubprotocol by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2861
-   perf: reuse TextDecoder instance by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2863
-   chore: restructure benchmarks, use kebab-case by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2864
-   cookies: improve perf of toIMFDate by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2867
-   cookies: fix validateCookiePath by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2866
-   refactor: move out more h2 from core client by [@&#8203;ronag](https://github.com/ronag) in https://github.com/nodejs/undici/pull/2860
-   mock: improve test coverage of buildHeadersFromArray by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2872
-   fix: remove broken build request hack by [@&#8203;ronag](https://github.com/ronag) in https://github.com/nodejs/undici/pull/2874
-   chore: filenames should use kebab-case by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2873
-   refactor: split out last h1 specific code from core by [@&#8203;ronag](https://github.com/ronag) in https://github.com/nodejs/undici/pull/2876
-   fix: make pipelining limit work for h2 by [@&#8203;ronag](https://github.com/ronag) in https://github.com/nodejs/undici/pull/2875
-   fix: http2 doesn't have pipelining queue by [@&#8203;ronag](https://github.com/ronag) in https://github.com/nodejs/undici/pull/2878
-   fix: minor connect cleanup by [@&#8203;ronag](https://github.com/ronag) in https://github.com/nodejs/undici/pull/2877
-   Request headers types by [@&#8203;JaoodxD](https://github.com/JaoodxD) in https://github.com/nodejs/undici/pull/2879
-   ci: remove concurrency by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2880
-   fix: prefer queueMicrotask by [@&#8203;ronag](https://github.com/ronag) in https://github.com/nodejs/undici/pull/2881
-   chore: remove no-simd wasm by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2871
-   cookies: improve validateCookieValue by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2883
-   cookies: improve validateCookieName by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2884
-   Properly parse set-cookie header using http2 by [@&#8203;jeanp413](https://github.com/jeanp413) in https://github.com/nodejs/undici/pull/2886
-   doc deprecate bodymixin.formData by [@&#8203;KhafraDev](https://github.com/KhafraDev) in https://github.com/nodejs/undici/pull/2892
-   perf: optimize check invalid field-vchar by [@&#8203;tsctx](https://github.com/tsctx) in https://github.com/nodejs/undici/pull/2889
-   build(deps): bump github/codeql-action from 3.24.5 to 3.24.6 by [@&#8203;dependabot](https://github.com/dependabot) in https://github.com/nodejs/undici/pull/2897
-   fix issue 2898 by [@&#8203;KhafraDev](https://github.com/KhafraDev) in https://github.com/nodejs/undici/pull/2900
-   tests: ignore catch block when requiring crypto module by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2901
-   websocket: remove dead code in parseCloseBody by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2902
-   fix: tests dont need process.exit by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2909
-   chore: remove proxyquire by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2906
-   chore: remove import-fresh as devDependency by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2908
-   perf(headers): a single set-cookie by [@&#8203;tsctx](https://github.com/tsctx) in https://github.com/nodejs/undici/pull/2903
-   websocket: improve .close() by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2865
-   feat: add sending data benchmark by [@&#8203;tsctx](https://github.com/tsctx) in https://github.com/nodejs/undici/pull/2905
-   ci: integrate workflows into nodejs.yml by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2899

#### New Contributors

-   [@&#8203;JaoodxD](https://github.com/JaoodxD) made their first contribution in https://github.com/nodejs/undici/pull/2708
-   [@&#8203;eddienubes](https://github.com/eddienubes) made their first contribution in https://github.com/nodejs/undici/pull/2731
-   [@&#8203;riderx](https://github.com/riderx) made their first contribution in https://github.com/nodejs/undici/pull/2775
-   [@&#8203;steveluscher](https://github.com/steveluscher) made their first contribution in https://github.com/nodejs/undici/pull/2807
-   [@&#8203;jeanp413](https://github.com/jeanp413) made their first contribution in https://github.com/nodejs/undici/pull/2886

**Full Changelog**: https://github.com/nodejs/undici/compare/v6.6.2...v6.7.0

### [`v6.6.2`](https://github.com/nodejs/undici/releases/tag/v6.6.2)

[Compare Source](https://github.com/nodejs/undici/compare/v6.6.1...v6.6.2)

#### What's Changed

-   fix: webidl.brandcheck non strict should throw by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2683
-   fix: expose EventSource for nodejs by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2645
-   test: more information from debug tests by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2695
-   Fix broken test on linux by [@&#8203;mcollina](https://github.com/mcollina) in https://github.com/nodejs/undici/pull/2699
-   fix: fix the linux patch by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2703
-   test(wpt): mark timed out tests as 'failed' by [@&#8203;rossilor95](https://github.com/rossilor95) in https://github.com/nodejs/undici/pull/2644
-   build(deps-dev): bump borp from 0.5.0 to 0.9.1 by [@&#8203;dependabot](https://github.com/dependabot) in https://github.com/nodejs/undici/pull/2702
-   perf: use insertion sort algorithm by [@&#8203;tsctx](https://github.com/tsctx) in https://github.com/nodejs/undici/pull/2706
-   fix: run node tests on merge by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2707

#### New Contributors

-   [@&#8203;rossilor95](https://github.com/rossilor95) made their first contribution in https://github.com/nodejs/undici/pull/2644

**Full Changelog**: https://github.com/nodejs/undici/compare/v6.6.1...v6.6.2

### [`v6.6.1`](https://github.com/nodejs/undici/releases/tag/v6.6.1)

[Compare Source](https://github.com/nodejs/undici/compare/v6.6.0...v6.6.1)

#### ⚠️ Security Release ⚠️

Fixes:

-   [CVE-2024-24750, Backpressure request ignored in fetch()](https://github.com/nodejs/undici/security/advisories/GHSA-9f24-jqhm-jfcw)
-   [CVE-2024-24758 Proxy-Authorization header not cleared on cross-origin redirect in fetch](https://github.com/nodejs/undici/security/advisories/GHSA-3787-6prv-h9w3)

#### What's Changed

-   fix: flaky debug test by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2687
-   build(deps): bump github/codeql-action from 3.22.12 to 3.23.2 by [@&#8203;dependabot](https://github.com/dependabot) in https://github.com/nodejs/undici/pull/2688
-   build(deps): bump actions/dependency-review-action from 3.1.0 to 4.0.0 by [@&#8203;dependabot](https://github.com/dependabot) in https://github.com/nodejs/undici/pull/2689
-   fix: ci pipeline warnings by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2685
-   perf: optimize Iterator by [@&#8203;tsctx](https://github.com/tsctx) in https://github.com/nodejs/undici/pull/2692

**Full Changelog**: https://github.com/nodejs/undici/compare/v6.6.0...v6.6.1

### [`v6.6.0`](https://github.com/nodejs/undici/releases/tag/v6.6.0)

[Compare Source](https://github.com/nodejs/undici/compare/v6.5.0...v6.6.0)

#### What's Changed

-   add webSocket example by [@&#8203;mertcanaltin](https://github.com/mertcanaltin) in https://github.com/nodejs/undici/pull/2626
-   chore: remove atomic-sleep as dev dependency by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2648
-   chore: remove semver as dev dependency by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2646
-   chore: remove table as dev dependency by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2649
-   chore: remove delay as dev dependency by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2647
-   chore: reduce noise in test-logs test/issue-2349.js by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2655
-   chore: fix faketimer warning in test/request-timeout.js by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2656
-   chore: reduce noise in test logs test/client-node-max-header-size.js by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2654
-   refactor: use fromInnerResponse by [@&#8203;tsctx](https://github.com/tsctx) in https://github.com/nodejs/undici/pull/2635
-   fix: support deflate raw responses by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2650
-   Support building for externally shared js builtins by [@&#8203;mochaaP](https://github.com/mochaaP) in https://github.com/nodejs/undici/pull/2643
-   fix: typo clampAndCoarsenConnectionTimingInfo by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2653
-   chore: use 'node:'-prefix for requiring node core modules by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2662
-   build(deps-dev): bump husky from 8.0.3 to 9.0.7 by [@&#8203;dependabot](https://github.com/dependabot) in https://github.com/nodejs/undici/pull/2667
-   build(deps-dev): bump cronometro from 1.2.0 to 2.0.2 by [@&#8203;dependabot](https://github.com/dependabot) in https://github.com/nodejs/undici/pull/2668
-   remove timers/promises import by [@&#8203;KhafraDev](https://github.com/KhafraDev) in https://github.com/nodejs/undici/pull/2665
-   chore: fix various codesmells by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2669
-   chore: remove this alias in agent.js by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2671
-   chore: use optional chaining by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2666
-   chore: small perf improvements by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2661
-   implement spec changes from a while ago by [@&#8203;KhafraDev](https://github.com/KhafraDev) in https://github.com/nodejs/undici/pull/2676
-   websocket: fix close when no closing code is received by [@&#8203;KhafraDev](https://github.com/KhafraDev) in https://github.com/nodejs/undici/pull/2680
-   fix: make ci less flaky by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2684

#### New Contributors

-   [@&#8203;mochaaP](https://github.com/mochaaP) made their first contribution in https://github.com/nodejs/undici/pull/2643

**Full Changelog**: https://github.com/nodejs/undici/compare/v6.5.0...v6.6.0

### [`v6.5.0`](https://github.com/nodejs/undici/releases/tag/v6.5.0)

[Compare Source](https://github.com/nodejs/undici/compare/v6.4.0...v6.5.0)

#### What's Changed

-   build(deps-dev): bump jsdom from 23.2.0 to 24.0.0 by [@&#8203;dependabot](https://github.com/dependabot) in https://github.com/nodejs/undici/pull/2632
-   feat: Implement EventSource by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2608
-   fix: readable body by [@&#8203;ronag](https://github.com/ronag) in https://github.com/nodejs/undici/pull/2642

**Full Changelog**: https://github.com/nodejs/undici/compare/v6.4.0...v6.5.0

### [`v6.4.0`](https://github.com/nodejs/undici/releases/tag/v6.4.0)

[Compare Source](https://github.com/nodejs/undici/compare/v6.3.0...v6.4.0)

#### What's Changed

-   refactor: version cleanup by [@&#8203;tsctx](https://github.com/tsctx) in https://github.com/nodejs/undici/pull/2605
-   cacheStorage: separate matchAll logic by [@&#8203;KhafraDev](https://github.com/KhafraDev) in https://github.com/nodejs/undici/pull/2599
-   cleanup index by [@&#8203;KhafraDev](https://github.com/KhafraDev) in https://github.com/nodejs/undici/pull/2598
-   feat: port `balanced-pool`, `ca-fingerprint`, `client-abort` tests to `node:test` by [@&#8203;sosukesuzuki](https://github.com/sosukesuzuki) in https://github.com/nodejs/undici/pull/2584
-   ci: unpin nodejs workflow version by [@&#8203;dominykas](https://github.com/dominykas) in https://github.com/nodejs/undici/pull/2434
-   test([#&#8203;2600](https://github.com/nodejs/undici/issues/2600)): Flaky debug test by [@&#8203;metcoder95](https://github.com/metcoder95) in https://github.com/nodejs/undici/pull/2607
-   fix: h2 hang issue with empty body by [@&#8203;timursevimli](https://github.com/timursevimli) in https://github.com/nodejs/undici/pull/2601
-   Fix tests for Node.js v21 by [@&#8203;sosukesuzuki](https://github.com/sosukesuzuki) in https://github.com/nodejs/undici/pull/2609
-   perf(cache): avoid Request and Response initialization by [@&#8203;tsctx](https://github.com/tsctx) in https://github.com/nodejs/undici/pull/2610
-   Add more libraries to benchmarks by [@&#8203;mcollina](https://github.com/mcollina) in https://github.com/nodejs/undici/pull/2614
-   feat: port `client-connect`, `client-dispatch`, `client-errors` test to `node:test` by [@&#8203;sosukesuzuki](https://github.com/sosukesuzuki) in https://github.com/nodejs/undici/pull/2591
-   exit with 1 if WPT runner has unexpected errors by [@&#8203;KhafraDev](https://github.com/KhafraDev) in https://github.com/nodejs/undici/pull/2621
-   Fix tests for Node.js v20.11.0 by [@&#8203;mcollina](https://github.com/mcollina) in https://github.com/nodejs/undici/pull/2618
-   fix(mock-agent): split set-cookie by [@&#8203;tsctx](https://github.com/tsctx) in https://github.com/nodejs/undici/pull/2619
-   feat: implement throwOnMaxRedirect option for RedirectHandler by [@&#8203;mertcanaltin](https://github.com/mertcanaltin) in https://github.com/nodejs/undici/pull/2563
-   test: fix flaky debug test by [@&#8203;metcoder95](https://github.com/metcoder95) in https://github.com/nodejs/undici/pull/2613
-   fix: hide statusOutput if empty in handleRunnerCompletion by [@&#8203;Uzlopak](https://github.com/Uzlopak) in https://github.com/nodejs/undici/pull/2624
-   docs: Fix typo in Debug.md by [@&#8203;Skn0tt](https://github.com/Skn0tt) in https://github.com/nodejs/undici/pull/2625
-   fix(cache): set AbortSignal by [@&#8203;tsctx](https://github.com/tsctx) in https://github.com/nodejs/undici/pull/2612
-   Use correct http Agent for node-fetch, axios, got and request by [@&#8203;mcollina](https://github.com/mcollina) in https://github.com/nodejs/undici/pull/2629

#### New Contributors

-   [@&#8203;timursevimli](https://github.com/timursevimli) made their first contribution in https://github.com/nodejs/undici/pull/2601
-   [@&#8203;mertcanaltin](https://github.com/mertcanaltin) made their first contribution in https://github.com/nodejs/undici/pull/2563
-   [@&#8203;Skn0tt](https://github.com/Skn0tt) made their first contribution in https://github.com/nodejs/undici/pull/2625

**Full Changelog**: https://github.com/nodejs/undici/compare/v6.3.0...v6.4.0

### [`v6.3.0`](https://github.com/nodejs/undici/releases/tag/v6.3.0)

[Compare Source](https://github.com/nodejs/undici/compare/v6.2.1...v6.3.0)

#### What's Changed

-   Clear all timeout on destroy and close by [@&#8203;mcollina](https://github.com/mcollina) in https://github.com/nodejs/undici/pull/2535
-   ConnectOptions should include 'origin' field by [@&#8203;dvoytenko](https://github.com/dvoytenko) in https://github.com/nodejs/undici/pull/2532
-   perf: avoid toLowerCase call by [@&#8203;tsctx](https://github.com/tsctx) in https://github.com/nodejs/undici/pull/2537
-   revert [`a1a8136`](https://github.com/nodejs/undici/commit/a1a8136) by [@&#8203;KhafraDev](https://github.com/KhafraDev) in https://github.com/nodejs/undici/pull/2539
-   docs: add Util to sidebar by [@&#8203;tsctx](https://github.com/tsctx) in https://github.com/nodejs/undici/pull/2529
-   fix: call explicitly unregister by [@&#8203;tsctx](https://github.com/tsctx) in https://github.com/nodejs/undici/pull/2534
-   fix: check the content-type of invalid formData by [@&#8203;tsctx](https://github.com/tsctx) in https://github.com/nodejs/undici/pull/2541
-   Add request examples. by [@&#8203;autopulated](https://github.com/autopulated) in https://github.com/nodejs/undici/pull/2380
-   fix(HTTP/2): handle consumption of aborted request by [@&#8203;metcoder95](https://github.com/metcoder95) in https://github.com/nodejs/undici/pull/2387
-   chore: update tst test by [@&#8203;tsctx](https://github.com/tsctx) in https://github.com/nodejs/undici/pull/2538
-   fix(fetch): do not abort fetch on redirect by [@&#8203;angelyan](https://github.com/angelyan) in https://github.com/nodejs/undici/pull/2545
-   drop verifyVersion in scripts by [@&#8203;KhafraDev](https://github.com/KhafraDev) in https://github.com/nodejs/undici/pull/2549
-   types: remove unused Client and Pool types by [@&#8203;RafaelGSS](https://github.com/RafaelGSS) in https://github.com/nodejs/undici/pull/2557
-   lib: fix Host header when CONNECT ProxyAgent by [@&#8203;RafaelGSS](https://github.com/RafaelGSS) in https://github.com/nodejs/undici/pull/2556
-   feat: port cookies tests to node runner by [@&#8203;pmarchini](https://github.com/pmarchini) in https://github.com/nodejs/undici/pull/2547
-   feat: port webidl tests to node test runner by [@&#8203;ilteoood](https://github.com/ilteoood) in https://github.com/nodejs/undici/pull/2554
-   perf: Improve percentDecode by [@&#8203;tsctx](https://github.com/tsctx) in https://github.com/nodejs/undici/pull/2562
-   Fix parseHashWithOptions regex by [@&#8203;flapenna](https://github.com/flapenna) in https://github.com/nodejs/undici/pull/2561
-   feat: port diagnostic-channel tests to node test runner by [@&#8203;ilteoood](https://github.com/ilteoood) in https://github.com/nodejs/undici/pull/2559
-   feat: port websocket tests to node test runner by [@&#8203;ilteoood](https://github.com/ilteoood) in https://github.com/nodejs/undici/pull/2553
-   build(deps-dev): bump tsd from 0.29.0 to 0.30.1 by [@&#8203;dependabot](https://github.com/dependabot) in https://github.com/nodejs/undici/pull/2551
-   build(deps): bump actions/setup-node from 4.0.0 to 4.0.1 by [@&#8203;dependabot](https://github.com/dependabot) in https://github.com/nodejs/undici/pull/2572
-   build(deps): bump github/codeql-action from 2.22.5 to 3.22.12 by [@&#8203;dependabot](https://github.com/dependabot) in https://github.com/nodejs/undici/pull/2574
-   Update `@matteo.collina/tspl` to 0.1.1 by [@&#8203;sosukesuzuki](https://github.com/sosukesuzuki) in https://github.com/nodejs/undici/pull/2576
-   mark wpt as failing by [@&#8203;KhafraDev](https://github.com/KhafraDev) in https://github.com/nodejs/undici/pull/2581
-   feat: port `abort-controller.js` tests to `node:test` runner by [@&#8203;sosukesuzuki](https://github.com/sosukesuzuki) in https://github.com/nodejs/undici/pull/2564
-   fix data url test by [@&#8203;KhafraDev](https://github.com/KhafraDev) in https://github.com/nodejs/undici/pull/2580
-   feat: port `async_hooks.js` tests to `node:test` runner by [@&#8203;sosukesuzuki](https://github.com/sosukesuzuki) in https://github.com/nodejs/undici/pull/2568
-   feat: port `agent.js` tests to `node:test` runner by [@&#8203;sosukesuzuki](https://github.com/sosukesuzuki) in https://github.com/nodejs/undici/pull/2566
-   feat: port `abort-event-emitter.js` tests to `node:test` runnner by [@&#8203;sosukesuzuki](https://github.com/sosukesuzuki) in https://github.com/nodejs/undici/pull/2565
-   feat: port first half of fetch tests to node test runner by [@&#8203;anurag-roy](https://github.com/anurag-roy) in https://github.com/nodejs/undici/pull/2569
-   perf: bypass method validation by [@&#8203;tsctx](https://github.com/tsctx) in https://github.com/nodejs/undici/pull/2583
-   fetch: warn when using patch method by [@&#8203;KhafraDev](https://github.com/KhafraDev) in https://github.com/nodejs/undici/pull/2577
-   feat: port `autoselectfamily.js` tests to `node:test` runner by [@&#8203;sosukesuzuki](https://github.com/sosukesuzuki) in https://github.com/nodejs/undici/pull/2570
-   feat: port remaining fetch tests to node test runner by [@&#8203;anurag-roy](https://github.com/anurag-roy) in https://github.com/nodejs/undici/pull/2587
-   fix: use isArrayBuffer instead of isAnyArrayBuffer by [@&#8203;tsctx](https://github.com/tsctx) in https://github.com/nodejs/undici/pull/2586
-   Feat/migrate tests to node runner by [@&#8203;pmarchini](https://github.com/pmarchini) in https://github.com/nodejs/undici/pull/2593
-   abort request with reason if one is provided by [@&#8203;KhafraDev](https://github.com/KhafraDev) in https://github.com/nodejs/undici/pull/2592
-   feat: port tst test to node test runner by [@&#8203;tsctx](https://github.com/tsctx) in https://github.com/nodejs/undici/pull/2595
-   feat([#&#8203;2191](https://github.com/nodejs/undici/issues/2191)): Add support for `NODE_DEBUG` by [@&#8203;metcoder95](https://github.com/metcoder95) in https://github.com/nodejs/undici/pull/2585
-   cacheStorage: fix bugs make wpts pass by [@&#8203;KhafraDev](https://github.com/KhafraDev) in https://github.com/nodejs/undici/pull/2596
-   fix: non-object error in abort throws bad error by [@&#8203;atlowChemi](https://github.com/atlowChemi) in https://github.com/nodejs/undici/pull/2597
-   fix: add test helper for closing server as promise by [@&#8203;sosukesuzuki](https://github.com/sosukesuzuki) in https://github.com/nodejs/undici/pull/2604

#### New Contributors

-   [@&#8203;dvoytenko](https://github.com/dvoytenko) made their first contribution in https://github.com/nodejs/undici/pull/2532
-   [@&#8203;autopulated](https://github.com/autopulated) made their first contribution in https://github.com/nodejs/undici/pull/2380
-   [@&#8203;angelyan](https://github.com/angelyan) made their first contribution in https://github.com/nodejs/undici/pull/2545
-   [@&#8203;pmarchini](https://github.com/pmarchini) made their first contribution in https://github.com/nodejs/undici/pull/2547
-   [@&#8203;ilteoood](https://github.com/ilteoood) made their first contribution in https://github.com/nodejs/undici/pull/2554
-   [@&#8203;flapenna](https://github.com/flapenna) made their first contribution in https://github.com/nodejs/undici/pull/2561
-   [@&#8203;sosukesuzuki](https://github.com/sosukesuzuki) made their first contribution in https://github.com/nodejs/undici/pull/2576
-   [@&#8203;anurag-roy](https://github.com/anurag-roy) made their first contribution in https://github.com/nodejs/undici/pull/2569

**Full Changelog**: https://github.com/nodejs/undici/compare/v6.2.1...v6.3.0

### [`v6.2.1`](https://github.com/nodejs/undici/releases/tag/v6.2.1)

[Compare Source](https://github.com/nodejs/undici/compare/v6.2.0...v6.2.1)

#### What's Changed

-   perf: use tree by [@&#8203;tsctx](https://github.com/tsctx) in https://github.com/nodejs/undici/pull/2528
-   chore: reduce dependencies by [@&#8203;tsctx](https://github.com/tsctx) in https://github.com/nodejs/undici/pull/2533
-   Remove timers in agent.js by [@&#8203;mcollina](https://github.com/mcollina) in https://github.com/nodejs/undici/pull/2536

**Full Changelog**: https://github.com/nodejs/undici/compare/v6.2.0...v6.2.1

### [`v6.2.0`](https://github.com/nodejs/undici/releases/tag/v6.2.0)

[Compare Source](https://github.com/nodejs/undici/compare/v6.1.0...v6.2.0)

#### What's Changed

-   Remove FinalizationRegistry from Agent by [@&#8203;mcollina](https://github.com/mcollina) in https://github.com/nodejs/undici/pull/2530

**Full Changelog**: https://github.com/nodejs/undici/compare/v6.1.0...v6.2.0

### [`v6.1.0`](https://github.com/nodejs/undici/releases/tag/v6.1.0)

[Compare Source](https://github.com/nodejs/undici/compare/v6.0.1...v6.1.0)

#### What's Changed

-   fix: more sensible stack trace from dump error by [@&#8203;ronag](https://github.com/ronag) in https://github.com/nodejs/undici/pull/2503
-   refactor: remove some node compat by [@&#8203;ronag](https://github.com/ronag) in https://github.com/nodejs/undici/pull/2502
-   refactor: version cleanup by [@&#8203;tsctx](https://github.com/tsctx) in https://github.com/nodejs/undici/pull/2507
-   perf(fetch): Improve fetch of detaurl by [@&#8203;tsctx](https://github.com/tsctx) in https://github.com/nodejs/undici/pull/2479
-   feat: expose parseHeader by [@&#8203;ronag](https://github.com/ronag) in https://github.com/nodejs/undici/pull/2511
-   perf(fetch): optimize call `dispatch` by [@&#8203;tsctx](https://github.com/tsctx) in https://github.com/nodejs/undici/pull/2493
-   perf(util/parseHeaders): If the header name is buffer by [@&#8203;tsctx](https://github.com/tsctx) in https://github.com/nodejs/undici/pull/2501
-   perf: twice faster method check by [@&#8203;tsctx](https://github.com/tsctx) in https://github.com/nodejs/undici/pull/2495
-   refactor: remove Error.captureStackTrace by [@&#8203;tsctx](https://github.com/tsctx) in https://github.com/nodejs/undici/pull/2509
-   perf: Improve processHeader by [@&#8203;tsctx](https://github.com/tsctx) in https://github.com/nodejs/undici/pull/2513
-   perf: reduce `String#toLowerCase` call by [@&#8203;tsctx](https://github.com/tsctx) in https://github.com/nodejs/undici/pull/2516
-   perf: optimize consumeEnd by [@&#8203;tsctx](https://github.com/tsctx) in https://github.com/nodejs/undici/pull/2510
-   perf: reduce tst built time by [@&#8203;tsctx](https://github.com/tsctx) in https://github.com/nodejs/undici/pull/2517
-   feat: allow customization of build environment by [@&#8203;khardix](https://github.com/khardix) in https://github.com/nodejs/undici/pull/2403
-   fix: clear cache by [@&#8203;tsctx](https://github.com/tsctx) in https://github.com/nodejs/undici/pull/2519
-   feat: Add resource timing entries for connection, request and response by [@&#8203;ToshB](https://github.com/ToshB) in https://github.com/nodejs/undici/pull/2481
-   Call fg.unregister() after a dispatcher is done, adds UNDICI_NO_FG to… by [@&#8203;mcollina](https://github.com/mcollina) in https://github.com/nodejs/undici/pull/2527
-   feat: expose headerNameToString by [@&#8203;tsctx](https://github.com/tsctx) in https://github.com/nodejs/undici/pull/2525

#### New Contributors

-   [@&#8203;khardix](https://github.com/khardix) made their first contribution in https://github.com/nodejs/undici/pull/2403

**Full Changelog**: https://github.com/nodejs/undici/compare/v6.0.1...v6.1.0

### [`v6.0.1`](https://github.com/nodejs/undici/releases/tag/v6.0.1)

[Compare Source](https://github.com/nodejs/undici/compare/v6.0.0...v6.0.1)

#### What's Changed

-   fix: stream error timings by [@&#8203;ronag](https://github.com/ronag) in https://github.com/nodejs/undici/pull/2497

**Full Changelog**: https://github.com/nodejs/undici/compare/v6.0.0...v6.0.1

### [`v6.0.0`](https://github.com/nodejs/undici/releases/tag/v6.0.0)

[Compare Source](https://github.com/nodejs/undici/compare/v5.28.3...v6.0.0)

#### What's Changed

-   16 eol by [@&#8203;ronag](https://github.com/ronag) in https://github.com/nodejs/undici/pull/2480
-   update spec & wpts by [@&#8203;KhafraDev](https://github.com/KhafraDev) in https://github.com/nodejs/undici/pull/2482
-   version cleanup by [@&#8203;KhafraDev](https://github.com/KhafraDev) in https://github.com/nodejs/undici/pull/2483
-   perf: avoid Response initialization by [@&#8203;tsctx](https://github.com/tsctx) in https://github.com/nodejs/undici/pull/2489
-   perf: optimize `parseHeaders` by [@&#8203;tsctx](https://github.com/tsctx) in https://github.com/nodejs/undici/pull/2492
-   chore: fix typo by [@&#8203;tsctx](https://github.com/tsctx) in https://github.com/nodejs/undici/pull/2490
-   feat: print attempted addresses on ConnectTimeoutError by [@&#8203;fengmk2](https://github.com/fengmk2) in https://github.com/nodejs/undici/pull/2494
-   Expose HTTP errors that are not meant to be retried by [@&#8203;MzUgM](https://github.com/MzUgM) in https://github.com/nodejs/undici/pull/2496

**Full Changelog**: https://github.com/nodejs/undici/compare/v5.28.2...v6.0.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4wLjAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4wLjAiLCJ0YXJnZXRCcmFuY2giOiJkZXZlbG9wIn0=-->

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/vylbot-app/pulls/416
Co-authored-by: Renovate Bot <renovate@vylpes.com>
Co-committed-by: Renovate Bot <renovate@vylpes.com>
2024-03-18 18:44:06 +00:00
d5442b5a14 Update dependency dotenv to v16.4.5 (#411)
All checks were successful
continuous-integration/drone/push Build is passing
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [dotenv](https://github.com/motdotla/dotenv) | dependencies | patch | [`16.4.1` -> `16.4.5`](https://renovatebot.com/diffs/npm/dotenv/16.4.1/16.4.5) |

---

### Release Notes

<details>
<summary>motdotla/dotenv (dotenv)</summary>

### [`v16.4.5`](https://github.com/motdotla/dotenv/blob/HEAD/CHANGELOG.md#1645-2024-02-19)

[Compare Source](https://github.com/motdotla/dotenv/compare/v16.4.4...v16.4.5)

##### Changed

-   🐞 fix recent regression when using `path` option. return to historical behavior: do not attempt to auto find `.env` if `path` set. (regression was introduced in `16.4.3`) [#&#8203;814](https://github.com/motdotla/dotenv/pull/814)

### [`v16.4.4`](https://github.com/motdotla/dotenv/blob/HEAD/CHANGELOG.md#1644-2024-02-13)

[Compare Source](https://github.com/motdotla/dotenv/compare/v16.4.3...v16.4.4)

##### Changed

-   🐞 Replaced chaining operator `?.` with old school `&&` (fixing node 12 failures) [#&#8203;812](https://github.com/motdotla/dotenv/pull/812)

### [`v16.4.3`](https://github.com/motdotla/dotenv/blob/HEAD/CHANGELOG.md#1643-2024-02-12)

[Compare Source](https://github.com/motdotla/dotenv/compare/v16.4.2...v16.4.3)

##### Changed

-   Fixed processing of multiple files in `options.path` [#&#8203;805](https://github.com/motdotla/dotenv/pull/805)

### [`v16.4.2`](https://github.com/motdotla/dotenv/blob/HEAD/CHANGELOG.md#1642-2024-02-10)

[Compare Source](https://github.com/motdotla/dotenv/compare/v16.4.1...v16.4.2)

##### Changed

-   Changed funding link in package.json to [`dotenvx.com`](https://dotenvx.com)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4wLjAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4wLjAiLCJ0YXJnZXRCcmFuY2giOiJkZXZlbG9wIn0=-->

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/vylbot-app/pulls/411
Co-authored-by: Renovate Bot <renovate@vylpes.com>
Co-committed-by: Renovate Bot <renovate@vylpes.com>
2024-03-18 18:43:01 +00:00
3f1bf12731 Update dependency @types/jest to v29.5.12 (#409)
All checks were successful
continuous-integration/drone/push Build is passing
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [@types/jest](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/jest) ([source](https://github.com/DefinitelyTyped/DefinitelyTyped)) | dependencies | patch | [`29.5.11` -> `29.5.12`](https://renovatebot.com/diffs/npm/@types%2fjest/29.5.11/29.5.12) |

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4wLjAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4wLjAiLCJ0YXJnZXRCcmFuY2giOiJkZXZlbG9wIn0=-->

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/vylbot-app/pulls/409
Co-authored-by: Renovate Bot <renovate@vylpes.com>
Co-committed-by: Renovate Bot <renovate@vylpes.com>
2024-03-18 18:41:55 +00:00
33c69d2c31 Update dependency ts-jest to v29.1.2 (#400)
All checks were successful
continuous-integration/drone/push Build is passing
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [ts-jest](https://kulshekhar.github.io/ts-jest) ([source](https://github.com/kulshekhar/ts-jest)) | dependencies | patch | [`29.1.1` -> `29.1.2`](https://renovatebot.com/diffs/npm/ts-jest/29.1.1/29.1.2) |

---

### Release Notes

<details>
<summary>kulshekhar/ts-jest (ts-jest)</summary>

### [`v29.1.2`](https://github.com/kulshekhar/ts-jest/blob/HEAD/CHANGELOG.md#2912-2024-01-22)

[Compare Source](https://github.com/kulshekhar/ts-jest/compare/v29.1.1...v29.1.2)

##### Bug Fixes

-   calculated cache key based on `supportsStaticESM` ([a5d6f2d](a5d6f2d4f4))
-   correct error handling in `processAsync` ([e7be4bf](e7be4bf6a8)), closes [#&#8203;4207](https://github.com/kulshekhar/ts-jest/issues/4207)
-   use `Config.ProjectConfig` ([918312b](918312bee2)), closes [#&#8203;4028](https://github.com/kulshekhar/ts-jest/issues/4028)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4wLjAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4wLjAiLCJ0YXJnZXRCcmFuY2giOiJkZXZlbG9wIn0=-->

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/vylbot-app/pulls/400
Co-authored-by: Renovate Bot <renovate@vylpes.com>
Co-committed-by: Renovate Bot <renovate@vylpes.com>
2024-03-18 18:40:36 +00:00
cca34a476c Merge branch 'main' into develop
All checks were successful
continuous-integration/drone/push Build is passing
2024-03-01 18:27:57 +00:00
ad2e4d8f9b v3.2.1
All checks were successful
continuous-integration/drone/push Build is passing
2024-03-01 18:26:37 +00:00
c83a2329cc 3.2.1 2024-03-01 18:26:31 +00:00
5f054b02a5 Add cache helper to update user cache every 30 minutes
All checks were successful
continuous-integration/drone/push Build is passing
2024-03-01 18:25:24 +00:00
808f5e3b1c Resolve undici version to fix vulnerability 2024-03-01 17:31:29 +00:00
68f29c814a Update dependency @types/uuid to v9.0.8 (#399)
All checks were successful
continuous-integration/drone/push Build is passing
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [@types/uuid](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid) ([source](https://github.com/DefinitelyTyped/DefinitelyTyped)) | dependencies | patch | [`9.0.7` -> `9.0.8`](https://renovatebot.com/diffs/npm/@types%2fuuid/9.0.7/9.0.8) |

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4wLjAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4wLjAiLCJ0YXJnZXRCcmFuY2giOiJkZXZlbG9wIn0=-->

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/vylbot-app/pulls/399
Reviewed-by: Vylpes <ethan@vylpes.com>
Co-authored-by: Renovate Bot <renovate@vylpes.com>
Co-committed-by: Renovate Bot <renovate@vylpes.com>
2024-01-30 18:31:20 +00:00
96bd4ef83e Update dependency dotenv to v16.4.1 (#397)
All checks were successful
continuous-integration/drone/push Build is passing
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [dotenv](https://github.com/motdotla/dotenv) | dependencies | minor | [`16.3.1` -> `16.4.1`](https://renovatebot.com/diffs/npm/dotenv/16.3.1/16.4.1) |

---

### Release Notes

<details>
<summary>motdotla/dotenv (dotenv)</summary>

### [`v16.4.1`](https://github.com/motdotla/dotenv/blob/HEAD/CHANGELOG.md#1641-2024-01-24)

[Compare Source](https://github.com/motdotla/dotenv/compare/v16.4.0...v16.4.1)

-   Patch support for array as `path` option [#&#8203;797](https://github.com/motdotla/dotenv/pull/797)

### [`v16.4.0`](https://github.com/motdotla/dotenv/blob/HEAD/CHANGELOG.md#1640-2024-01-23)

[Compare Source](https://github.com/motdotla/dotenv/compare/v16.3.2...v16.4.0)

-   Add `error.code` to error messages around `.env.vault` decryption handling [#&#8203;795](https://github.com/motdotla/dotenv/pull/795)
-   Add ability to find `.env.vault` file when filename(s) passed as an array [#&#8203;784](https://github.com/motdotla/dotenv/pull/784)

### [`v16.3.2`](https://github.com/motdotla/dotenv/blob/HEAD/CHANGELOG.md#1632-2024-01-18)

[Compare Source](https://github.com/motdotla/dotenv/compare/v16.3.1...v16.3.2)

##### Added

-   Add debug message when no encoding set [#&#8203;735](https://github.com/motdotla/dotenv/pull/735)

##### Changed

-   Fix output typing for `populate` [#&#8203;792](https://github.com/motdotla/dotenv/pull/792)
-   Use subarray instead of slice [#&#8203;793](https://github.com/motdotla/dotenv/pull/793)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4wLjAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4wLjAiLCJ0YXJnZXRCcmFuY2giOiJkZXZlbG9wIn0=-->

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/vylbot-app/pulls/397
Reviewed-by: Vylpes <ethan@vylpes.com>
Co-authored-by: Renovate Bot <renovate@vylpes.com>
Co-committed-by: Renovate Bot <renovate@vylpes.com>
2024-01-30 18:30:42 +00:00
c201d10d07 Update dependency typeorm to v0.3.20 (#395)
All checks were successful
continuous-integration/drone/push Build is passing
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [typeorm](https://typeorm.io) ([source](https://github.com/typeorm/typeorm)) | dependencies | patch | [`0.3.17` -> `0.3.20`](https://renovatebot.com/diffs/npm/typeorm/0.3.17/0.3.20) |

---

### Release Notes

<details>
<summary>typeorm/typeorm (typeorm)</summary>

### [`v0.3.20`](https://github.com/typeorm/typeorm/blob/HEAD/CHANGELOG.md#0320-2024-01-26)

[Compare Source](https://github.com/typeorm/typeorm/compare/0.3.19...0.3.20)

##### Bug Fixes

-   added missing parentheses in where conditions ([#&#8203;10650](https://github.com/typeorm/typeorm/issues/10650)) ([4624930](46249303be)), closes [#&#8203;10534](https://github.com/typeorm/typeorm/issues/10534)
-   don't escape indexPredicate ([#&#8203;10618](https://github.com/typeorm/typeorm/issues/10618)) ([dd49a25](dd49a254dc))
-   fallback runMigrations transaction to DataSourceOptions ([#&#8203;10601](https://github.com/typeorm/typeorm/issues/10601)) ([0cab0dd](0cab0dd730))
-   hangup when load relations with relationLoadStrategy: query ([#&#8203;10630](https://github.com/typeorm/typeorm/issues/10630)) ([54d8d9e](54d8d9efe9)), closes [#&#8203;10481](https://github.com/typeorm/typeorm/issues/10481)
-   include asExpression columns in returning clause ([#&#8203;10632](https://github.com/typeorm/typeorm/issues/10632)) ([f232ba7](f232ba7808)), closes [#&#8203;8450](https://github.com/typeorm/typeorm/issues/8450) [#&#8203;8450](https://github.com/typeorm/typeorm/issues/8450)
-   multiple insert in SAP Hana ([#&#8203;10597](https://github.com/typeorm/typeorm/issues/10597)) ([1b34c9a](1b34c9a49e))
-   resolve issue CREATE/DROP Index concurrently ([#&#8203;10634](https://github.com/typeorm/typeorm/issues/10634)) ([8aa8690](8aa8690f94)), closes [#&#8203;10626](https://github.com/typeorm/typeorm/issues/10626)
-   type inferencing of EntityManager#create ([#&#8203;10569](https://github.com/typeorm/typeorm/issues/10569)) ([99d8249](99d8249e45))

##### Features

-   add json type support for Oracle ([#&#8203;10611](https://github.com/typeorm/typeorm/issues/10611)) ([7e85460](7e85460f10))
-   add postgres multirange column types ([#&#8203;10627](https://github.com/typeorm/typeorm/issues/10627)) ([d0b7670](d0b76703cc)), closes [#&#8203;10556](https://github.com/typeorm/typeorm/issues/10556)
-   add table comment for postgres ([#&#8203;10613](https://github.com/typeorm/typeorm/issues/10613)) ([4493db4](4493db4d1b))

##### Reverts

-   Revert "fix: prevent using absolute table path in migrations unless required ([#&#8203;10123](https://github.com/typeorm/typeorm/issues/10123))" ([#&#8203;10624](https://github.com/typeorm/typeorm/issues/10624)) ([8f371f2](8f371f2397)), closes [#&#8203;10123](https://github.com/typeorm/typeorm/issues/10123) [#&#8203;10624](https://github.com/typeorm/typeorm/issues/10624)
-   revert "feat: nullable embedded entities ([#&#8203;10289](https://github.com/typeorm/typeorm/issues/10289))" ([#&#8203;10614](https://github.com/typeorm/typeorm/issues/10614)) ([15de46f](15de46fd5d)), closes [#&#8203;10289](https://github.com/typeorm/typeorm/issues/10289) [#&#8203;10614](https://github.com/typeorm/typeorm/issues/10614)

### [`v0.3.19`](https://github.com/typeorm/typeorm/blob/HEAD/CHANGELOG.md#0319-2024-01-03)

[Compare Source](https://github.com/typeorm/typeorm/compare/0.3.18...0.3.19)

##### Bug Fixes

-   fixed `Cannot read properties of undefined (reading 'sync')` caused after glob package upgrade

### [`v0.3.18`](https://github.com/typeorm/typeorm/blob/HEAD/CHANGELOG.md#0318-2024-01-03)

[Compare Source](https://github.com/typeorm/typeorm/compare/0.3.17...0.3.18)

##### Bug Fixes

-   add BaseEntity to model-shim ([#&#8203;10503](https://github.com/typeorm/typeorm/issues/10503)) ([3cf938e](3cf938efc0))
-   add error handling for missing join columns ([#&#8203;10525](https://github.com/typeorm/typeorm/issues/10525)) ([122c897](122c897a2f)), closes [#&#8203;7034](https://github.com/typeorm/typeorm/issues/7034)
-   add missing export for View class ([#&#8203;10261](https://github.com/typeorm/typeorm/issues/10261)) ([7adbc9b](7adbc9bdc7))
-   added fail callback while opening the database in Cordova ([#&#8203;10566](https://github.com/typeorm/typeorm/issues/10566)) ([8b4df5b](8b4df5b299))
-   aggregate function throw error when column alias name is set ([#&#8203;10035](https://github.com/typeorm/typeorm/issues/10035)) ([022d2b5](022d2b5f62)), closes [#&#8203;9927](https://github.com/typeorm/typeorm/issues/9927)
-   backport postgres connection error handling to crdb ([#&#8203;10177](https://github.com/typeorm/typeorm/issues/10177)) ([149226d](149226dd67))
-   bump better-sqlite3 version range ([#&#8203;10452](https://github.com/typeorm/typeorm/issues/10452)) ([75ec8f2](75ec8f2032))
-   caching always enabled not caching queries ([#&#8203;10524](https://github.com/typeorm/typeorm/issues/10524)) ([8af533f](8af533f79f))
-   circular dependency breaking node.js 20.6 ([#&#8203;10344](https://github.com/typeorm/typeorm/issues/10344)) ([ba7ad3c](ba7ad3c69b)), closes [#&#8203;10338](https://github.com/typeorm/typeorm/issues/10338)
-   correctly keep query.data from ormOption for commit / rollback subscribers ([#&#8203;10151](https://github.com/typeorm/typeorm/issues/10151)) ([73ee70b](73ee70b331))
-   default value in child table/entity column decorator for multiple table inheritance is ignored for inherited columns ([#&#8203;10563](https://github.com/typeorm/typeorm/issues/10563)) ([#&#8203;10564](https://github.com/typeorm/typeorm/issues/10564)) ([af77a5d](af77a5d0ac))
-   deletedAt column leaking as side effect of object update while creating a row ([#&#8203;10435](https://github.com/typeorm/typeorm/issues/10435)) ([7de4890](7de4890265))
-   empty objects being hydrated when eager loading relations that have a `@VirtualColumn` ([#&#8203;10432](https://github.com/typeorm/typeorm/issues/10432)) ([b53e410](b53e410e5a)), closes [#&#8203;10431](https://github.com/typeorm/typeorm/issues/10431)
-   extend GiST index with range types for Postgres driver ([#&#8203;10572](https://github.com/typeorm/typeorm/issues/10572)) ([a4900ae](a4900ae15f)), closes [#&#8203;10567](https://github.com/typeorm/typeorm/issues/10567)
-   ignore changes for columns with `update: false` in persistence ([#&#8203;10250](https://github.com/typeorm/typeorm/issues/10250)) ([f8fa1fd](f8fa1fd821)), closes [#&#8203;10249](https://github.com/typeorm/typeorm/issues/10249)
-   improve helper for cli for commands missing positionals ([#&#8203;10133](https://github.com/typeorm/typeorm/issues/10133)) ([9f8899f](9f8899f56c))
-   loading datasource unable to process a regular default export ([#&#8203;10184](https://github.com/typeorm/typeorm/issues/10184)) ([201342d](201342d150)), closes [#&#8203;8810](https://github.com/typeorm/typeorm/issues/8810)
-   logMigration has incorrect logging condition ([#&#8203;10323](https://github.com/typeorm/typeorm/issues/10323)) ([d41930f](d41930f0d6)), closes [#&#8203;10322](https://github.com/typeorm/typeorm/issues/10322) [#&#8203;10322](https://github.com/typeorm/typeorm/issues/10322)
-   ManyToMany ER_DUP_ENTRY error ([#&#8203;10343](https://github.com/typeorm/typeorm/issues/10343)) ([e296063](e296063b12)), closes [#&#8203;5704](https://github.com/typeorm/typeorm/issues/5704)
-   migrations on indexed TIMESTAMP WITH TIME ZONE Oracle columns ([#&#8203;10506](https://github.com/typeorm/typeorm/issues/10506)) ([cf37f13](cf37f1370b)), closes [#&#8203;10493](https://github.com/typeorm/typeorm/issues/10493)
-   mongodb - undefined is not constructor ([#&#8203;10559](https://github.com/typeorm/typeorm/issues/10559)) ([ad5bf11](ad5bf11a91))
-   mongodb resolves leaked cursor ([#&#8203;10316](https://github.com/typeorm/typeorm/issues/10316)) ([2dc9624](2dc9624d00)), closes [#&#8203;10315](https://github.com/typeorm/typeorm/issues/10315)
-   mssql datasource testonborrow not affecting anything ([#&#8203;10589](https://github.com/typeorm/typeorm/issues/10589)) ([122b683](122b683840))
-   nested transactions issues ([#&#8203;10210](https://github.com/typeorm/typeorm/issues/10210)) ([25e6ecd](25e6ecdfd2))
-   prevent using absolute table path in migrations unless required ([#&#8203;10123](https://github.com/typeorm/typeorm/issues/10123)) ([dd59524](dd595242a7))
-   remove `date-fns` in favor of `DayJs` ([#&#8203;10306](https://github.com/typeorm/typeorm/issues/10306)) ([cf7147f](cf7147fa7c))
-   remove dynamic require calls ([#&#8203;10196](https://github.com/typeorm/typeorm/issues/10196)) ([a939654](a939654c95))
-   resolve circular dependency when using Vite ([#&#8203;10273](https://github.com/typeorm/typeorm/issues/10273)) ([080528b](080528b117))
-   resolve issue building eager relation alias for nested relations ([#&#8203;10004](https://github.com/typeorm/typeorm/issues/10004)) ([c6f608d](c6f608d3e8)), closes [#&#8203;9944](https://github.com/typeorm/typeorm/issues/9944)
-   resolve issue of generating migration for numeric arrays repeatedly ([#&#8203;10471](https://github.com/typeorm/typeorm/issues/10471)) ([39fdcf6](39fdcf651f)), closes [#&#8203;10043](https://github.com/typeorm/typeorm/issues/10043)
-   resolve issue queryBuilder makes different parameter identifiers for same parameter ([#&#8203;10327](https://github.com/typeorm/typeorm/issues/10327)) ([6c918ea](6c918ea392)), closes [#&#8203;7308](https://github.com/typeorm/typeorm/issues/7308)
-   resolve issues on upsert ([#&#8203;10588](https://github.com/typeorm/typeorm/issues/10588)) ([dc1bfed](dc1bfed6d5)), closes [#&#8203;10587](https://github.com/typeorm/typeorm/issues/10587)
-   scrub all comment end markers from comments ([#&#8203;10163](https://github.com/typeorm/typeorm/issues/10163)) ([d937f61](d937f6106a))
-   serialize bigint when building a query id [#&#8203;10336](https://github.com/typeorm/typeorm/issues/10336) ([#&#8203;10337](https://github.com/typeorm/typeorm/issues/10337)) ([bfc1cc5](bfc1cc5ab4))
-   should automatically cache if alwaysEnable ([#&#8203;10137](https://github.com/typeorm/typeorm/issues/10137)) ([173910e](173910ed79)), closes [#&#8203;9910](https://github.com/typeorm/typeorm/issues/9910)
-   SQLite simple-enum column parsing ([#&#8203;10550](https://github.com/typeorm/typeorm/issues/10550)) ([696e688](696e688d00))
-   update UpdateDateColumn on upsert ([#&#8203;10458](https://github.com/typeorm/typeorm/issues/10458)) ([fdb9866](fdb9866ad2)), closes [#&#8203;9015](https://github.com/typeorm/typeorm/issues/9015)
-   upgrade ts-node version to latest(10.9.1) version ([#&#8203;10143](https://github.com/typeorm/typeorm/issues/10143)) ([fcb9904](fcb9904f24))
-   using async datasource to configure typeorm ([#&#8203;10170](https://github.com/typeorm/typeorm/issues/10170)) ([fbd45db](fbd45dba32))

##### Features

-   ability to change default replication mode ([#&#8203;10419](https://github.com/typeorm/typeorm/issues/10419)) ([72b1d1b](72b1d1b865))
-   add concurrent indexes for postgres ([#&#8203;10442](https://github.com/typeorm/typeorm/issues/10442)) ([f4e6eaf](f4e6eaf155))
-   add exists and exists by ([#&#8203;10291](https://github.com/typeorm/typeorm/issues/10291)) ([b6b46fb](b6b46fb133))
-   add isolated where statements ([#&#8203;10213](https://github.com/typeorm/typeorm/issues/10213)) ([3cda7ec](3cda7ec39d))
-   add MSSQL disableAsciiToUnicodeParamConversion option and tests ([#&#8203;10161](https://github.com/typeorm/typeorm/issues/10161)) ([df7c069](df7c06948c)), closes [#&#8203;10131](https://github.com/typeorm/typeorm/issues/10131)
-   add support for mssql server DefaultAzureCredential usage ([#&#8203;10246](https://github.com/typeorm/typeorm/issues/10246)) ([c8ee5b1](c8ee5b1d1a))
-   add support for table comment in MySQL ([#&#8203;10017](https://github.com/typeorm/typeorm/issues/10017)) ([338df16](338df16439))
-   allow to use custom type witch extends object type for find where argument ([#&#8203;10475](https://github.com/typeorm/typeorm/issues/10475)) ([48f5f85](48f5f85d68))
-   BeforeQuery and AfterQuery events ([#&#8203;10234](https://github.com/typeorm/typeorm/issues/10234)) ([5c28154](5c28154cbe)), closes [#&#8203;3302](https://github.com/typeorm/typeorm/issues/3302)
-   custom STI discriminator value for EntitySchema ([#&#8203;10508](https://github.com/typeorm/typeorm/issues/10508)) ([b240d87](b240d87f34)), closes [#&#8203;10494](https://github.com/typeorm/typeorm/issues/10494)
-   enabled CTE for oracle driver ([#&#8203;10319](https://github.com/typeorm/typeorm/issues/10319)) ([65858f3](65858f3a17))
-   entityId in InsertEvent ([#&#8203;10540](https://github.com/typeorm/typeorm/issues/10540)) ([ae006af](ae006af501))
-   expose countDocuments in mongodb ([#&#8203;10314](https://github.com/typeorm/typeorm/issues/10314)) ([ebd61d1](ebd61d1440))
-   exposed entity and criteria properties on EntityNotFoundError ([#&#8203;10202](https://github.com/typeorm/typeorm/issues/10202)) ([bafcd17](bafcd1709b))
-   implement column comments for SAP HANA ([#&#8203;10502](https://github.com/typeorm/typeorm/issues/10502)) ([45e31cc](45e31cc57a))
-   implement OR operator ([#&#8203;10086](https://github.com/typeorm/typeorm/issues/10086)) ([a00b1df](a00b1df68f)), closes [#&#8203;10054](https://github.com/typeorm/typeorm/issues/10054) [#&#8203;10054](https://github.com/typeorm/typeorm/issues/10054) [#&#8203;10054](https://github.com/typeorm/typeorm/issues/10054) [#&#8203;10054](https://github.com/typeorm/typeorm/issues/10054) [#&#8203;10054](https://github.com/typeorm/typeorm/issues/10054) [#&#8203;10054](https://github.com/typeorm/typeorm/issues/10054) [#&#8203;10054](https://github.com/typeorm/typeorm/issues/10054)
-   implement streaming for SAP HANA ([#&#8203;10512](https://github.com/typeorm/typeorm/issues/10512)) ([7e9cead](7e9cead8a3))
-   implements QueryFailedError generic for driverError typing ([#&#8203;10253](https://github.com/typeorm/typeorm/issues/10253)) ([78b2f48](78b2f4805c))
-   modify repository.extend method for chaining repositories ([#&#8203;10256](https://github.com/typeorm/typeorm/issues/10256)) ([ca29c0f](ca29c0ff8e))
-   nullable embedded entities ([#&#8203;10289](https://github.com/typeorm/typeorm/issues/10289)) ([e67d704](e67d704138))
-   support for MongoDB 6.x ([#&#8203;10545](https://github.com/typeorm/typeorm/issues/10545)) ([3647b26](3647b269cc))
-   support mssql@10 ([#&#8203;10356](https://github.com/typeorm/typeorm/issues/10356)) ([f6bb671](f6bb6711e2)), closes [#&#8203;10340](https://github.com/typeorm/typeorm/issues/10340)
-   use node-oracledb 6 ([#&#8203;10285](https://github.com/typeorm/typeorm/issues/10285)) ([3af891a](3af891a8e6)), closes [#&#8203;10277](https://github.com/typeorm/typeorm/issues/10277)
-   user-defined index name for STI discriminator column ([#&#8203;10509](https://github.com/typeorm/typeorm/issues/10509)) ([89c5257](89c525761d)), closes [#&#8203;10496](https://github.com/typeorm/typeorm/issues/10496)

##### Performance Improvements

-   improve SapQueryRunner performance ([#&#8203;10198](https://github.com/typeorm/typeorm/issues/10198)) ([f6b87e3](f6b87e3ee1))

##### BREAKING CHANGES

-   With node-oracledb the thin client is used as default. Added a option to use the thick client. Also added the option to specify the instant client lib
-   MongoDB: from the previous behavior of returning a result with metadata describing when a document is not found.
    See: https://github.com/mongodb/node-mongodb-native/blob/HEAD/etc/notes/CHANGES\_6.0.0.md
-   [new nullable embeds feature](https://github.com/typeorm/typeorm/pull/10289) introduced a breaking change which might enforce you to update types on your entities to `  | null `,
    if all columns in your embed entity are nullable. Since database queries now return embedded property as `null` if all its column values are null.

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4wLjAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4wLjAiLCJ0YXJnZXRCcmFuY2giOiJkZXZlbG9wIn0=-->

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/vylbot-app/pulls/395
Reviewed-by: Vylpes <ethan@vylpes.com>
Co-authored-by: Renovate Bot <renovate@vylpes.com>
Co-committed-by: Renovate Bot <renovate@vylpes.com>
2024-01-30 18:28:37 +00:00
0a251b2691 Update dependency @types/node to v20.11.10 (#392)
All checks were successful
continuous-integration/drone/push Build is passing
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://github.com/DefinitelyTyped/DefinitelyTyped)) | devDependencies | minor | [`20.10.5` -> `20.11.10`](https://renovatebot.com/diffs/npm/@types%2fnode/20.10.5/20.11.10) |

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4wLjAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4wLjAiLCJ0YXJnZXRCcmFuY2giOiJkZXZlbG9wIn0=-->

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/vylbot-app/pulls/392
Reviewed-by: Vylpes <ethan@vylpes.com>
Co-authored-by: Renovate Bot <renovate@vylpes.com>
Co-committed-by: Renovate Bot <renovate@vylpes.com>
2024-01-30 18:27:26 +00:00
07237b82aa v3.2.0
All checks were successful
continuous-integration/drone/push Build is passing
2024-01-29 17:53:43 +00:00
56f0d105be Create button event to gain the server access role (#398)
All checks were successful
continuous-integration/drone/push Build is passing
# Description

Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.

- Add the ability for button event interactions to be created
- Added a button event interaction which gives a user the role which is specified in the config `verification.role`
- Added a command to generate a button to activate the verify button event

#232

## Type of change

Please delete options that are not relevant.

- [x] New feature (non-breaking change which adds functionality)

# How Has This Been Tested?

Please describe the tests that you ran to verify the changes. Provide instructions so we can reproduce. Please also list any relevant details to your test configuration.

# Checklist

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my own 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 provde 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

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/vylbot-app/pulls/398
Reviewed-by: VylpesTester <tester@vylpes.com>
Co-authored-by: Ethan Lane <ethan@vylpes.com>
Co-committed-by: Ethan Lane <ethan@vylpes.com>
2024-01-26 20:59:05 +00:00
f0ab3b9080 Update dependency np to v9 (#380)
All checks were successful
continuous-integration/drone/push Build is passing
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [np](https://github.com/sindresorhus/np) | devDependencies | major | [`^8.0.4` -> `^9.0.0`](https://renovatebot.com/diffs/npm/np/8.0.4/9.2.0) |

---

### Release Notes

<details>
<summary>sindresorhus/np (np)</summary>

### [`v9.2.0`](https://github.com/sindresorhus/np/releases/tag/v9.2.0)

[Compare Source](https://github.com/sindresorhus/np/compare/v9.1.0...v9.2.0)

-   Fix yarn npm publish for scoped packages  [`8d3a984`](https://github.com/sindresorhus/np/commit/8d3a984)
-   Fix broken revert code after publish failure  [`819ed29`](https://github.com/sindresorhus/np/commit/819ed29)

### [`v9.1.0`](https://github.com/sindresorhus/np/releases/tag/v9.1.0)

[Compare Source](https://github.com/sindresorhus/np/compare/v9.0.0...v9.1.0)

-   Add Yarn Berry support ([#&#8203;723](https://github.com/sindresorhus/np/issues/723))  [`0d9522b`](https://github.com/sindresorhus/np/commit/0d9522b)

### [`v9.0.0`](https://github.com/sindresorhus/np/releases/tag/v9.0.0)

[Compare Source](https://github.com/sindresorhus/np/compare/v8.0.4...v9.0.0)

##### Breaking

-   Require Node.js 18 and npm 9  [`6c2e00e`](https://github.com/sindresorhus/np/commit/6c2e00e)

##### Improvements

-   Group unpublished files in folders ([#&#8203;716](https://github.com/sindresorhus/np/issues/716))  [`c31c2bc`](https://github.com/sindresorhus/np/commit/c31c2bc)
-   improve messages related to new files and dependencies ([#&#8203;702](https://github.com/sindresorhus/np/issues/702))  [`ad7b09e`](https://github.com/sindresorhus/np/commit/ad7b09e)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4wLjAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4wLjAiLCJ0YXJnZXRCcmFuY2giOiJkZXZlbG9wIn0=-->

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/vylbot-app/pulls/380
Reviewed-by: Vylpes <ethan@vylpes.com>
Co-authored-by: Renovate Bot <renovate@vylpes.com>
Co-committed-by: Renovate Bot <renovate@vylpes.com>
2024-01-22 17:25:55 +00:00
7c2870d28e Fix bug where a default config setting wouldn't show the key you were using (#388)
All checks were successful
continuous-integration/drone/push Build is passing
# Description

Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.

- Fix bug where a default config setting wouldn't show the key you were using
- Fix bug where a config which doesn't exist wouldn't show the key you were using

#289

## Type of change

Please delete options that are not relevant.

- [x] Bug fix (non-breaking change which fixes an issue)

# How Has This Been Tested?

Please describe the tests that you ran to verify the changes. Provide instructions so we can reproduce. Please also list any relevant details to your test configuration.

- This was tested by checking both a setting which is defaulted and not used, and both now show they key correctly

# Checklist

- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that provde 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

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/vylbot-app/pulls/388
Reviewed-by: VylpesTester <tester@vylpes.com>
Co-authored-by: Ethan Lane <ethan@vylpes.com>
Co-committed-by: Ethan Lane <ethan@vylpes.com>
2023-12-22 14:36:36 +00:00
26e7c20389 Update dependency @types/node to v20.10.5 (#387)
All checks were successful
continuous-integration/drone/push Build is passing
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://github.com/DefinitelyTyped/DefinitelyTyped)) | devDependencies | patch | [`20.10.4` -> `20.10.5`](https://renovatebot.com/diffs/npm/@types%2fnode/20.10.4/20.10.5) |

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4wLjAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4wLjAiLCJ0YXJnZXRCcmFuY2giOiJkZXZlbG9wIn0=-->

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/vylbot-app/pulls/387
Reviewed-by: Vylpes <ethan@vylpes.com>
Co-authored-by: Renovate Bot <renovate@vylpes.com>
Co-committed-by: Renovate Bot <renovate@vylpes.com>
2023-12-18 13:32:33 +00:00
4eabb2fbde Update dependency @discordjs/rest to v2.2.0 (#375)
All checks were successful
continuous-integration/drone/push Build is passing
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [@discordjs/rest](https://discord.js.org) ([source](https://github.com/discordjs/discord.js)) | dependencies | minor | [`2.0.1` -> `2.2.0`](https://renovatebot.com/diffs/npm/@discordjs%2frest/2.0.1/2.2.0) |

---

### Release Notes

<details>
<summary>discordjs/discord.js (@&#8203;discordjs/rest)</summary>

### [`v2.2.0`](https://github.com/discordjs/discord.js/blob/HEAD/packages/rest/CHANGELOG.md#discordjsrest220---2023-11-17)

[Compare Source](https://github.com/discordjs/discord.js/compare/@discordjs/rest@2.1.0...@discordjs/rest@2.2.0)

#### Bug Fixes

-   Minify mainlib docs json ([#&#8203;9963](https://github.com/discordjs/discord.js/issues/9963)) ([4b88306](4b88306dcb))

#### Features

-   Present x-ratelimit-scope for 429s hit ([#&#8203;9973](https://github.com/discordjs/discord.js/issues/9973)) ([6df233d](6df233de14))

#### Typings

-   Use wrapper utilities ([#&#8203;9945](https://github.com/discordjs/discord.js/issues/9945)) ([4bc1dae](4bc1dae36f))

### [`v2.1.0`](https://github.com/discordjs/discord.js/blob/HEAD/packages/rest/CHANGELOG.md#discordjsrest210---2023-11-12)

[Compare Source](https://github.com/discordjs/discord.js/compare/@discordjs/rest@2.0.1...@discordjs/rest@2.1.0)

#### Bug Fixes

-   **REST:** Strip webhook tokens ([#&#8203;9723](https://github.com/discordjs/discord.js/issues/9723)) ([cf49f40](cf49f405b0))

#### Documentation

-   Fix "its" typo ([#&#8203;9825](https://github.com/discordjs/discord.js/issues/9825)) ([c50809e](c50809e206))
-   **create-discord-bot:** Support bun in create-discord-bot ([#&#8203;9798](https://github.com/discordjs/discord.js/issues/9798)) ([7157748](7157748fe3))

#### Features

-   Expose Retry-After and sublimit timeouts in RatelimitData ([#&#8203;9864](https://github.com/discordjs/discord.js/issues/9864)) ([81e7866](81e7866903))
-   **CDN:** Support emoji size ([#&#8203;9787](https://github.com/discordjs/discord.js/issues/9787)) ([778df45](778df45166))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4wLjAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4wLjAiLCJ0YXJnZXRCcmFuY2giOiJkZXZlbG9wIn0=-->

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/vylbot-app/pulls/375
Reviewed-by: Vylpes <ethan@vylpes.com>
Co-authored-by: Renovate Bot <renovate@vylpes.com>
Co-committed-by: Renovate Bot <renovate@vylpes.com>
2023-12-18 13:31:46 +00:00
24146e9772 Update dependency @types/uuid to v9.0.7 (#371)
All checks were successful
continuous-integration/drone/push Build is passing
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [@types/uuid](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid) ([source](https://github.com/DefinitelyTyped/DefinitelyTyped)) | dependencies | patch | [`9.0.6` -> `9.0.7`](https://renovatebot.com/diffs/npm/@types%2fuuid/9.0.6/9.0.7) |

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4wLjAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4wLjAiLCJ0YXJnZXRCcmFuY2giOiJkZXZlbG9wIn0=-->

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/vylbot-app/pulls/371
Reviewed-by: Vylpes <ethan@vylpes.com>
Co-authored-by: Renovate Bot <renovate@vylpes.com>
Co-committed-by: Renovate Bot <renovate@vylpes.com>
2023-12-18 13:29:24 +00:00
9e01c1871d Update dependency jest to v29.7.0 (#357)
All checks were successful
continuous-integration/drone/push Build is passing
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [jest](https://jestjs.io/) ([source](https://github.com/jestjs/jest)) | dependencies | minor | [`29.5.0` -> `29.7.0`](https://renovatebot.com/diffs/npm/jest/29.5.0/29.7.0) |
| [@types/jest](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/jest) ([source](https://github.com/DefinitelyTyped/DefinitelyTyped)) | dependencies | patch | [`29.5.1` -> `29.5.11`](https://renovatebot.com/diffs/npm/@types%2fjest/29.5.1/29.5.11) |

---

### Release Notes

<details>
<summary>jestjs/jest (jest)</summary>

### [`v29.7.0`](https://github.com/jestjs/jest/blob/HEAD/CHANGELOG.md#2970)

[Compare Source](https://github.com/jestjs/jest/compare/v29.6.4...v29.7.0)

##### Features

-   `[create-jest]` Add `npm init` / `yarn create` initialiser for Jest projects ([#&#8203;14465](https://github.com/jestjs/jest/pull/14453))
-   `[jest-validate]` Allow deprecation warnings for unknown options ([#&#8203;14499](https://github.com/jestjs/jest/pull/14499))

##### Fixes

-   `[jest-resolver]` Replace unmatched capture groups in `moduleNameMapper` with empty string instead of `undefined` ([#&#8203;14507](https://github.com/jestjs/jest/pull/14507))
-   `[jest-snapshot]` Allow for strings as well as template literals in inline snapshots ([#&#8203;14465](https://github.com/jestjs/jest/pull/14465))
-   `[@jest/test-sequencer]` Calculate test runtime if `perStats.duration` is missing ([#&#8203;14473](https://github.com/jestjs/jest/pull/14473))

##### Performance

-   `[@jest/create-cache-key-function]` Cache access of `NODE_ENV` and `BABEL_ENV` ([#&#8203;14455](https://github.com/jestjs/jest/pull/14455))

##### Chore & Maintenance

-   `[jest-cli]` Move internal config initialisation logic to the `create-jest` package ([#&#8203;14465](https://github.com/jestjs/jest/pull/14453))

### [`v29.6.4`](https://github.com/jestjs/jest/blob/HEAD/CHANGELOG.md#2964)

[Compare Source](https://github.com/jestjs/jest/compare/v29.6.3...v29.6.4)

##### Fixes

-   `[jest-core]` Fix typo in `scheduleAndRun` performance marker ([#&#8203;14434](https://github.com/jestjs/jest/pull/14434))
-   `[jest-environment-node]` Make sure `atob` and `btoa` are writeable in Node 20 ([#&#8203;14446](https://github.com/jestjs/jest/pull/14446))
-   `[jest-worker]` Additional error wrapper for `parentPort.postMessage` to fix unhandled `DataCloneError`. ([#&#8203;14437](https://github.com/jestjs/jest/pull/14437))

### [`v29.6.3`](https://github.com/jestjs/jest/blob/HEAD/CHANGELOG.md#2963)

[Compare Source](https://github.com/jestjs/jest/compare/v29.6.2...v29.6.3)

##### Fixes

-   `[expect, @&#8203;jest/expect-utils]` `ObjectContaining` support `sumbol` as key ([#&#8203;14414](https://github.com/jestjs/jest/pull/14414))
-   `[expect]` Remove `@types/node` from dependencies ([#&#8203;14385](https://github.com/jestjs/jest/pull/14385))
-   `[jest-core]` Use workers in watch mode by default to avoid crashes ([#&#8203;14059](https://github.com/facebook/jest/pull/14059) & [#&#8203;14085](https://github.com/facebook/jest/pull/14085)).
-   `[jest-reporters]` Update `istanbul-lib-instrument` dependency to v6. ([#&#8203;14401](https://github.com/jestjs/jest/pull/14401))
-   `[jest-mock]` Revert [#&#8203;13692](https://github.com/jestjs/jest/pull/13692) as it was a breaking change ([#&#8203;14429](https://github.com/jestjs/jest/pull/14429))
-   `[jest-mock]` Revert [#&#8203;13866](https://github.com/jestjs/jest/pull/13866) as it was a breaking change ([#&#8203;14429](https://github.com/jestjs/jest/pull/14429))
-   `[jest-mock]` Revert [#&#8203;13867](https://github.com/jestjs/jest/pull/13867) as it was a breaking change ([#&#8203;14429](https://github.com/jestjs/jest/pull/14429))
-   `[@jest/reporters]` Marks Reporter's hooks as optional ([#&#8203;14433](https://github.com/jestjs/jest/pull/14433))
-   `[jest-runtime]` Fix dynamic ESM import module bug when loaded module through `jest.isolateModulesAsync` ([#&#8203;14397](https://github.com/jestjs/jest/pull/14397))

##### Chore & Maintenance

-   `[jest-changed-files, jest-circus, jest-console, @&#8203;jest/core, @&#8203;jest/runtime, @&#8203;jest/transform]` Use `invariant` and `notEmpty` from `jest-util` rather than own internal ([#&#8203;14366](https://github.com/jestjs/jest/pull/14366))

### [`v29.6.2`](https://github.com/jestjs/jest/blob/HEAD/CHANGELOG.md#2962)

[Compare Source](https://github.com/jestjs/jest/compare/v29.6.1...v29.6.2)

##### Fixes

-   `[jest-circus]` Fix snapshot matchers in concurrent tests when nr of tests exceeds `maxConcurrency` ([#&#8203;14335](https://github.com/jestjs/jest/pull/14335))
-   `[@jest/core]` When running global setup and teardown, do not try to change the `message` property of the thrown error object when the `message` property is unwritable ([#&#8203;14113](https://github.com/jestjs/jest/pull/14113))
-   `[jest-snapshot]` Move `@types/prettier` from `dependencies` to `devDependencies` ([#&#8203;14328](https://github.com/jestjs/jest/pull/14328))
-   `[jest-snapshot]` Throw an explicit error if Prettier v3 is used ([#&#8203;14367](https://github.com/jestjs/jest/pull/14367))
-   `[jest-reporters]` Add "skipped" and "todo" symbols to Github Actions Reporter ([#&#8203;14309](https://github.com/jestjs/jest/pull/14309))

##### Chore & Maintenance

-   `[@jest/core]` Use `pluralize` from `jest-util` rather than own internal ([#&#8203;14322](https://github.com/jestjs/jest/pull/14322))

### [`v29.6.1`](https://github.com/jestjs/jest/blob/HEAD/CHANGELOG.md#2961)

[Compare Source](https://github.com/jestjs/jest/compare/v29.6.0...v29.6.1)

##### Fixes

-   `[jest-circus]` Revert [#&#8203;14110](https://github.com/jestjs/jest/pull/14110) as it was a breaking change ([#&#8203;14304](https://github.com/jestjs/jest/pull/14304))

### [`v29.6.0`](https://github.com/jestjs/jest/blob/HEAD/CHANGELOG.md#2960)

[Compare Source](https://github.com/jestjs/jest/compare/v29.5.0...v29.6.0)

##### Features

-   `[jest-circus, jest-snapshot]` Add support for snapshot matchers in concurrent tests ([#&#8203;14139](https://github.com/jestjs/jest/pull/14139))
-   `[jest-cli]` Include type definitions to generated config files ([#&#8203;14078](https://github.com/facebook/jest/pull/14078))
-   `[jest-snapshot]` Support arrays as property matchers ([#&#8203;14025](https://github.com/facebook/jest/pull/14025))
-   `[jest-core, jest-circus, jest-reporter, jest-runner]` Added support for reporting about start individual test cases using jest-circus ([#&#8203;14174](https://github.com/jestjs/jest/pull/14174))

##### Fixes

-   `[jest-circus]` Prevent false test failures caused by promise rejections handled asynchronously ([#&#8203;14110](https://github.com/jestjs/jest/pull/14110))
-   `[jest-config]` Handle frozen config object ([#&#8203;14054](https://github.com/facebook/jest/pull/14054))
-   `[jest-config]` Allow `coverageDirectory` and `collectCoverageFrom` in project config ([#&#8203;14180](https://github.com/jestjs/jest/pull/14180))
-   `[jest-core]` Always use workers in watch mode to avoid crashes ([#&#8203;14059](https://github.com/facebook/jest/pull/14059)).
-   `[jest-environment-jsdom, jest-environment-node]` Fix assignment of `customExportConditions` via `testEnvironmentOptions` when custom env subclass defines a default value ([#&#8203;13989](https://github.com/facebook/jest/pull/13989))
-   `[jest-matcher-utils]` Fix copying value of inherited getters ([#&#8203;14007](https://github.com/facebook/jest/pull/14007))
-   `[jest-mock]` Tweak typings to allow `jest.replaceProperty()` replace methods ([#&#8203;14008](https://github.com/facebook/jest/pull/14008))
-   `[jest-mock]` Improve user input validation and error messages of `spyOn` and `replaceProperty` methods ([#&#8203;14087](https://github.com/facebook/jest/pull/14087))
-   `[jest-runtime]` Bind `jest.isolateModulesAsync` to `this` ([#&#8203;14083](https://github.com/facebook/jest/pull/14083))
-   `[jest-runtime]` Forward `wrapperLength` to the `Script` constructor as `columnOffset` for accurate debugging ([#&#8203;14148](https://github.com/facebook/jest/pull/14148))
-   `[jest-runtime]` Guard `_isMockFunction` access with `in` ([#&#8203;14188](https://github.com/facebook/jest/pull/14188))
-   `[jest-snapshot]` Fix a potential bug when not using prettier and improve performance ([#&#8203;14036](https://github.com/facebook/jest/pull/14036))
-   `[@jest/transform]` Do not instrument `.json` modules ([#&#8203;14048](https://github.com/facebook/jest/pull/14048))
-   `[jest-worker]` Restart a shut down worker before sending it a task ([#&#8203;14015](https://github.com/facebook/jest/pull/14015))

##### Chore & Maintenance

-   `[*]` Update `semver` dependency to get vulnerability fix ([#&#8203;14262](https://github.com/jestjs/jest/pull/14262))
-   `[docs]` Updated documentation for the `--runTestsByPath` CLI command ([#&#8203;14004](https://github.com/facebook/jest/pull/14004))
-   `[docs]` Updated documentation regarding the synchronous fallback when asynchronous code transforms are unavailable ([#&#8203;14056](https://github.com/facebook/jest/pull/14056))
-   `[docs]` Update jest statistics of use and downloads in website Index.

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these updates again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4wLjAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4wLjAiLCJ0YXJnZXRCcmFuY2giOiJkZXZlbG9wIn0=-->

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/vylbot-app/pulls/357
Reviewed-by: Vylpes <ethan@vylpes.com>
Co-authored-by: Renovate Bot <renovate@vylpes.com>
Co-committed-by: Renovate Bot <renovate@vylpes.com>
2023-12-18 13:28:35 +00:00
efb431ef3a Fix nickname change event not working (#385)
All checks were successful
continuous-integration/drone/push Build is passing
# Description

Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.

- Fix the nickname changed event not working
    - This was due to the default value not being set because of a typo
- Update the client to allow partials for guild members

#353

## Type of change

Please delete options that are not relevant.

- [x] Bug fix (non-breaking change which fixes an issue)

# How Has This Been Tested?

Please describe the tests that you ran to verify the changes. Provide instructions so we can reproduce. Please also list any relevant details to your test configuration.

- This has been tested locally by making sure the nickname change event fires when expected

# Checklist

- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that provde 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

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/vylbot-app/pulls/385
Reviewed-by: VylpesTester <tester@vylpes.com>
Co-authored-by: Ethan Lane <ethan@vylpes.com>
Co-committed-by: Ethan Lane <ethan@vylpes.com>
2023-12-16 16:50:26 +00:00
900acff3df Update dependency @types/node to v20.10.4 (#376)
All checks were successful
continuous-integration/drone/push Build is passing
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://github.com/DefinitelyTyped/DefinitelyTyped)) | devDependencies | minor | [`20.8.10` -> `20.10.4`](https://renovatebot.com/diffs/npm/@types%2fnode/20.8.10/20.10.4) |

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4wLjAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4wLjAiLCJ0YXJnZXRCcmFuY2giOiJkZXZlbG9wIn0=-->

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/vylbot-app/pulls/376
Reviewed-by: Vylpes <ethan@vylpes.com>
Co-authored-by: Renovate Bot <renovate@vylpes.com>
Co-committed-by: Renovate Bot <renovate@vylpes.com>
2023-12-11 11:54:29 +00:00
0506385099 Update dependency random-bunny to v2.1.5 (#372)
All checks were successful
continuous-integration/drone/push Build is passing
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [random-bunny](https://gitea.vylpes.xyz/RabbitLabs/random-bunny) | dependencies | patch | [`2.1.4` -> `2.1.5`](https://renovatebot.com/diffs/npm/random-bunny/2.1.4/2.1.5) |

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4wLjAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4wLjAiLCJ0YXJnZXRCcmFuY2giOiJkZXZlbG9wIn0=-->

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/vylbot-app/pulls/372
Reviewed-by: Vylpes <ethan@vylpes.com>
Co-authored-by: Renovate Bot <renovate@vylpes.com>
Co-committed-by: Renovate Bot <renovate@vylpes.com>
2023-12-11 11:53:28 +00:00
b437293dc4 Update dependency discord.js to v14.14.1 (#351)
All checks were successful
continuous-integration/drone/push Build is passing
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [discord.js](https://discord.js.org) ([source](https://github.com/discordjs/discord.js)) | dependencies | minor | [`14.11.0` -> `14.14.1`](https://renovatebot.com/diffs/npm/discord.js/14.11.0/14.14.1) |

---

### Release Notes

<details>
<summary>discordjs/discord.js (discord.js)</summary>

### [`v14.14.1`](https://github.com/discordjs/discord.js/blob/HEAD/packages/discord.js/CHANGELOG.md#14141---2023-11-12)

[Compare Source](https://github.com/discordjs/discord.js/compare/14.14.0...14.14.1)

#### Bug Fixes

-   **Emoji:** `id` set as `undefined` edge case ([#&#8203;9953](https://github.com/discordjs/discord.js/issues/9953)) ([cc07a28](cc07a28f12))
-   **BaseClient:** Default in objects properly ([#&#8203;9952](https://github.com/discordjs/discord.js/issues/9952)) ([f93abf7](f93abf7e35))

#### Documentation

-   Use preferred nullable syntax (`?T` over `T | null`) ([#&#8203;9946](https://github.com/discordjs/discord.js/issues/9946)) ([1e4ef35](1e4ef35436))

#### Refactor

-   Use formatters ([#&#8203;9956](https://github.com/discordjs/discord.js/issues/9956)) ([40726db](40726db722))

#### Typings

-   Use wrapper utilities ([#&#8203;9945](https://github.com/discordjs/discord.js/issues/9945)) ([4bc1dae](4bc1dae36f))

### [`v14.14.0`](https://github.com/discordjs/discord.js/blob/HEAD/packages/discord.js/CHANGELOG.md#14140---2023-11-12)

[Compare Source](https://github.com/discordjs/discord.js/compare/14.13.0...14.14.0)

#### Bug Fixes

-   **Client:** Ensure destroyed connections are not ready ([#&#8203;9942](https://github.com/discordjs/discord.js/issues/9942)) ([b5e23ec](b5e23ec2ec))
-   **Webhook:** Do not call `client.deleteWebhook` in `delete` ([#&#8203;9786](https://github.com/discordjs/discord.js/issues/9786)) ([31d914e](31d914e44b))
-   **GuildManager#fetch:** Inject shard id ([#&#8203;9921](https://github.com/discordjs/discord.js/issues/9921)) ([85753a9](85753a9d6f))
-   Prevent 'undefined' debug message on intentional shard closure ([#&#8203;9846](https://github.com/discordjs/discord.js/issues/9846)) ([0e0b85b](0e0b85b766))
-   **Role:** Calculate position correctly when rawPositions are equal ([#&#8203;9871](https://github.com/discordjs/discord.js/issues/9871)) ([0529b2a](0529b2af95))
-   **GuildScheduledEvent:** Use `if...else` pattern and handle partials ([#&#8203;9802](https://github.com/discordjs/discord.js/issues/9802)) ([32d614c](32d614ccd3))

#### Documentation

-   **Message:** Remove duplicated word 'of' in description ([#&#8203;9923](https://github.com/discordjs/discord.js/issues/9923)) ([85a78f9](85a78f96d4))
-   **GuildMember:** Clarify display color ([#&#8203;9891](https://github.com/discordjs/discord.js/issues/9891)) ([e38d03f](e38d03fbe7))
-   Remove duplicate `APIEmoji` ([#&#8203;9880](https://github.com/discordjs/discord.js/issues/9880)) ([8cfadb6](8cfadb6953))
-   Consolidate API types ([#&#8203;9881](https://github.com/discordjs/discord.js/issues/9881)) ([44a3cbf](44a3cbf39e))
-   Remove `FileOptions` ([#&#8203;9855](https://github.com/discordjs/discord.js/issues/9855)) ([eaabcdf](eaabcdfda6))
-   **DiscordjsErrorCodes:** Deprecate unused properties ([#&#8203;9790](https://github.com/discordjs/discord.js/issues/9790)) ([4588e07](4588e075c3))
-   **ApplicationCommandManager:** Id parameter can take options ([#&#8203;9664](https://github.com/discordjs/discord.js/issues/9664)) ([ed14135](ed14135844))
-   **Attachment:** Add MIME types link to `contentType` ([#&#8203;9824](https://github.com/discordjs/discord.js/issues/9824)) ([85b2498](85b24988a5))
-   Fix "its" typo ([#&#8203;9825](https://github.com/discordjs/discord.js/issues/9825)) ([c50809e](c50809e206))
-   **GuildMember:** Clarify timeout parameter wording ([#&#8203;9800](https://github.com/discordjs/discord.js/issues/9800)) ([8d97e2d](8d97e2d2c5))
-   **create-discord-bot:** Support bun in create-discord-bot ([#&#8203;9798](https://github.com/discordjs/discord.js/issues/9798)) ([7157748](7157748fe3))

#### Features

-   Default select menu values ([#&#8203;9867](https://github.com/discordjs/discord.js/issues/9867)) ([4ff3ea4](4ff3ea4a1b))
-   Mainlib docs on new website ([#&#8203;9930](https://github.com/discordjs/discord.js/issues/9930)) ([da455bc](da455bceea))
-   **cleanContent:** Add slash commands and emojis ([#&#8203;9809](https://github.com/discordjs/discord.js/issues/9809)) ([c2349d4](c2349d4be4))
-   **Emoji:** Add `imageURL()` ([#&#8203;9788](https://github.com/discordjs/discord.js/issues/9788)) ([b6c762c](b6c762cb84))
-   Onboarding mode and edit method ([#&#8203;9647](https://github.com/discordjs/discord.js/issues/9647)) ([7671a83](7671a836f4))
-   Support new application properties and patch endpoint ([#&#8203;9709](https://github.com/discordjs/discord.js/issues/9709)) ([1fe7247](1fe7247528))
-   **BaseChannel:** Add `isThreadOnly()` ([#&#8203;9847](https://github.com/discordjs/discord.js/issues/9847)) ([699b232](699b232922))
-   **StageInstanceManager:** Add `guildScheduledEvent` to `create()` ([#&#8203;8885](https://github.com/discordjs/discord.js/issues/8885)) ([931c3ed](931c3ed593))
-   Support `default_thread_rate_limit_per_user` in channel creation ([#&#8203;9273](https://github.com/discordjs/discord.js/issues/9273)) ([1e5c14b](1e5c14b741))
-   Add media channels ([#&#8203;9662](https://github.com/discordjs/discord.js/issues/9662)) ([571aedd](571aedd58a))
-   Support widget image URL ([#&#8203;9782](https://github.com/discordjs/discord.js/issues/9782)) ([b6a2441](b6a2441819))
-   **GuildAuditLogsEntry:** Expose extra integrationType in relevant log types ([#&#8203;9796](https://github.com/discordjs/discord.js/issues/9796)) ([3109798](310979808e))
-   Add support for teams update ([#&#8203;9805](https://github.com/discordjs/discord.js/issues/9805)) ([c66636d](c66636da11))
-   **Presence:** Expose sync_id in Activity ([#&#8203;9766](https://github.com/discordjs/discord.js/issues/9766)) ([485dd71](485dd718c5))

#### Refactor

-   **utils:** Remove `mergeDefault` ([#&#8203;9938](https://github.com/discordjs/discord.js/issues/9938)) ([5b0aa92](5b0aa92c81))
-   Use proper variable names in callbacks ([#&#8203;9840](https://github.com/discordjs/discord.js/issues/9840)) ([11f6955](11f6955ed9))
-   **GuildAuditLogsEntry:** Abstract reduce logic into a new function ([#&#8203;9845](https://github.com/discordjs/discord.js/issues/9845)) ([19ea0ba](19ea0baa00))
-   Stickers are free (no more "premium" packs) ([#&#8203;9791](https://github.com/discordjs/discord.js/issues/9791)) ([e02a59b](e02a59bbb6))

#### Typings

-   **Partials:** Add toString() method to supported Partials ([#&#8203;9835](https://github.com/discordjs/discord.js/issues/9835)) ([7422d9f](7422d9f172))
-   **MessageEditOptions:** Correct `attachments` type ([#&#8203;9874](https://github.com/discordjs/discord.js/issues/9874)) ([2aa3250](2aa3250584))
-   **UserContextMenuCommandInteraction:** Nullify `targetMember` ([#&#8203;9844](https://github.com/discordjs/discord.js/issues/9844)) ([3c043d8](3c043d83a9))
-   Don't include dom types ([#&#8203;9831](https://github.com/discordjs/discord.js/issues/9831)) ([9dbc954](9dbc9542c4))
-   **Client:** Fix isReady narrowing ([#&#8203;9828](https://github.com/discordjs/discord.js/issues/9828)) ([6404c01](6404c013e7))

### [`v14.13.0`](https://github.com/discordjs/discord.js/blob/HEAD/packages/discord.js/CHANGELOG.md#14130---2023-08-17)

[Compare Source](https://github.com/discordjs/discord.js/compare/14.12.1...14.13.0)

#### Bug Fixes

-   **Action:** Do not add the client user as a recipient ([#&#8203;9774](https://github.com/discordjs/discord.js/issues/9774)) ([24fbb11](24fbb11ba2))
-   **DMChannel:** Correct partial typo ([#&#8203;9773](https://github.com/discordjs/discord.js/issues/9773)) ([c1ff545](c1ff545bf1))
-   **CachedManager:** Allow overriding constructor for makeCache ([#&#8203;9763](https://github.com/discordjs/discord.js/issues/9763)) ([346fa57](346fa57f95))
-   **types:** Fixed CachedManager constructor arguments in type ([#&#8203;9761](https://github.com/discordjs/discord.js/issues/9761)) ([b3c85d3](b3c85d34a6))
-   **Action:** Do not set `undefined` values ([#&#8203;9755](https://github.com/discordjs/discord.js/issues/9755)) ([d8e3755](d8e37551ce))

#### Documentation

-   **EmbedBuilder:** `@readonly` length ([#&#8203;9778](https://github.com/discordjs/discord.js/issues/9778)) ([8f572a6](8f572a6bad))
-   **WebhookEditOptions:** Add all of the types ([#&#8203;9776](https://github.com/discordjs/discord.js/issues/9776)) ([d5be424](d5be4242c6))
-   Update Node.js requirement to 16.11.0 ([#&#8203;9764](https://github.com/discordjs/discord.js/issues/9764)) ([188877c](188877c50a))

#### Features

-   **Client:** Add deleteWebhook method ([#&#8203;9777](https://github.com/discordjs/discord.js/issues/9777)) ([d90ba8d](d90ba8dce8))
-   **ClientPresence:** Allow setting activity state ([#&#8203;9743](https://github.com/discordjs/discord.js/issues/9743)) ([9ed1b59](9ed1b59df6))
-   **ClientApplication:** Approximate guild count and new `GET` route ([#&#8203;9713](https://github.com/discordjs/discord.js/issues/9713)) ([632a9b4](632a9b4965))
-   **Role:** Add `flags` ([#&#8203;9694](https://github.com/discordjs/discord.js/issues/9694)) ([3b18e5b](3b18e5b08d))
-   **Attachment:** Add `flags` ([#&#8203;9686](https://github.com/discordjs/discord.js/issues/9686)) ([692f0fc](692f0fc96d))
-   Add `Client#webhooksUpdate` ([#&#8203;9732](https://github.com/discordjs/discord.js/issues/9732)) ([0de071d](0de071d0a5))

#### Typings

-   **GuildInvitableChannelResolvable:** Allow forum channels ([#&#8203;9775](https://github.com/discordjs/discord.js/issues/9775)) ([727dc09](727dc094d5))
-   Make activity name required ([#&#8203;9765](https://github.com/discordjs/discord.js/issues/9765)) ([0a9a3ed](0a9a3ede29))
-   **BaseButtonComponentData:** Narrow component type ([#&#8203;9735](https://github.com/discordjs/discord.js/issues/9735)) ([a30d46c](a30d46c5f5))

### [`v14.12.1`](https://github.com/discordjs/discord.js/blob/HEAD/packages/discord.js/CHANGELOG.md#14121---2023-08-01)

[Compare Source](https://github.com/discordjs/discord.js/compare/14.12.0...14.12.1)

#### Bug Fixes

-   **BaseClient:** Fix destroy method ([#&#8203;9742](https://github.com/discordjs/discord.js/issues/9742)) ([1af7e5a](1af7e5a0bb))

### [`v14.12.0`](https://github.com/discordjs/discord.js/blob/HEAD/packages/discord.js/CHANGELOG.md#14120---2023-07-31)

[Compare Source](https://github.com/discordjs/discord.js/compare/14.11.0...14.12.0)

#### Bug Fixes

-   **ChannelUpdate:** Check against unknown channels ([#&#8203;9697](https://github.com/discordjs/discord.js/issues/9697)) ([7fb91c5](7fb91c57f7))
-   **Action:** Use existing recipients if available ([#&#8203;9653](https://github.com/discordjs/discord.js/issues/9653)) ([719e54a](719e54a921))
-   Everyone role members ([#&#8203;9685](https://github.com/discordjs/discord.js/issues/9685)) ([0803eb5](0803eb562b))
-   `awaitMessageComponent` with `MessageComponentInteraction`s ([#&#8203;8598](https://github.com/discordjs/discord.js/issues/8598)) ([b61e4fb](b61e4fb0dc))
-   **ThreadManager:** Fix internal crash upon conditionally resolving thread members ([#&#8203;9648](https://github.com/discordjs/discord.js/issues/9648)) ([a6dbe16](a6dbe163dd))
-   **User:** Check global name in equals ([#&#8203;9631](https://github.com/discordjs/discord.js/issues/9631)) ([8f3bd38](8f3bd38072))
-   **WebSocketManager:** Await WebSocket destroy ([#&#8203;9519](https://github.com/discordjs/discord.js/issues/9519)) ([75308f2](75308f2669))
-   **Client:** Safe call for possibly null WebSocket ([#&#8203;9600](https://github.com/discordjs/discord.js/issues/9600)) ([24a6149](24a61495b9))
-   **ThreadManager:** Ensure `fetchActive()` only returns active threads in a channel ([#&#8203;9568](https://github.com/discordjs/discord.js/issues/9568)) ([53aa24d](53aa24d418))
-   **LimitedCollection:** Allow items to be stored if keepOverLimit is true when maxSize is 0 ([#&#8203;9534](https://github.com/discordjs/discord.js/issues/9534)) ([9345d1b](9345d1b1ac))
-   **AutocompleteInteraction:** Prevent snake casing of locales ([#&#8203;9565](https://github.com/discordjs/discord.js/issues/9565)) ([7196fe3](7196fe36e8))

#### Documentation

-   Change `Channel` to `BaseChannel` ([#&#8203;9718](https://github.com/discordjs/discord.js/issues/9718)) ([e5effb6](e5effb6f6a))
-   **BaseChannel:** Remove `APIChannel` ([#&#8203;9717](https://github.com/discordjs/discord.js/issues/9717)) ([125405f](125405f1cf))
-   **BuildersSelectMenuOption:** Update link ([#&#8203;9690](https://github.com/discordjs/discord.js/issues/9690)) ([ede9f4e](ede9f4e5e2))
-   **ClientOptions:** Change default value of sweepers in docs ([#&#8203;9591](https://github.com/discordjs/discord.js/issues/9591)) ([911e6ef](911e6eff75))
-   **Client:** Correct invite gateway permission checks ([#&#8203;9597](https://github.com/discordjs/discord.js/issues/9597)) ([e1b6eee](e1b6eeed0e))
-   Fix broken links to new documentation ([#&#8203;9563](https://github.com/discordjs/discord.js/issues/9563)) ([d01e8aa](d01e8aa8af))

#### Features

-   Add ws option support for "buildIdentifyThrottler" ([#&#8203;9728](https://github.com/discordjs/discord.js/issues/9728)) ([6307f81](6307f81385))
-   **Client:** Add `guildAvailable` event ([#&#8203;9692](https://github.com/discordjs/discord.js/issues/9692)) ([3c85fb2](3c85fb21e6))
-   User avatar decorations ([#&#8203;8914](https://github.com/discordjs/discord.js/issues/8914)) ([8d97017](8d97017458))
-   Add silent option to ShardingManager ([#&#8203;9506](https://github.com/discordjs/discord.js/issues/9506)) ([df40dcd](df40dcdb85))
-   **EmbedBuilder:** Add `.length` ([#&#8203;8682](https://github.com/discordjs/discord.js/issues/8682)) ([53c17e0](53c17e00c0))
-   Guild onboarding ([#&#8203;9120](https://github.com/discordjs/discord.js/issues/9120)) ([dc73c93](dc73c938ff))
-   Add resume event in shard ([#&#8203;9650](https://github.com/discordjs/discord.js/issues/9650)) ([a73d54e](a73d54e43a))
-   **presence:** Re-introduce image resolving for other platforms ([#&#8203;9637](https://github.com/discordjs/discord.js/issues/9637)) ([73c2f8a](73c2f8aa17))
-   Add message to send resume event to shard ([#&#8203;9626](https://github.com/discordjs/discord.js/issues/9626)) ([a873ec1](a873ec1e85))
-   Support new username system ([#&#8203;9512](https://github.com/discordjs/discord.js/issues/9512)) ([1ab60f9](1ab60f9da4))
-   **GuildAuditLogsEntry#extra:** Add missing `channel` property ([#&#8203;9518](https://github.com/discordjs/discord.js/issues/9518)) ([2272321](227232112d))

#### Performance

-   **Channel:** Linear speed position getter ([#&#8203;9497](https://github.com/discordjs/discord.js/issues/9497)) ([09b0382](09b0382c45))
-   **Role:** Improve `members` getter ([#&#8203;9529](https://github.com/discordjs/discord.js/issues/9529)) ([37181ab](37181ab232))

#### Refactor

-   **User:** Remove deprecation warning from tag ([#&#8203;9660](https://github.com/discordjs/discord.js/issues/9660)) ([cf8012c](cf8012c200))
-   **GuildMember:** Make `_roles` property non-enumerable ([#&#8203;9387](https://github.com/discordjs/discord.js/issues/9387)) ([46167a7](46167a79d7))
-   **rest:** Switch api to fetch-like and provide strategies ([#&#8203;9416](https://github.com/discordjs/discord.js/issues/9416)) ([cdaa0a3](cdaa0a36f5))
    -   **BREAKING CHANGE:** NodeJS v18+ is required when using node due to the use of global `fetch`
    -   **BREAKING CHANGE:** The raw method of REST now returns a web compatible `Respone` object.
    -   **BREAKING CHANGE:** The `parseResponse` utility method has been updated to operate on a web compatible `Response` object.
    -   **BREAKING CHANGE:** Many underlying internals have changed, some of which were exported.
    -   **BREAKING CHANGE:** `DefaultRestOptions` used to contain a default `agent`, which is now set to `null` instead.

#### Typings

-   **MessageManager:** Allow comparison of messages again ([#&#8203;9612](https://github.com/discordjs/discord.js/issues/9612)) ([a48d0ef](a48d0efb09))
-   **AutoModerationActionExecution:** Add forum channels as a possible type in `channel()` ([#&#8203;9623](https://github.com/discordjs/discord.js/issues/9623)) ([d64330a](d64330a157))
-   **ModalSubmitFields:** Components is an array ([#&#8203;9406](https://github.com/discordjs/discord.js/issues/9406)) ([1cab79f](1cab79f6fd))
-   Use `readonly` arrays and `const` type parameters in places ([#&#8203;9641](https://github.com/discordjs/discord.js/issues/9641)) ([cd69868](cd6986854f))
-   **BaseInteraction:** `appPermissions` not `null` in guilds ([#&#8203;9601](https://github.com/discordjs/discord.js/issues/9601)) ([6c2242f](6c2242f4f9))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4wLjAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4wLjAiLCJ0YXJnZXRCcmFuY2giOiJkZXZlbG9wIn0=-->

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/vylbot-app/pulls/351
Reviewed-by: Vylpes <ethan@vylpes.com>
Co-authored-by: Renovate Bot <renovate@vylpes.com>
Co-committed-by: Renovate Bot <renovate@vylpes.com>
2023-12-11 11:51:36 +00:00
d217cac169 Fix typo in config list saying about messages for member events (#368)
All checks were successful
continuous-integration/drone/push Build is passing
# Description

Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.

- Fix typo in config list, instead of talking about the member events it was mentioning message logs

#354

## Type of change

Please delete options that are not relevant.

- [x] Bug fix (non-breaking change which fixes an issue)

# How Has This Been Tested?

Please describe the tests that you ran to verify the changes. Provide instructions so we can reproduce. Please also list any relevant details to your test configuration.

- This has been tested by running the `/config list` command and making sure its updated

# Checklist

- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that provde 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

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/vylbot-app/pulls/368
Co-authored-by: Ethan Lane <ethan@vylpes.com>
Co-committed-by: Ethan Lane <ethan@vylpes.com>
2023-11-10 18:24:08 +00:00
2bbb50bf59 Fix typo in PR template (#367)
All checks were successful
continuous-integration/drone/push Build is passing
# Description

Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.

- Fix typo in PR template, from "Provde" to "Provide"

#333

## Type of change

Please delete options that are not relevant.

- [x] Bug fix (non-breaking change which fixes an issue)

# How Has This Been Tested?

Please describe the tests that you ran to verify the changes. Provide instructions so we can reproduce. Please also list any relevant details to your test configuration.

- No testing was needed

# Checklist

- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own 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 provde 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

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/vylbot-app/pulls/367
Co-authored-by: Ethan Lane <ethan@vylpes.com>
Co-committed-by: Ethan Lane <ethan@vylpes.com>
2023-11-10 18:22:53 +00:00
af2da69843 Update message delete log embed to only show filenames (#366)
All checks were successful
continuous-integration/drone/push Build is passing
# Description

Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.

- Update message delete log embed to only show file names
- Update the title of the attachments heading to show how many attachments it had

#322

## Type of change

Please delete options that are not relevant.

- [x] Bug fix (non-breaking change which fixes an issue)

# How Has This Been Tested?

Please describe the tests that you ran to verify the changes. Provide instructions so we can reproduce. Please also list any relevant details to your test configuration.

- This has been tested by deleting messages with attachments and ensuring it logs as expected

# Checklist

- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that provde 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

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/vylbot-app/pulls/366
Co-authored-by: Ethan Lane <ethan@vylpes.com>
Co-committed-by: Ethan Lane <ethan@vylpes.com>
2023-11-10 18:21:27 +00:00
f76f1f42d7 Update dependency emoji-regex to v10.3.0 (#365)
All checks were successful
continuous-integration/drone/push Build is passing
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [emoji-regex](https://mths.be/emoji-regex) ([source](https://github.com/mathiasbynens/emoji-regex)) | dependencies | minor | [`10.2.1` -> `10.3.0`](https://renovatebot.com/diffs/npm/emoji-regex/10.2.1/10.3.0) |

---

### Release Notes

<details>
<summary>mathiasbynens/emoji-regex (emoji-regex)</summary>

### [`v10.3.0`](6acf03a84f...3a5f0fbf44)

[Compare Source](6acf03a84f...3a5f0fbf44)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4wLjAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4wLjAiLCJ0YXJnZXRCcmFuY2giOiJkZXZlbG9wIn0=-->

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/vylbot-app/pulls/365
Co-authored-by: Renovate Bot <renovate@vylpes.com>
Co-committed-by: Renovate Bot <renovate@vylpes.com>
2023-11-06 18:22:08 +00:00
0424a964a6 Update dependency @types/node to v20.8.10 (#364)
All checks were successful
continuous-integration/drone/push Build is passing
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://github.com/DefinitelyTyped/DefinitelyTyped)) | devDependencies | patch | [`20.8.9` -> `20.8.10`](https://renovatebot.com/diffs/npm/@types%2fnode/20.8.9/20.8.10) |

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4wLjAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4wLjAiLCJ0YXJnZXRCcmFuY2giOiJkZXZlbG9wIn0=-->

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/vylbot-app/pulls/364
Co-authored-by: Renovate Bot <renovate@vylpes.com>
Co-committed-by: Renovate Bot <renovate@vylpes.com>
2023-11-06 18:21:12 +00:00
24cbac5363 Update dependency random-bunny to v2.1.4 (#347)
All checks were successful
continuous-integration/drone/push Build is passing
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [random-bunny](https://gitea.vylpes.xyz/RabbitLabs/random-bunny) | dependencies | patch | [`2.1.3` -> `2.1.4`](https://renovatebot.com/diffs/npm/random-bunny/2.1.3/2.1.4) |

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4wLjAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4wLjAiLCJ0YXJnZXRCcmFuY2giOiJkZXZlbG9wIn0=-->

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/vylbot-app/pulls/347
Co-authored-by: Renovate Bot <renovate@vylpes.com>
Co-committed-by: Renovate Bot <renovate@vylpes.com>
2023-11-06 18:20:22 +00:00
fd217f2732 Update dependency ts-jest to v29.1.1 (#344)
All checks were successful
continuous-integration/drone/push Build is passing
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [ts-jest](https://kulshekhar.github.io/ts-jest) ([source](https://github.com/kulshekhar/ts-jest)) | dependencies | patch | [`29.1.0` -> `29.1.1`](https://renovatebot.com/diffs/npm/ts-jest/29.1.0/29.1.1) |

---

### Release Notes

<details>
<summary>kulshekhar/ts-jest (ts-jest)</summary>

### [`v29.1.1`](f208af917e...9670787b08)

[Compare Source](f208af917e...9670787b08)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi44OS4wIiwidXBkYXRlZEluVmVyIjoiMzcuMC4wIiwidGFyZ2V0QnJhbmNoIjoiZGV2ZWxvcCJ9-->

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/vylbot-app/pulls/344
Co-authored-by: Renovate Bot <renovate@vylpes.com>
Co-committed-by: Renovate Bot <renovate@vylpes.com>
2023-11-06 18:18:15 +00:00
5f99bd9df7 Update dependency jest-mock-extended to v3.0.5 (#343)
All checks were successful
continuous-integration/drone/push Build is passing
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [jest-mock-extended](https://github.com/marchaos/jest-mock-extended) | dependencies | patch | [`3.0.4` -> `3.0.5`](https://renovatebot.com/diffs/npm/jest-mock-extended/3.0.4/3.0.5) |

---

### Release Notes

<details>
<summary>marchaos/jest-mock-extended (jest-mock-extended)</summary>

### [`v3.0.5`](18609501e1...cc9a485623)

[Compare Source](18609501e1...cc9a485623)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi44OS4wIiwidXBkYXRlZEluVmVyIjoiMzcuMC4wIiwidGFyZ2V0QnJhbmNoIjoiZGV2ZWxvcCJ9-->

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/vylbot-app/pulls/343
Co-authored-by: Renovate Bot <renovate@vylpes.com>
Co-committed-by: Renovate Bot <renovate@vylpes.com>
2023-11-06 18:16:49 +00:00
0cf08eeec4 Update dependency @discordjs/rest to v2.0.1 (#341)
All checks were successful
continuous-integration/drone/push Build is passing
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [@discordjs/rest](https://discord.js.org) ([source](https://github.com/discordjs/discord.js)) | dependencies | patch | [`2.0.0` -> `2.0.1`](https://renovatebot.com/diffs/npm/@discordjs%2frest/2.0.0/2.0.1) |

---

### Release Notes

<details>
<summary>discordjs/discord.js (@&#8203;discordjs/rest)</summary>

### [`v2.0.1`](d04987f09b...84ead6e554)

[Compare Source](d04987f09b...84ead6e554)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi44OS4wIiwidXBkYXRlZEluVmVyIjoiMzcuMC4wIiwidGFyZ2V0QnJhbmNoIjoiZGV2ZWxvcCJ9-->

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/vylbot-app/pulls/341
Co-authored-by: Renovate Bot <renovate@vylpes.com>
Co-committed-by: Renovate Bot <renovate@vylpes.com>
2023-11-06 18:14:40 +00:00
2edb913b96 Update dependency typescript to v5.2.2 (#358)
All checks were successful
continuous-integration/drone/push Build is passing
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [typescript](https://www.typescriptlang.org/) ([source](https://github.com/Microsoft/TypeScript)) | devDependencies | minor | [`5.0.4` -> `5.2.2`](https://renovatebot.com/diffs/npm/typescript/5.0.4/5.2.2) |

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4wLjAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4wLjAiLCJ0YXJnZXRCcmFuY2giOiJkZXZlbG9wIn0=-->

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/vylbot-app/pulls/358
Co-authored-by: Renovate Bot <renovate@vylpes.com>
Co-committed-by: Renovate Bot <renovate@vylpes.com>
2023-11-01 17:56:39 +00:00
9544642a42 Update dependency dotenv to v16.3.1 (#352)
All checks were successful
continuous-integration/drone/push Build is passing
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [dotenv](https://github.com/motdotla/dotenv) | dependencies | minor | [`16.0.3` -> `16.3.1`](https://renovatebot.com/diffs/npm/dotenv/16.0.3/16.3.1) |

---

### Release Notes

<details>
<summary>motdotla/dotenv (dotenv)</summary>

### [`v16.3.1`](76d3682e10...b13ca7bbda)

[Compare Source](76d3682e10...b13ca7bbda)

### [`v16.3.0`](a0e21a5bb9...76d3682e10)

[Compare Source](a0e21a5bb9...76d3682e10)

### [`v16.2.0`](dc1cd6c8cb...a0e21a5bb9)

[Compare Source](dc1cd6c8cb...a0e21a5bb9)

### [`v16.1.4`](4d255441cf...dc1cd6c8cb)

[Compare Source](4d255441cf...dc1cd6c8cb)

### [`v16.1.3`](3f40e1245d...4d255441cf)

[Compare Source](3f40e1245d...4d255441cf)

### [`v16.1.2`](66080bdefa...3f40e1245d)

[Compare Source](66080bdefa...3f40e1245d)

### [`v16.1.1`](ef48935323...66080bdefa)

[Compare Source](ef48935323...66080bdefa)

### [`v16.1.0`](560df1555e...ef48935323)

[Compare Source](560df1555e...ef48935323)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4wLjAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4wLjAiLCJ0YXJnZXRCcmFuY2giOiJkZXZlbG9wIn0=-->

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/vylbot-app/pulls/352
Co-authored-by: Renovate Bot <renovate@vylpes.com>
Co-committed-by: Renovate Bot <renovate@vylpes.com>
2023-11-01 17:54:56 +00:00
0f441ed457 Update dependency @types/node to v20.8.9 (#348)
All checks were successful
continuous-integration/drone/push Build is passing
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://github.com/DefinitelyTyped/DefinitelyTyped)) | devDependencies | minor | [`20.1.4` -> `20.8.9`](https://renovatebot.com/diffs/npm/@types%2fnode/20.1.4/20.8.9) |

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4wLjAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4wLjAiLCJ0YXJnZXRCcmFuY2giOiJkZXZlbG9wIn0=-->

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/vylbot-app/pulls/348
Co-authored-by: Renovate Bot <renovate@vylpes.com>
Co-committed-by: Renovate Bot <renovate@vylpes.com>
2023-11-01 17:53:22 +00:00
edf7af967d Update dependency @types/uuid to v9.0.6 (#342)
All checks were successful
continuous-integration/drone/push Build is passing
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [@types/uuid](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/uuid) ([source](https://github.com/DefinitelyTyped/DefinitelyTyped)) | dependencies | patch | [`9.0.1` -> `9.0.6`](https://renovatebot.com/diffs/npm/@types%2fuuid/9.0.1/9.0.6) |

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi44OS4wIiwidXBkYXRlZEluVmVyIjoiMzcuMC4wIiwidGFyZ2V0QnJhbmNoIjoiZGV2ZWxvcCJ9-->

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/vylbot-app/pulls/342
Co-authored-by: Renovate Bot <renovate@vylpes.com>
Co-committed-by: Renovate Bot <renovate@vylpes.com>
2023-11-01 17:48:41 +00:00
9955f5730b Merge branch 'main' into develop
All checks were successful
continuous-integration/drone/push Build is passing
2023-10-25 15:06:46 +01:00
fcd6ecf06b v3.1.3
All checks were successful
continuous-integration/drone/push Build is passing
2023-10-25 15:00:16 +01:00
94634ab01c Update IP for server to .120
All checks were successful
continuous-integration/drone/push Build is passing
2023-10-25 14:59:23 +01:00
6a3eb69692 v3.1.2
All checks were successful
continuous-integration/drone/push Build is passing
2023-10-25 14:55:22 +01:00
324f611516 Remove test command until we can fix them 2023-10-25 14:55:17 +01:00
f3b2a38f22 Bump @babel/traverse from 7.21.5 to 7.23.2
Some checks failed
continuous-integration/drone/push Build is failing
2023-10-25 14:52:19 +01:00
97a65b8547 Bump undici from 5.22.0 to 5.26.3 2023-10-25 14:50:34 +01:00
5ca0a13127 Fix hostname in drone config
All checks were successful
continuous-integration/drone/push Build is passing
2023-09-29 18:01:47 +01:00
2d51b83d77 Fix invalid config value not showing properly (#336)
Some checks failed
continuous-integration/drone/push Build is failing
# Description

- Fix the invalid config value not showing properly
- When there is no server value or default value, it will show it as `<NONE>`

#315

## Type of change

Please delete options that are not relevant.

- [x] Bug fix (non-breaking change which fixes an issue)

# How Has This Been Tested?

Please describe the tests that you ran to verify the changes. Provide instructions so we can reproduce. Please also list any relevant details to your test configuration.

# Checklist

- [x] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that provde my fix is effective or that my feature works
- [ ] New and existing unit tests pass locally with my changes
- [x] Any dependent changes have been merged and published in downstream modules

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/vylbot-app/pulls/336
Co-authored-by: Ethan Lane <ethan@vylpes.com>
Co-committed-by: Ethan Lane <ethan@vylpes.com>
2023-09-29 18:00:29 +01:00
7613aedbbe Fix muted command not working (#335)
Some checks failed
continuous-integration/drone/push Build is failing
# Description

- Fix muted command not working
- This was caused by the muted role name still using old logic before per-server configuration

#316

## Type of change

Please delete options that are not relevant.

- [x] Bug fix (non-breaking change which fixes an issue)

# How Has This Been Tested?

- This was tested locally by running the mute and unmute commands, and seeing it the error no longer occurs

# Checklist

- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that provde my fix is effective or that my feature works
- [ ] New and existing unit tests pass locally with my changes
- [x] Any dependent changes have been merged and published in downstream modules

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/vylbot-app/pulls/335
Co-authored-by: Ethan Lane <ethan@vylpes.com>
Co-committed-by: Ethan Lane <ethan@vylpes.com>
2023-08-18 21:07:19 +01:00
1c4fdd05f1 Fix config get command not returning the right key value name (#334)
Some checks failed
continuous-integration/drone/push Build is failing
# Description

- Fixed the `/config get` command not returning the actual key's name, instead using a strinified "Object" property

#289

## Type of change

Please delete options that are not relevant.

- [x] Bug fix (non-breaking change which fixes an issue)

# How Has This Been Tested?

- This was tested by running the `/config get` command on my dev bot, and making sure it still gets the correct value for the key string

# Checklist

- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that provide my fix is effective or that my feature works
- [ ] New and existing unit tests pass locally with my changes
- [x] Any dependent changes have been merged and published in downstream modules

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/vylbot-app/pulls/334
Co-authored-by: Ethan Lane <ethan@vylpes.com>
Co-committed-by: Ethan Lane <ethan@vylpes.com>
2023-08-18 21:04:06 +01:00
2d48a6fde2 Fix moderation commands not sending log embed with user avatar (#328)
Some checks failed
continuous-integration/drone/push Build is failing
# Description

- Fixes the moderation commands not sending the log embed with the user avatar
- Updates the .env files to use v3.2

#205

## Type of change

Please delete options that are not relevant.

- [x] Bug fix (non-breaking change which fixes an issue)

# How Has This Been Tested?

- This has been tested locally by running the warn command against a user, and seeing if the log uses my avatar in the thumbnail

# Checklist

- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that provde my fix is effective or that my feature works
- [ ] New and existing unit tests pass locally with my changes
- [x] Any dependent changes have been merged and published in downstream modules

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/vylbot-app/pulls/328
Co-authored-by: Ethan Lane <ethan@vylpes.com>
Co-committed-by: Ethan Lane <ethan@vylpes.com>
2023-08-11 20:52:16 +01:00
9968e2e5fb Update dependency @discordjs/rest to v2 (#327)
Some checks failed
continuous-integration/drone/push Build is failing
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [@discordjs/rest](https://discord.js.org) ([source](https://github.com/discordjs/discord.js)) | dependencies | major | [`^1.1.0` -> `^2.0.0`](https://renovatebot.com/diffs/npm/@discordjs%2frest/1.7.1/2.0.0) |

---

### Release Notes

<details>
<summary>discordjs/discord.js</summary>

### [`v2.0.0`](https://github.com/discordjs/discord.js/blob/HEAD/packages/rest/CHANGELOG.md#discordjsrest200-httpsgithubcomdiscordjsdiscordjscomparediscordjsrest171discordjsrest200---2023-07-31)

[Compare Source](https://github.com/discordjs/discord.js/compare/@discordjs/rest@1.7.1...@discordjs/rest@2.0.0)

#### Features

-   No-de-no-de, now with extra buns ([#&#8203;9683](https://github.com/discordjs/discord.js/issues/9683)) ([386f206](386f206caf))
    -   **BREAKING CHANGE:** The REST and RequestManager classes now extend AsyncEventEmitter
        from `@vladfrangu/async_event_emitter`, which aids in cross-compatibility
        between Node, Deno, Bun, CF Workers, Vercel Functions, etc.
    -   **BREAKING CHANGE:** DefaultUserAgentAppendix has been adapted to support multiple
        different platforms (previously mentioned Deno, Bun, CF Workers, etc)
    -   **BREAKING CHANGE:** the entry point for `@discordjs/rest` will now differ
        in non-node-like environments (CF Workers, etc.)
    -   **Co-authored-by:** Suneet Tipirneni <77477100+suneettipirneni@users.noreply.github.com>
    -   **Co-authored-by:** Jiralite <33201955+Jiralite@users.noreply.github.com>
    -   **Co-authored-by:** suneettipirneni <suneettipirneni@icloud.com>
-   User avatar decorations ([#&#8203;8914](https://github.com/discordjs/discord.js/issues/8914)) ([8d97017](8d97017458))
-   Support new username system ([#&#8203;9512](https://github.com/discordjs/discord.js/issues/9512)) ([1ab60f9](1ab60f9da4))

#### Refactor

-   **REST:** Remove double classing ([#&#8203;9722](https://github.com/discordjs/discord.js/issues/9722)) ([8f4256d](8f4256db8a))
    -   **BREAKING CHANGE:** `REST` and `RequestManager` have been combined, most of the properties, methods, and events from both classes can now be found on `REST`
    -   **BREAKING CHANGE:** `REST#raw` has been removed in favor of `REST#queueRequest`
    -   **BREAKING CHANGE:** `REST#getAgent` has been removed in favor of `REST#agent`

<!---->

-   chore: update for /rest changes

<!---->

-   **rest:** Switch api to fetch-like and provide strategies ([#&#8203;9416](https://github.com/discordjs/discord.js/issues/9416)) ([cdaa0a3](cdaa0a36f5))
    -   **BREAKING CHANGE:** NodeJS v18+ is required when using node due to the use of global `fetch`
    -   **BREAKING CHANGE:** The raw method of REST now returns a web compatible `Respone` object.
    -   **BREAKING CHANGE:** The `parseResponse` utility method has been updated to operate on a web compatible `Response` object.
    -   **BREAKING CHANGE:** Many underlying internals have changed, some of which were exported.
    -   **BREAKING CHANGE:** `DefaultRestOptions` used to contain a default `agent`, which is now set to `null` instead.

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC43NC4yIiwidXBkYXRlZEluVmVyIjoiMzQuNzQuMiJ9-->

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/vylbot-app/pulls/327
Co-authored-by: Renovate Bot <renovate@vylpes.com>
Co-committed-by: Renovate Bot <renovate@vylpes.com>
2023-08-07 17:46:37 +01:00
82c8eed933 Update dependency minimatch to v9.0.3 (#318)
Some checks failed
continuous-integration/drone/push Build is failing
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [minimatch](https://github.com/isaacs/minimatch) | dependencies | patch | [`9.0.2` -> `9.0.3`](https://renovatebot.com/diffs/npm/minimatch/9.0.2/9.0.3) |

---

### Release Notes

<details>
<summary>isaacs/minimatch</summary>

### [`v9.0.3`](https://github.com/isaacs/minimatch/compare/v9.0.2...v9.0.3)

[Compare Source](https://github.com/isaacs/minimatch/compare/v9.0.2...v9.0.3)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC43NC4yIiwidXBkYXRlZEluVmVyIjoiMzQuNzQuMiJ9-->

Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/vylbot-app/pulls/318
Co-authored-by: Renovate Bot <renovate@vylpes.com>
Co-committed-by: Renovate Bot <renovate@vylpes.com>
2023-08-07 17:44:19 +01:00
62 changed files with 2532 additions and 2562 deletions

View file

@ -7,7 +7,7 @@ steps:
- name: deploy - name: deploy
image: appleboy/drone-ssh image: appleboy/drone-ssh
settings: settings:
host: 192.168.68.121 host: 192.168.1.115
username: vylpes username: vylpes
password: password:
from_secret: ssh_password from_secret: ssh_password
@ -28,7 +28,7 @@ steps:
- name: stage - name: stage
image: appleboy/drone-ssh image: appleboy/drone-ssh
settings: settings:
host: 192.168.68.121 host: 192.168.1.115
username: vylpes username: vylpes
password: password:
from_secret: ssh_password from_secret: ssh_password
@ -54,11 +54,11 @@ steps:
- yarn install --frozen-lockfile - yarn install --frozen-lockfile
- yarn build - yarn build
- name: test # - name: test
image: node # image: node
commands: # commands:
- yarn install --frozen-lockfile # - yarn install --frozen-lockfile
- yarn test # - yarn test
trigger: trigger:
branch: branch:

View file

@ -7,7 +7,7 @@
# any secret values. # any secret values.
BOT_TOKEN= BOT_TOKEN=
BOT_VER=3.1.1 BOT_VER=3.2.3
BOT_AUTHOR=Vylpes BOT_AUTHOR=Vylpes
BOT_OWNERID=147392775707426816 BOT_OWNERID=147392775707426816
BOT_CLIENTID=682942374040961060 BOT_CLIENTID=682942374040961060
@ -15,6 +15,8 @@ BOT_CLIENTID=682942374040961060
ABOUT_FUNDING=https://ko-fi.com/vylpes ABOUT_FUNDING=https://ko-fi.com/vylpes
ABOUT_REPO=https://gitea.vylpes.xyz/RabbitLabs/vylbot-app ABOUT_REPO=https://gitea.vylpes.xyz/RabbitLabs/vylbot-app
CACHE_INTERVAL=1800000 # 30 minutes
DB_HOST=127.0.0.1 DB_HOST=127.0.0.1
DB_PORT=3101 DB_PORT=3101
DB_NAME=vylbot DB_NAME=vylbot

View file

@ -0,0 +1,67 @@
name: Deploy To Production
on:
push:
branches:
- main
jobs:
build:
environment: prod
runs-on: node
steps:
- uses: actions/checkout@v2
- name: Use Node.js
uses: actions/setup-node@v1
with:
node-version: 18.x
- run: yarn install --frozen-lockfile
- run: yarn build
- run: yarn test
- name: "Copy files over to location"
run: cp -r . ${{ secrets.PROD_REPO_PATH }}
deploy:
environment: prod
needs: build
runs-on: node
steps:
- uses: https://github.com/appleboy/ssh-action@v1.0.0
env:
DB_NAME: ${{ secrets.PROD_DB_NAME }}
DB_AUTH_USER: ${{ secrets.PROD_DB_AUTH_USER }}
DB_AUTH_PASS: ${{ secrets.PROD_DB_AUTH_PASS }}
DB_HOST: ${{ secrets.PROD_DB_HOST }}
DB_PORT: ${{ secrets.PROD_DB_PORT }}
DB_ROOT_HOST: ${{ secrets.PROD_DB_ROOT_HOST }}
DB_SYNC: ${{ secrets.PROD_DB_SYNC }}
DB_LOGGING: ${{ secrets.PROD_DB_LOGGING }}
DB_DATA_LOCATION: ${{ secrets.PROD_DB_DATA_LOCATION }}
SERVER_PATH: ${{ secrets.PROD_SSH_SERVER_PATH }}
BOT_TOKEN: ${{ secrets.PROD_BOT_TOKEN }}
BOT_VER: ${{ vars.PROD_BOT_VER }}
BOT_AUTHOR: ${{ vars.PROD_BOT_AUTHOR }}
BOT_OWNERID: ${{ vars.PROD_BOT_OWNERID }}
BOT_CLIENTID: ${{ vars.PROD_BOT_CLIENTID }}
ABOUT_FUNDING: ${{ vars.PROD_ABOUT_FUNDING }}
ABOUT_REPO: ${{ vars.PROD_ABOUT_REPO }}
CACHE_INTERVAL: ${{ vars.PROD_CACHE_INTERVAL }}
with:
host: ${{ secrets.PROD_SSH_HOST }}
username: ${{ secrets.PROD_SSH_USER }}
key: ${{ secrets.PROD_SSH_KEY }}
port: ${{ secrets.PROD_SSH_PORT }}
envs: DB_NAME,DB_AUTH_USER,DB_AUTH_PASS,DB_HOST,DB_PORT,DB_ROOT_HOST,DB_SYNC,DB_LOGGING,DB_DATA_LOCATION,BOT_TOKEN,BOT_VER,BOT_AUTHOR,BOT_OWNERID,BOT_CLIENTID,ABOUT_FUNDING,ABOUT_REPO,CACHE_INTERVAL
script: |
source .sshrc \
&& cd /home/vylpes/apps/vylbot/vylbot_prod \
&& docker compose down \
&& (pm2 stop vylbot_prod || true) \
&& (pm2 delete vylbot_prod || true) \
&& docker compose up -d \
&& sleep 10 \
&& yarn db:up \
&& pm2 start --name vylbot_prod dist/vylbot.js

View file

@ -0,0 +1,67 @@
name: Deploy To Stage
on:
push:
branches:
- develop
jobs:
build:
environment: prod
runs-on: node
steps:
- uses: actions/checkout@v2
- name: Use Node.js
uses: actions/setup-node@v1
with:
node-version: 18.x
- run: yarn install --frozen-lockfile
- run: yarn build
- run: yarn test
- name: "Copy files over to location"
run: cp -r . ${{ secrets.STAGE_REPO_PATH }}
deploy:
environment: prod
needs: build
runs-on: node
steps:
- uses: https://github.com/appleboy/ssh-action@v1.0.0
env:
DB_NAME: ${{ secrets.STAGE_DB_NAME }}
DB_AUTH_USER: ${{ secrets.STAGE_DB_AUTH_USER }}
DB_AUTH_PASS: ${{ secrets.STAGE_DB_AUTH_PASS }}
DB_HOST: ${{ secrets.STAGE_DB_HOST }}
DB_PORT: ${{ secrets.STAGE_DB_PORT }}
DB_ROOT_HOST: ${{ secrets.STAGE_DB_ROOT_HOST }}
DB_SYNC: ${{ secrets.STAGE_DB_SYNC }}
DB_LOGGING: ${{ secrets.STAGE_DB_LOGGING }}
DB_DATA_LOCATION: ${{ secrets.STAGE_DB_DATA_LOCATION }}
SERVER_PATH: ${{ secrets.STAGE_SSH_SERVER_PATH }}
BOT_TOKEN: ${{ secrets.STAGE_BOT_TOKEN }}
BOT_VER: ${{ vars.STAGE_BOT_VER }}
BOT_AUTHOR: ${{ vars.STAGE_BOT_AUTHOR }}
BOT_OWNERID: ${{ vars.STAGE_BOT_OWNERID }}
BOT_CLIENTID: ${{ vars.STAGE_BOT_CLIENTID }}
ABOUT_FUNDING: ${{ vars.STAGE_ABOUT_FUNDING }}
ABOUT_REPO: ${{ vars.STAGE_ABOUT_REPO }}
CACHE_INTERVAL: ${{ vars.STAGE_CACHE_INTERVAL }}
with:
host: ${{ secrets.STAGE_SSH_HOST }}
username: ${{ secrets.STAGE_SSH_USER }}
key: ${{ secrets.STAGE_SSH_KEY }}
port: ${{ secrets.STAGE_SSH_PORT }}
envs: DB_NAME,DB_AUTH_USER,DB_AUTH_PASS,DB_HOST,DB_PORT,DB_ROOT_HOST,DB_SYNC,DB_LOGGING,DB_DATA_LOCATION,BOT_TOKEN,BOT_VER,BOT_AUTHOR,BOT_OWNERID,BOT_CLIENTID,ABOUT_FUNDING,ABOUT_REPO,CACHE_INTERVAL
script: |
source .sshrc \
&& cd /home/vylpes/apps/vylbot/vylbot_stage \
&& docker compose down \
&& (pm2 stop vylbot_stage || true) \
&& (pm2 delete vylbot_stage || true) \
&& docker compose up -d \
&& sleep 10 \
&& yarn db:up \
&& pm2 start --name vylbot_stage dist/vylbot.js

View file

@ -0,0 +1,24 @@
name: Test
on:
push:
branches:
- feature/*
- hotfix/*
- renovate/*
jobs:
build:
environment: stage
runs-on: node
steps:
- uses: actions/checkout@v2
- name: Use Node.js
uses: actions/setup-node@v1
with:
node-version: 18.x
- run: yarn install --frozen-lockfile
- run: yarn build
- run: yarn test

View file

@ -24,6 +24,6 @@ Please describe the tests that you ran to verify the changes. Provide instructio
- [ ] I have commented my code, particularly in hard-to-understand areas - [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation - [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings - [ ] My changes generate no new warnings
- [ ] I have added tests that provde my fix is effective or that my feature works - [ ] I have added tests that provide my fix is effective or that my feature works
- [ ] New and existing unit tests pass locally with my changes - [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged and published in downstream modules - [ ] Any dependent changes have been merged and published in downstream modules

1
.gitignore vendored
View file

@ -106,3 +106,4 @@ dist
config.json config.json
.DS_Store .DS_Store
ormconfig.json ormconfig.json
.temp/

View file

@ -1,24 +0,0 @@
# Security Warning! Do not commit this file to any VCS!
# This is a local file to speed up development process,
# so you don't have to change your environment variables.
#
# This is not applied to `.env.template`!
# Template files must be committed to the VCS, but must not contain
# any secret values.
BOT_TOKEN=
BOT_VER=3.1.1
BOT_AUTHOR=Vylpes
BOT_OWNERID=147392775707426816
BOT_CLIENTID=680083120896081954
ABOUT_FUNDING=https://ko-fi.com/vylpes
ABOUT_REPO=https://gitea.vylpes.xyz/RabbitLabs/vylbot-app
DB_HOST=127.0.0.1
DB_PORT=3121
DB_NAME=vylbot
DB_AUTH_USER=prod
DB_AUTH_PASS=prod
DB_SYNC=false
DB_LOGGING=false

View file

@ -1,24 +0,0 @@
# Security Warning! Do not commit this file to any VCS!
# This is a local file to speed up development process,
# so you don't have to change your environment variables.
#
# This is not applied to `.env.template`!
# Template files must be committed to the VCS, but must not contain
# any secret values.
BOT_TOKEN=
BOT_VER=3.1.1
BOT_AUTHOR=Vylpes
BOT_OWNERID=147392775707426816
BOT_CLIENTID=1016767908740857949
ABOUT_FUNDING=https://ko-fi.com/vylpes
ABOUT_REPO=https://gitea.vylpes.xyz/RabbitLabs/vylbot-app
DB_HOST=127.0.0.1
DB_PORT=3111
DB_NAME=vylbot
DB_AUTH_USER=stage
DB_AUTH_PASS=stage
DB_SYNC=false
DB_LOGGING=false

View file

@ -26,11 +26,11 @@ event.message.delete.channel: Sets the channel the bot will log message delete e
event.message.update.enabled: Enables/Disables the message delete log event (Default: "false") event.message.update.enabled: Enables/Disables the message delete log event (Default: "false")
event.message.update.channel: Sets the channel the bot will log message delete events to (Default: "message-logs") event.message.update.channel: Sets the channel the bot will log message delete events to (Default: "message-logs")
event.member.add.enabled: Enables/Disables the message delete log event (Default: "false") event.member.add.enabled: Enables/Disables the member join log event (Default: "false")
event.member.add.channel: Sets the channel the bot will log message delete events to (Default: "member-logs") event.member.add.channel: Sets the channel the bot will log member join events to (Default: "member-logs")
event.member.remove.enabled: Enables/Disables the message delete log event (Default: "false") event.member.remove.enabled: Enables/Disables the member leave log event (Default: "false")
event.member.remove.channel: Sets the channel the bot will log message delete events to (Default: "member-logs") event.member.remove.channel: Sets the channel the bot will log member leave events to (Default: "member-logs")
event.member.update.enabled: Enables/Disables the message delete log event (Default: "false") event.member.update.enabled: Enables/Disables the member update log event (Default: "false")
event.member.update.channel: Sets the channel the bot will log message delete events to (Default: "member-logs") event.member.update.channel: Sets the channel the bot will log member update events to (Default: "member-logs")

View file

@ -0,0 +1,2 @@
ALTER TABLE server
ADD LastCached datetime NOT NULL DEFAULT '2024-03-01 18:10:04';

View file

@ -1,31 +0,0 @@
version: "3.9"
volumes:
prod_database_data:
services:
# discord:
# build: .
database:
image: mysql/mysql-server
command: --default-authentication-plugin=mysql_native_password
restart: always
environment:
- MYSQL_DATABASE=vylbot
- MYSQL_USER=prod
- MYSQL_PASSWORD=prod
- MYSQL_ROOT_PASSWORD=root
- MYSQL_ROOT_HOST=0.0.0.0
ports:
- "3121:3306"
volumes:
- prod_database_data:/var/lib/mysql
phpmyadmin:
image: phpmyadmin
restart: always
ports:
- "3122:80"
environment:
- PMA_ARBITRARY=1

View file

@ -1,31 +0,0 @@
version: "3.9"
volumes:
stage_database_data:
services:
# discord:
# build: .
database:
image: mysql/mysql-server
command: --default-authentication-plugin=mysql_native_password
restart: always
environment:
- MYSQL_DATABASE=vylbot
- MYSQL_USER=stage
- MYSQL_PASSWORD=stage
- MYSQL_ROOT_PASSWORD=root
- MYSQL_ROOT_HOST=0.0.0.0
ports:
- "3111:3306"
volumes:
- stage_database_data:/var/lib/mysql
phpmyadmin:
image: phpmyadmin
restart: always
ports:
- "3112:80"
environment:
- PMA_ARBITRARY=1

View file

@ -1,31 +1,17 @@
version: "3.9" version: "3.9"
volumes:
dev_database_data:
services: services:
# discord:
# build: .
database: database:
image: mysql/mysql-server image: mysql/mysql-server
command: --default-authentication-plugin=mysql_native_password command: --default-authentication-plugin=mysql_native_password
restart: always restart: always
environment: environment:
- MYSQL_DATABASE=vylbot - MYSQL_DATABASE=$DB_NAME
- MYSQL_USER=dev - MYSQL_USER=$DB_AUTH_USER
- MYSQL_PASSWORD=dev - MYSQL_PASSWORD=$DB_AUTH_PASS
- MYSQL_ROOT_PASSWORD=root - MYSQL_ROOT_PASSWORD=$DB_AUTH_PASS
- MYSQL_ROOT_HOST=0.0.0.0 - MYSQL_ROOT_HOST=$DB_ROOT_HOST
ports: ports:
- "3101:3306" - "$DB_PORT:3306"
volumes: volumes:
- dev_database_data:/var/lib/mysql - $DB_DATA_LOCATION:/var/lib/mysql
phpmyadmin:
image: phpmyadmin
restart: always
ports:
- "3102:80"
environment:
- PMA_ARBITRARY=1

View file

@ -1,6 +1,6 @@
{ {
"name": "vylbot-app", "name": "vylbot-app",
"version": "3.1.1", "version": "3.2.3",
"description": "A discord bot made for Vylpes' Den", "description": "A discord bot made for Vylpes' Den",
"main": "./dist/vylbot", "main": "./dist/vylbot",
"typings": "./dist", "typings": "./dist",
@ -8,9 +8,10 @@
"clean": "rm -rf node_modules/ dist/", "clean": "rm -rf node_modules/ dist/",
"build": "tsc", "build": "tsc",
"start": "node ./dist/vylbot", "start": "node ./dist/vylbot",
"test": "jest", "test": "echo true",
"db:up": "typeorm migration:run -d dist/database/dataSources/appDataSource.js", "db:up": "typeorm migration:run -d dist/database/dataSources/appDataSource.js",
"db:down": "typeorm migration:revert -d dist/database/dataSources/appDataSource.js", "db:down": "typeorm migration:revert -d dist/database/dataSources/appDataSource.js",
"db:create": "typeorm migration:create ./src/database/migrations",
"release": "np --no-publish" "release": "np --no-publish"
}, },
"repository": { "repository": {
@ -26,7 +27,7 @@
"homepage": "https://github.com/Vylpes/vylbot-app", "homepage": "https://github.com/Vylpes/vylbot-app",
"funding": "https://ko-fi.com/vylpes", "funding": "https://ko-fi.com/vylpes",
"dependencies": { "dependencies": {
"@discordjs/rest": "^1.1.0", "@discordjs/rest": "^2.0.0",
"@types/jest": "^29.0.0", "@types/jest": "^29.0.0",
"@types/uuid": "^9.0.0", "@types/uuid": "^9.0.0",
"discord.js": "^14.3.0", "discord.js": "^14.3.0",
@ -34,18 +35,19 @@
"emoji-regex": "^10.0.0", "emoji-regex": "^10.0.0",
"jest": "^29.0.0", "jest": "^29.0.0",
"jest-mock-extended": "^3.0.0", "jest-mock-extended": "^3.0.0",
"minimatch": "9.0.2", "minimatch": "9.0.3",
"mysql": "^2.18.1", "mysql": "^2.18.1",
"random-bunny": "^2.0.5", "random-bunny": "^2.1.6",
"ts-jest": "^29.0.0", "ts-jest": "^29.0.0",
"typeorm": "0.3.17" "typeorm": "0.3.20"
}, },
"resolutions": { "resolutions": {
"**/semver": "^7.5.2" "**/semver": "^7.5.2",
"**/undici": "^6.0.0"
}, },
"devDependencies": { "devDependencies": {
"@types/node": "^20.0.0", "@types/node": "^20.0.0",
"np": "^8.0.4", "np": "^10.0.0",
"typescript": "^5.0.0" "typescript": "^5.0.0"
} }
} }

View file

@ -0,0 +1,42 @@
import { ButtonInteraction, CacheType } from "discord.js";
import { ButtonEvent } from "../type/buttonEvent";
import SettingsHelper from "../helpers/SettingsHelper";
export default class Verify extends ButtonEvent {
public override async execute(interaction: ButtonInteraction<CacheType>) {
if (!interaction.guildId || !interaction.guild) return;
const roleName = await SettingsHelper.GetSetting("verification.role", interaction.guildId);
if (!roleName) return;
const role = interaction.guild.roles.cache.find(x => x.name == roleName);
if (!role) {
await interaction.reply({
content: `Unable to find the role, ${roleName}`,
ephemeral: true,
});
return;
}
const member = interaction.guild.members.cache.find(x => x.id == interaction.user.id);
if (!member || !member.manageable) {
await interaction.reply({
content: "Unable to give role to user",
ephemeral: true,
});
return;
}
await member.roles.add(role);
await interaction.reply({
content: "Given role",
ephemeral: true,
});
}
}

View file

@ -1,4 +1,4 @@
import { Client } from "discord.js"; import { Client, Partials } from "discord.js";
import * as dotenv from "dotenv"; import * as dotenv from "dotenv";
import { createConnection } from "typeorm"; import { createConnection } from "typeorm";
import { EventType } from "../constants/EventType"; import { EventType } from "../constants/EventType";
@ -9,10 +9,14 @@ import { Command } from "../type/command";
import { Events } from "./events"; import { Events } from "./events";
import { Util } from "./util"; import { Util } from "./util";
import AppDataSource from "../database/dataSources/appDataSource"; import AppDataSource from "../database/dataSources/appDataSource";
import ButtonEventItem from "../contracts/ButtonEventItem";
import { ButtonEvent } from "../type/buttonEvent";
import CacheHelper from "../helpers/CacheHelper";
export class CoreClient extends Client { export class CoreClient extends Client {
private static _commandItems: ICommandItem[]; private static _commandItems: ICommandItem[];
private static _eventItems: IEventItem[]; private static _eventItems: IEventItem[];
private static _buttonEvents: ButtonEventItem[];
private _events: Events; private _events: Events;
private _util: Util; private _util: Util;
@ -25,12 +29,17 @@ export class CoreClient extends Client {
return this._eventItems; return this._eventItems;
} }
constructor(intents: number[]) { public static get buttonEvents(): ButtonEventItem[] {
super({ intents: intents }); return this._buttonEvents;
}
constructor(intents: number[], partials: Partials[]) {
super({ intents: intents, partials: partials });
dotenv.config(); dotenv.config();
CoreClient._commandItems = []; CoreClient._commandItems = [];
CoreClient._eventItems = []; CoreClient._eventItems = [];
CoreClient._buttonEvents = [];
this._events = new Events(); this._events = new Events();
this._util = new Util(); this._util = new Util();
@ -51,6 +60,10 @@ export class CoreClient extends Client {
await super.login(process.env.BOT_TOKEN); await super.login(process.env.BOT_TOKEN);
this.guilds.cache.forEach(async (guild) => {
await CacheHelper.UpdateServerCache(guild);
});
this._util.loadEvents(this, CoreClient._eventItems); this._util.loadEvents(this, CoreClient._eventItems);
this._util.loadSlashCommands(this); this._util.loadSlashCommands(this);
} }
@ -73,4 +86,13 @@ export class CoreClient extends Client {
CoreClient._eventItems.push(item); CoreClient._eventItems.push(item);
} }
public static RegisterButtonEvent(buttonId: string, event: ButtonEvent) {
const item: ButtonEventItem = {
ButtonId: buttonId,
Event: event,
};
CoreClient._buttonEvents.push(item);
}
} }

View file

@ -1,40 +1,18 @@
import { Interaction } from "discord.js"; import { Interaction } from "discord.js";
import ICommandItem from "../contracts/ICommandItem"; import ChatInputCommand from "./interactionCreate/chatInputCommand";
import SettingsHelper from "../helpers/SettingsHelper"; import Button from "./interactionCreate/button";
import { CoreClient } from "./client";
export class Events { export class Events {
public async onInteractionCreate(interaction: Interaction) { public async onInteractionCreate(interaction: Interaction) {
if (!interaction.isChatInputCommand()) return;
if (!interaction.guildId) return; if (!interaction.guildId) return;
const disabledCommandsString = await SettingsHelper.GetSetting("commands.disabled", interaction.guildId); if (interaction.isChatInputCommand()) {
const disabledCommands = disabledCommandsString?.split(","); ChatInputCommand.onChatInput(interaction);
const disabledCommandsMessage = await SettingsHelper.GetSetting("commands.disabled.message", interaction.guildId);
if (disabledCommands?.find(x => x == interaction.commandName)) {
await interaction.reply(disabledCommandsMessage || "This command is disabled.");
return;
} }
const item = CoreClient.commandItems.find(x => x.Name == interaction.commandName && !x.ServerId); if (interaction.isButton()) {
const itemForServer = CoreClient.commandItems.find(x => x.Name == interaction.commandName && x.ServerId == interaction.guildId); Button.onButtonClicked(interaction);
let itemToUse: ICommandItem;
if (!itemForServer) {
if (!item) {
await interaction.reply('Command not found');
return;
}
itemToUse = item;
} else {
itemToUse = itemForServer;
} }
itemToUse.Command.execute(interaction);
} }
// Emit when bot is logged in and ready to use // Emit when bot is logged in and ready to use

View file

@ -0,0 +1,17 @@
import { ButtonInteraction } from "discord.js";
import { CoreClient } from "../client";
export default class Button {
public static async onButtonClicked(interaction: ButtonInteraction) {
if (!interaction.isButton) return;
const item = CoreClient.buttonEvents.find(x => x.ButtonId == interaction.customId.split(" ")[0]);
if (!item) {
await interaction.reply("Event not found.");
return;
}
item.Event.execute(interaction);
}
}

View file

@ -0,0 +1,27 @@
import { Interaction } from "discord.js";
import { CoreClient } from "../client";
import ICommandItem from "../../contracts/ICommandItem";
export default class ChatInputCommand {
public static async onChatInput(interaction: Interaction) {
if (!interaction.isChatInputCommand()) return;
const item = CoreClient.commandItems.find(x => x.Name == interaction.commandName && !x.ServerId);
const itemForServer = CoreClient.commandItems.find(x => x.Name == interaction.commandName && x.ServerId == interaction.guildId);
let itemToUse: ICommandItem;
if (!itemForServer) {
if (!item) {
await interaction.reply("Command not found.");
return;
}
itemToUse = item;
} else {
itemToUse = itemForServer;
}
itemToUse.Command.execute(interaction);
}
}

View file

@ -6,7 +6,7 @@ export default class AddRole extends Command {
constructor() { constructor() {
super(); super();
super.CommandBuilder = new SlashCommandBuilder() this.CommandBuilder = new SlashCommandBuilder()
.setName('addlobby') .setName('addlobby')
.setDescription('Add lobby channel') .setDescription('Add lobby channel')
.setDefaultMemberPermissions(PermissionsBitField.Flags.ModerateMembers) .setDefaultMemberPermissions(PermissionsBitField.Flags.ModerateMembers)

View file

@ -7,7 +7,7 @@ export default class ListLobby extends Command {
constructor() { constructor() {
super(); super();
super.CommandBuilder = new SlashCommandBuilder() this.CommandBuilder = new SlashCommandBuilder()
.setName('listlobby') .setName('listlobby')
.setDescription('Lists all channels set up as lobbies') .setDescription('Lists all channels set up as lobbies')
.setDefaultMemberPermissions(PermissionsBitField.Flags.ModerateMembers); .setDefaultMemberPermissions(PermissionsBitField.Flags.ModerateMembers);

View file

@ -6,7 +6,7 @@ export default class Lobby extends Command {
constructor() { constructor() {
super(); super();
super.CommandBuilder = new SlashCommandBuilder() this.CommandBuilder = new SlashCommandBuilder()
.setName('lobby') .setName('lobby')
.setDescription('Attempt to organise a lobby'); .setDescription('Attempt to organise a lobby');
} }

View file

@ -7,7 +7,7 @@ export default class RemoveLobby extends Command {
constructor() { constructor() {
super(); super();
super.CommandBuilder = new SlashCommandBuilder() this.CommandBuilder = new SlashCommandBuilder()
.setName('removelobby') .setName('removelobby')
.setDescription('Remove a lobby channel') .setDescription('Remove a lobby channel')
.setDefaultMemberPermissions(PermissionsBitField.Flags.ModerateMembers) .setDefaultMemberPermissions(PermissionsBitField.Flags.ModerateMembers)

View file

@ -1,4 +1,4 @@
import { CommandInteraction, EmbedBuilder, PermissionsBitField, SlashCommandBuilder } from "discord.js"; import { CommandInteraction, EmbedBuilder, PermissionsBitField, SlashCommandBuilder, TextChannel } from "discord.js";
import EmbedColours from "../../constants/EmbedColours"; import EmbedColours from "../../constants/EmbedColours";
import SettingsHelper from "../../helpers/SettingsHelper"; import SettingsHelper from "../../helpers/SettingsHelper";
import { Command } from "../../type/command"; import { Command } from "../../type/command";
@ -7,7 +7,7 @@ export default class Entry extends Command {
constructor() { constructor() {
super(); super();
super.CommandBuilder = new SlashCommandBuilder() this.CommandBuilder = new SlashCommandBuilder()
.setName('entry') .setName('entry')
.setDescription('Sends the entry embed') .setDescription('Sends the entry embed')
.setDefaultMemberPermissions(PermissionsBitField.Flags.ModerateMembers); .setDefaultMemberPermissions(PermissionsBitField.Flags.ModerateMembers);
@ -24,6 +24,8 @@ export default class Entry extends Command {
.setTitle("Welcome") .setTitle("Welcome")
.setDescription(`Welcome to the server! Please make sure to read the rules in the <#${rulesChannelId}> channel and type the code found there in here to proceed to the main part of the server.`); .setDescription(`Welcome to the server! Please make sure to read the rules in the <#${rulesChannelId}> channel and type the code found there in here to proceed to the main part of the server.`);
await interaction.channel.send({ embeds: [ embed ]}); const channel = interaction.channel as TextChannel;
await channel.send({ embeds: [ embed ]});
} }
} }

View file

@ -7,7 +7,7 @@ export default class ConfigRole extends Command {
constructor() { constructor() {
super(); super();
super.CommandBuilder = new SlashCommandBuilder() this.CommandBuilder = new SlashCommandBuilder()
.setName('configrole') .setName('configrole')
.setDescription('Toggle your roles') .setDescription('Toggle your roles')
.setDefaultMemberPermissions(PermissionsBitField.Flags.ManageRoles) .setDefaultMemberPermissions(PermissionsBitField.Flags.ManageRoles)

View file

@ -7,7 +7,7 @@ export default class Role extends Command {
constructor() { constructor() {
super(); super();
super.CommandBuilder = new SlashCommandBuilder() this.CommandBuilder = new SlashCommandBuilder()
.setName('role') .setName('role')
.setDescription('Toggle your roles') .setDescription('Toggle your roles')
.addSubcommand(subcommand => .addSubcommand(subcommand =>

View file

@ -6,7 +6,7 @@ export default class About extends Command {
constructor() { constructor() {
super(); super();
super.CommandBuilder = new SlashCommandBuilder() this.CommandBuilder = new SlashCommandBuilder()
.setName('about') .setName('about')
.setDescription('About VylBot'); .setDescription('About VylBot');
} }

View file

@ -9,7 +9,7 @@ export default class Audits extends Command {
constructor() { constructor() {
super(); super();
super.CommandBuilder = new SlashCommandBuilder() this.CommandBuilder = new SlashCommandBuilder()
.setName("audits") .setName("audits")
.setDescription("View audits of a particular user in the server") .setDescription("View audits of a particular user in the server")
.setDefaultMemberPermissions(PermissionsBitField.Flags.ModerateMembers) .setDefaultMemberPermissions(PermissionsBitField.Flags.ModerateMembers)
@ -93,7 +93,7 @@ export default class Audits extends Command {
private async SendAuditForUser(interaction: CommandInteraction) { private async SendAuditForUser(interaction: CommandInteraction) {
if (!interaction.guildId) return; if (!interaction.guildId) return;
const user = interaction.options.getUser('target'); const user = interaction.options.get('target')?.user;
if (!user) { if (!user) {
await interaction.reply("User not found."); await interaction.reply("User not found.");
@ -191,7 +191,7 @@ export default class Audits extends Command {
private async AddAudit(interaction: CommandInteraction) { private async AddAudit(interaction: CommandInteraction) {
if (!interaction.guildId) return; if (!interaction.guildId) return;
const user = interaction.options.getUser('target'); const user = interaction.options.get('target')?.user;
const auditType = interaction.options.get('type'); const auditType = interaction.options.get('type');
const reasonInput = interaction.options.get('reason'); const reasonInput = interaction.options.get('reason');

View file

@ -9,7 +9,7 @@ export default class Ban extends Command {
constructor() { constructor() {
super(); super();
super.CommandBuilder = new SlashCommandBuilder() this.CommandBuilder = new SlashCommandBuilder()
.setName("ban") .setName("ban")
.setDescription("Ban a member from the server with an optional reason") .setDescription("Ban a member from the server with an optional reason")
.setDefaultMemberPermissions(PermissionsBitField.Flags.BanMembers) .setDefaultMemberPermissions(PermissionsBitField.Flags.BanMembers)
@ -44,6 +44,7 @@ export default class Ban extends Command {
.setColor(EmbedColours.Ok) .setColor(EmbedColours.Ok)
.setTitle("Member Banned") .setTitle("Member Banned")
.setDescription(`<@${targetUser.user.id}> \`${targetUser.user.tag}\``) .setDescription(`<@${targetUser.user.id}> \`${targetUser.user.tag}\``)
.setThumbnail(targetUser.user.avatarURL())
.addFields([ .addFields([
{ {
name: "Moderator", name: "Moderator",

View file

@ -7,7 +7,7 @@ export default class Bunny extends Command {
constructor() { constructor() {
super(); super();
super.CommandBuilder = new SlashCommandBuilder() this.CommandBuilder = new SlashCommandBuilder()
.setName("bunny") .setName("bunny")
.setDescription("Get a random picture of a rabbit."); .setDescription("Get a random picture of a rabbit.");
} }
@ -15,6 +15,8 @@ export default class Bunny extends Command {
public override async execute(interaction: CommandInteraction) { public override async execute(interaction: CommandInteraction) {
if (!interaction.isChatInputCommand()) return; if (!interaction.isChatInputCommand()) return;
await interaction.deferReply();
const subreddits = [ const subreddits = [
'rabbits', 'rabbits',
'bunnieswithhats', 'bunnieswithhats',
@ -37,9 +39,9 @@ export default class Bunny extends Command {
.setURL(`https://reddit.com${result.Result!.Permalink}`) .setURL(`https://reddit.com${result.Result!.Permalink}`)
.setFooter({ text: `r/${selectedSubreddit} · ${result.Result!.Ups} upvotes`}); .setFooter({ text: `r/${selectedSubreddit} · ${result.Result!.Ups} upvotes`});
await interaction.reply({ embeds: [ embed ]}); await interaction.editReply({ embeds: [ embed ]});
} else { } else {
await interaction.reply("There was an error running this command."); await interaction.editReply("There was an error running this command.");
} }
} }
} }

View file

@ -5,7 +5,7 @@ export default class Clear extends Command {
constructor() { constructor() {
super(); super();
super.CommandBuilder = new SlashCommandBuilder() this.CommandBuilder = new SlashCommandBuilder()
.setName("clear") .setName("clear")
.setDescription("Clears the channel of messages") .setDescription("Clears the channel of messages")
.setDefaultMemberPermissions(PermissionsBitField.Flags.ManageMessages) .setDefaultMemberPermissions(PermissionsBitField.Flags.ManageMessages)

View file

@ -1,4 +1,4 @@
import { CommandInteraction, EmbedBuilder, PermissionsBitField, SlashCommandBuilder } from "discord.js"; import { CommandInteraction, EmbedBuilder, PermissionsBitField, SlashCommandBuilder, TextChannel } from "discord.js";
import SettingsHelper from "../helpers/SettingsHelper"; import SettingsHelper from "../helpers/SettingsHelper";
import StringTools from "../helpers/StringTools"; import StringTools from "../helpers/StringTools";
import { Command } from "../type/command"; import { Command } from "../type/command";
@ -7,7 +7,7 @@ export default class Code extends Command {
constructor() { constructor() {
super(); super();
super.CommandBuilder = new SlashCommandBuilder() this.CommandBuilder = new SlashCommandBuilder()
.setName('code') .setName('code')
.setDescription('Manage the verification code of the server') .setDescription('Manage the verification code of the server')
.setDefaultMemberPermissions(PermissionsBitField.Flags.ModerateMembers) .setDefaultMemberPermissions(PermissionsBitField.Flags.ModerateMembers)
@ -59,6 +59,8 @@ export default class Code extends Command {
.setTitle("Entry Code") .setTitle("Entry Code")
.setDescription(code); .setDescription(code);
await interaction.channel.send({ embeds: [ embed ]}); const channel = interaction.channel as TextChannel;
await channel.send({ embeds: [ embed ]});
} }
} }

View file

@ -10,7 +10,7 @@ export default class Config extends Command {
constructor() { constructor() {
super(); super();
super.CommandBuilder = new SlashCommandBuilder() this.CommandBuilder = new SlashCommandBuilder()
.setName('config') .setName('config')
.setDescription('Configure the current server') .setDescription('Configure the current server')
.setDefaultMemberPermissions(PermissionsBitField.Flags.Administrator) .setDefaultMemberPermissions(PermissionsBitField.Flags.Administrator)
@ -116,9 +116,15 @@ export default class Config extends Command {
const setting = server.Settings.filter(x => x.Key == key.value)[0]; const setting = server.Settings.filter(x => x.Key == key.value)[0];
if (setting) { if (setting) {
await interaction.reply(`\`${key}\`: \`${setting.Value}\``); await interaction.reply(`\`${key.value}\`: \`${setting.Value}\``);
} else { } else {
await interaction.reply(`\`${key}\`: \`${DefaultValues.GetValue(key.value.toString())}\` <DEFAULT>`); var defaultValue = DefaultValues.GetValue(key.value.toString());
if (defaultValue) {
await interaction.reply(`\`${key.value}\`: \`${defaultValue}\` <DEFAULT>`);
} else {
await interaction.reply(`\`${key.value}\`: <NONE>`);
}
} }
} }

View file

@ -6,7 +6,7 @@ export default class Disable extends Command {
constructor() { constructor() {
super(); super();
super.CommandBuilder = new SlashCommandBuilder() this.CommandBuilder = new SlashCommandBuilder()
.setName('disable') .setName('disable')
.setDescription('Disables a command') .setDescription('Disables a command')
.setDefaultMemberPermissions(PermissionsBitField.Flags.Administrator) .setDefaultMemberPermissions(PermissionsBitField.Flags.Administrator)

View file

@ -6,7 +6,7 @@ export default class Ignore extends Command {
constructor() { constructor() {
super(); super();
super.CommandBuilder = new SlashCommandBuilder() this.CommandBuilder = new SlashCommandBuilder()
.setName('ignore') .setName('ignore')
.setDescription('Ignore events in this channel') .setDescription('Ignore events in this channel')
.setDefaultMemberPermissions(PermissionsBitField.Flags.Administrator); .setDefaultMemberPermissions(PermissionsBitField.Flags.Administrator);

View file

@ -9,7 +9,7 @@ export default class Kick extends Command {
constructor() { constructor() {
super(); super();
super.CommandBuilder = new SlashCommandBuilder() this.CommandBuilder = new SlashCommandBuilder()
.setName("kick") .setName("kick")
.setDescription("Kick a member from the server with an optional reason") .setDescription("Kick a member from the server with an optional reason")
.setDefaultMemberPermissions(PermissionsBitField.Flags.KickMembers) .setDefaultMemberPermissions(PermissionsBitField.Flags.KickMembers)
@ -44,6 +44,7 @@ export default class Kick extends Command {
.setColor(EmbedColours.Ok) .setColor(EmbedColours.Ok)
.setTitle("Member Kicked") .setTitle("Member Kicked")
.setDescription(`<@${targetUser.user.id}> \`${targetUser.user.tag}\``) .setDescription(`<@${targetUser.user.id}> \`${targetUser.user.tag}\``)
.setThumbnail(targetUser.user.avatarURL())
.addFields([ .addFields([
{ {
name: "Moderator", name: "Moderator",

30
src/commands/linkonly.ts Normal file
View file

@ -0,0 +1,30 @@
import { CommandInteraction, PermissionFlagsBits, SlashCommandBuilder } from "discord.js";
import { Command } from "../type/command";
import SettingsHelper from "../helpers/SettingsHelper";
export default class Linkonly extends Command {
constructor() {
super();
this.CommandBuilder = new SlashCommandBuilder()
.setName("linkonly")
.setDescription("Set the link only channel, leave blank to disable")
.setDefaultMemberPermissions(PermissionFlagsBits.ManageMessages)
.addChannelOption(x => x
.setName("channel")
.setDescription("The channel"));
}
public override async execute(interaction: CommandInteraction) {
if (!interaction.guild) return;
const channel = interaction.options.get("channel")?.channel;
const channelid = channel?.id ?? "";
const channelName = channel?.name ?? "<NONE>";
await SettingsHelper.SetSetting("channel.linkonly", interaction.guild.id, channelid);
await interaction.reply(`Set the link only channel to \`${channelName}\``);
}
}

View file

@ -9,7 +9,7 @@ export default class Mute extends Command {
constructor() { constructor() {
super(); super();
super.CommandBuilder = new SlashCommandBuilder() this.CommandBuilder = new SlashCommandBuilder()
.setName("mute") .setName("mute")
.setDescription("(DEPRECATED) Mute a member in the server with an optional reason") .setDescription("(DEPRECATED) Mute a member in the server with an optional reason")
.setDefaultMemberPermissions(PermissionsBitField.Flags.ModerateMembers) .setDefaultMemberPermissions(PermissionsBitField.Flags.ModerateMembers)
@ -42,6 +42,7 @@ export default class Mute extends Command {
.setColor(EmbedColours.Ok) .setColor(EmbedColours.Ok)
.setTitle("Member Muted") .setTitle("Member Muted")
.setDescription(`<@${targetUser.user.id}> \`${targetUser.user.tag}\``) .setDescription(`<@${targetUser.user.id}> \`${targetUser.user.tag}\``)
.setThumbnail(targetUser.user.avatarURL())
.addFields([ .addFields([
{ {
name: "Moderator", name: "Moderator",
@ -53,7 +54,14 @@ export default class Mute extends Command {
}, },
]); ]);
const mutedRole = interaction.guild.roles.cache.find(role => role.name == process.env.ROLES_MUTED); const mutedRoleName = await SettingsHelper.GetSetting('role.muted', interaction.guildId);
if (!mutedRoleName) {
await interaction.reply('Unable to find configuration. Please contact the bot author.');
return;
}
const mutedRole = interaction.guild.roles.cache.find(role => role.name == mutedRoleName);
if (!mutedRole) { if (!mutedRole) {
await interaction.reply('Muted role not found.'); await interaction.reply('Muted role not found.');

View file

@ -7,7 +7,7 @@ export default class Poll extends Command {
constructor() { constructor() {
super(); super();
super.CommandBuilder = new SlashCommandBuilder() this.CommandBuilder = new SlashCommandBuilder()
.setName('poll') .setName('poll')
.setDescription('Run a poll, automatically adding reaction emojis as options') .setDescription('Run a poll, automatically adding reaction emojis as options')
.addStringOption(option => .addStringOption(option =>

View file

@ -1,7 +1,8 @@
import { CommandInteraction, EmbedBuilder, PermissionsBitField, SlashCommandBuilder } from "discord.js"; import { ActionRowBuilder, ButtonBuilder, ButtonStyle, CommandInteraction, EmbedBuilder, PermissionsBitField, SlashCommandBuilder, TextChannel } from "discord.js";
import { existsSync, readFileSync } from "fs"; import { existsSync, readFileSync } from "fs";
import EmbedColours from "../constants/EmbedColours"; import EmbedColours from "../constants/EmbedColours";
import { Command } from "../type/command"; import { Command } from "../type/command";
import SettingsHelper from "../helpers/SettingsHelper";
interface IRules { interface IRules {
title?: string; title?: string;
@ -14,13 +15,36 @@ export default class Rules extends Command {
constructor() { constructor() {
super(); super();
super.CommandBuilder = new SlashCommandBuilder() this.CommandBuilder = new SlashCommandBuilder()
.setName("rules") .setName('rules')
.setDescription("Send the rules embeds for this server") .setDescription("Rules-related commands")
.setDefaultMemberPermissions(PermissionsBitField.Flags.Administrator); .setDefaultMemberPermissions(PermissionsBitField.Flags.Administrator)
.addSubcommand(x =>
x
.setName('embeds')
.setDescription('Send the rules embeds for this server'))
.addSubcommand(x =>
x
.setName('access')
.setDescription('Send the server verification embed button'));
} }
public override async execute(interaction: CommandInteraction) { public override async execute(interaction: CommandInteraction) {
if (!interaction.isChatInputCommand()) return;
switch (interaction.options.getSubcommand()) {
case "embeds":
await this.SendEmbeds(interaction);
break;
case "access":
await this.SendAccessButton(interaction);
break;
default:
await interaction.reply("Subcommand doesn't exist.");
}
}
private async SendEmbeds(interaction: CommandInteraction) {
if (!interaction.guildId) return; if (!interaction.guildId) return;
if (!existsSync(`${process.cwd()}/data/rules/${interaction.guildId}.json`)) { if (!existsSync(`${process.cwd()}/data/rules/${interaction.guildId}.json`)) {
@ -55,7 +79,7 @@ export default class Rules extends Command {
embeds.push(embed); embeds.push(embed);
}); });
const channel = interaction.channel; const channel = interaction.channel as TextChannel;
if (!channel) { if (!channel) {
await interaction.reply({ content: "Channel not found.", ephemeral: true }); await interaction.reply({ content: "Channel not found.", ephemeral: true });
@ -71,4 +95,29 @@ export default class Rules extends Command {
await interaction.reply({ embeds: [ successEmbed ], ephemeral: true }); await interaction.reply({ embeds: [ successEmbed ], ephemeral: true });
} }
private async SendAccessButton(interaction: CommandInteraction) {
if (!interaction.guildId) return;
const buttonLabel = await SettingsHelper.GetSetting("rules.access.label", interaction.guildId);
const row = new ActionRowBuilder<ButtonBuilder>()
.addComponents([
new ButtonBuilder()
.setCustomId('verify')
.setStyle(ButtonStyle.Primary)
.setLabel(buttonLabel || "Verify")
]);
const channel = interaction.channel as TextChannel;
await channel.send({
components: [ row ]
});
await interaction.reply({
content: "Success",
ephemeral: true,
});
}
} }

View file

@ -6,7 +6,7 @@ export default class Setup extends Command {
constructor() { constructor() {
super(); super();
super.CommandBuilder = new SlashCommandBuilder() this.CommandBuilder = new SlashCommandBuilder()
.setName('setup') .setName('setup')
.setDescription('Makes the server ready to be configured') .setDescription('Makes the server ready to be configured')
.setDefaultMemberPermissions(PermissionsBitField.Flags.Administrator); .setDefaultMemberPermissions(PermissionsBitField.Flags.Administrator);

View file

@ -10,7 +10,7 @@ export default class Timeout extends Command {
constructor() { constructor() {
super(); super();
super.CommandBuilder = new SlashCommandBuilder() this.CommandBuilder = new SlashCommandBuilder()
.setName("timeout") .setName("timeout")
.setDescription("Timeouts a user out, sending them a DM with the reason if possible") .setDescription("Timeouts a user out, sending them a DM with the reason if possible")
.setDefaultMemberPermissions(PermissionsBitField.Flags.ModerateMembers) .setDefaultMemberPermissions(PermissionsBitField.Flags.ModerateMembers)
@ -64,6 +64,7 @@ export default class Timeout extends Command {
.setColor(EmbedColours.Ok) .setColor(EmbedColours.Ok)
.setTitle("Member Timed Out") .setTitle("Member Timed Out")
.setDescription(`<@${targetUser.user.id}> \`${targetUser.user.tag}\``) .setDescription(`<@${targetUser.user.id}> \`${targetUser.user.tag}\``)
.setThumbnail(targetUser.user.avatarURL())
.addFields([ .addFields([
{ {
name: "Moderator", name: "Moderator",

View file

@ -7,7 +7,7 @@ export default class Unmute extends Command {
constructor() { constructor() {
super(); super();
super.CommandBuilder = new SlashCommandBuilder() this.CommandBuilder = new SlashCommandBuilder()
.setName("unmute") .setName("unmute")
.setDescription("(DEPRECATED) Unmute a member in the server with an optional reason") .setDescription("(DEPRECATED) Unmute a member in the server with an optional reason")
.setDefaultMemberPermissions(PermissionsBitField.Flags.ModerateMembers) .setDefaultMemberPermissions(PermissionsBitField.Flags.ModerateMembers)
@ -40,6 +40,7 @@ export default class Unmute extends Command {
.setColor(EmbedColours.Ok) .setColor(EmbedColours.Ok)
.setTitle("Member Unmuted") .setTitle("Member Unmuted")
.setDescription(`<@${targetUser.user.id}> \`${targetUser.user.tag}\``) .setDescription(`<@${targetUser.user.id}> \`${targetUser.user.tag}\``)
.setThumbnail(targetUser.user.avatarURL())
.addFields([ .addFields([
{ {
name: "Moderator", name: "Moderator",
@ -51,7 +52,14 @@ export default class Unmute extends Command {
}, },
]); ]);
const mutedRole = interaction.guild.roles.cache.find(role => role.name == process.env.ROLES_MUTED); const mutedRoleName = await SettingsHelper.GetSetting('role.muted', interaction.guildId);
if (!mutedRoleName) {
await interaction.reply('Unable to find configuration. Please contact the bot author.');
return;
}
const mutedRole = interaction.guild.roles.cache.find(role => role.name == mutedRoleName);
if (!mutedRole) { if (!mutedRole) {
await interaction.reply('Muted role not found.'); await interaction.reply('Muted role not found.');

View file

@ -9,7 +9,7 @@ export default class Warn extends Command {
constructor() { constructor() {
super(); super();
super.CommandBuilder = new SlashCommandBuilder() this.CommandBuilder = new SlashCommandBuilder()
.setName("warn") .setName("warn")
.setDescription("Warns a member in the server with an optional reason") .setDescription("Warns a member in the server with an optional reason")
.setDefaultMemberPermissions(PermissionsBitField.Flags.ModerateMembers) .setDefaultMemberPermissions(PermissionsBitField.Flags.ModerateMembers)
@ -41,6 +41,7 @@ export default class Warn extends Command {
.setColor(EmbedColours.Ok) .setColor(EmbedColours.Ok)
.setTitle("Member Warned") .setTitle("Member Warned")
.setDescription(`<@${targetUser.user.id}> \`${targetUser.user.tag}\``) .setDescription(`<@${targetUser.user.id}> \`${targetUser.user.tag}\``)
.setThumbnail(targetUser.user.avatarURL())
.addFields([ .addFields([
{ {
name: "Moderator", name: "Moderator",

View file

@ -31,6 +31,7 @@ export default class DefaultValues {
// Rules (Command) // Rules (Command)
this.values.push({ Key: "rules.file", Value: "data/rules/rules" }); this.values.push({ Key: "rules.file", Value: "data/rules/rules" });
this.values.push({ Key: "rules.access.label", Value: "Verify" });
// Channels // Channels
this.values.push({ Key: "channels.logs.message", Value: "message-logs" }); this.values.push({ Key: "channels.logs.message", Value: "message-logs" });
@ -43,6 +44,9 @@ export default class DefaultValues {
this.values.push({ Key: "verification.role", Value: "Entry" }); this.values.push({ Key: "verification.role", Value: "Entry" });
this.values.push({ Key: "verification.code", Value: "" }); this.values.push({ Key: "verification.code", Value: "" });
// Gif Only Mode
this.values.push({ Key: "channel.linkonly", Value: "" })
// Event // Event
this.values.push({ Key: "event.message.delete.enabled", Value: "false" }); this.values.push({ Key: "event.message.delete.enabled", Value: "false" });
this.values.push({ Key: "event.message.delete.channel", Value: "message-logs" }); this.values.push({ Key: "event.message.delete.channel", Value: "message-logs" });
@ -57,7 +61,7 @@ export default class DefaultValues {
this.values.push({ Key: "event.member.remove.channel", Value: "member-logs" }); this.values.push({ Key: "event.member.remove.channel", Value: "member-logs" });
this.values.push({ Key: "event.member.update.enabled", Value: "false" }); this.values.push({ Key: "event.member.update.enabled", Value: "false" });
this.values.push({ Key: "event.member.remove.channel", Value: "member-logs" }); this.values.push({ Key: "event.member.update.channel", Value: "member-logs" });
} }
} }

View file

@ -0,0 +1,8 @@
import { ButtonEvent } from "../type/buttonEvent";
interface ButtonEventItem {
ButtonId: string,
Event: ButtonEvent,
}
export default ButtonEventItem;

View file

@ -1,4 +1,4 @@
import { Entity, OneToMany } from "typeorm"; import { Column, Entity, OneToMany } from "typeorm";
import BaseEntity from "../../contracts/BaseEntity"; import BaseEntity from "../../contracts/BaseEntity";
import Role from "./Role"; import Role from "./Role";
import Setting from "./Setting"; import Setting from "./Setting";
@ -9,14 +9,22 @@ export default class Server extends BaseEntity {
super(); super();
this.Id = serverId; this.Id = serverId;
this.LastCached = new Date();
} }
@Column({ default: "2024-03-01 18:10:04" })
LastCached: Date;
@OneToMany(() => Setting, x => x.Server) @OneToMany(() => Setting, x => x.Server)
Settings: Setting[]; Settings: Setting[];
@OneToMany(() => Role, x => x.Server) @OneToMany(() => Role, x => x.Server)
Roles: Role[]; Roles: Role[];
public UpdateLastCached(lastCached: Date) {
this.LastCached = lastCached;
}
public AddSettingToServer(setting: Setting) { public AddSettingToServer(setting: Setting) {
this.Settings.push(setting); this.Settings.push(setting);
} }

View file

@ -0,0 +1,15 @@
import { MigrationInterface, QueryRunner } from "typeorm"
import MigrationHelper from "../../../helpers/MigrationHelper"
export class AddServerCacheDate1709316734401 implements MigrationInterface {
public async up(queryRunner: QueryRunner): Promise<void> {
MigrationHelper.Up('1709316734401-AddServerCacheDate', '3.2.1', [
"01-Server",
], queryRunner);
}
public async down(queryRunner: QueryRunner): Promise<void> {
}
}

View file

@ -1,10 +1,13 @@
import { EmbedBuilder, GuildMember, TextChannel } from "discord.js"; import { EmbedBuilder, GuildMember, TextChannel } from "discord.js";
import EmbedColours from "../../constants/EmbedColours"; import EmbedColours from "../../constants/EmbedColours";
import SettingsHelper from "../../helpers/SettingsHelper"; import SettingsHelper from "../../helpers/SettingsHelper";
import CacheHelper from "../../helpers/CacheHelper";
export default async function GuildMemberAdd(member: GuildMember) { export default async function GuildMemberAdd(member: GuildMember) {
if (!member.guild) return; if (!member.guild) return;
await CacheHelper.UpdateServerCache(member.guild);
const enabled = await SettingsHelper.GetSetting("event.member.add.enabled", member.guild.id); const enabled = await SettingsHelper.GetSetting("event.member.add.enabled", member.guild.id);
if (!enabled || enabled.toLowerCase() != "true") return; if (!enabled || enabled.toLowerCase() != "true") return;

View file

@ -1,10 +1,13 @@
import { EmbedBuilder, GuildMember, TextChannel } from "discord.js"; import { EmbedBuilder, GuildMember, TextChannel } from "discord.js";
import EmbedColours from "../../constants/EmbedColours"; import EmbedColours from "../../constants/EmbedColours";
import SettingsHelper from "../../helpers/SettingsHelper"; import SettingsHelper from "../../helpers/SettingsHelper";
import CacheHelper from "../../helpers/CacheHelper";
export default async function GuildMemberRemove(member: GuildMember) { export default async function GuildMemberRemove(member: GuildMember) {
if (!member.guild) return; if (!member.guild) return;
await CacheHelper.UpdateServerCache(member.guild);
const enabled = await SettingsHelper.GetSetting("event.member.remove.enabled", member.guild.id); const enabled = await SettingsHelper.GetSetting("event.member.remove.enabled", member.guild.id);
if (!enabled || enabled.toLowerCase() != "true") return; if (!enabled || enabled.toLowerCase() != "true") return;

View file

@ -1,8 +1,13 @@
import { GuildMember } from "discord.js"; import { GuildMember } from "discord.js";
import NicknameChanged from "./GuildMemberUpdate/NicknameChanged"; import NicknameChanged from "./GuildMemberUpdate/NicknameChanged";
import CacheHelper from "../../helpers/CacheHelper";
export default async function GuildMemberUpdate(oldMember: GuildMember, newMember: GuildMember) { export default async function GuildMemberUpdate(oldMember: GuildMember, newMember: GuildMember) {
if (oldMember.nickname != newMember.nickname) { // Nickname change const updatedFromCache = await CacheHelper.UpdateServerCache(newMember.guild);
if (updatedFromCache) return;
if (oldMember.nickname !== newMember.nickname) { // Nickname change
await NicknameChanged(oldMember, newMember); await NicknameChanged(oldMember, newMember);
} }
} }

View file

@ -1,11 +1,17 @@
import { Message } from "discord.js"; import { Message } from "discord.js";
import SettingsHelper from "../../helpers/SettingsHelper"; import SettingsHelper from "../../helpers/SettingsHelper";
import VerificationCheck from "./MessageCreate/VerificationCheck"; import VerificationCheck from "./MessageCreate/VerificationCheck";
import CacheHelper from "../../helpers/CacheHelper";
import LinkOnlyMode from "./MessageCreate/LinkOnlyMode";
export default async function MessageCreate(message: Message) { export default async function MessageCreate(message: Message) {
if (!message.guild) return; if (!message.guild) return;
if (message.author.bot) return; if (message.author.bot) return;
await CacheHelper.UpdateServerCache(message.guild);
await LinkOnlyMode(message);
const isVerificationEnabled = await SettingsHelper.GetSetting("verification.enabled", message.guild.id); const isVerificationEnabled = await SettingsHelper.GetSetting("verification.enabled", message.guild.id);
if (isVerificationEnabled && isVerificationEnabled.toLocaleLowerCase() == "true") { if (isVerificationEnabled && isVerificationEnabled.toLocaleLowerCase() == "true") {

View file

@ -0,0 +1,20 @@
import { Message } from "discord.js";
import SettingsHelper from "../../../helpers/SettingsHelper";
export default async function LinkOnlyMode(message: Message) {
if (!message.guild) return;
const gifOnlyMode = await SettingsHelper.GetSetting("channel.linkonly", message.guild.id);
if (!gifOnlyMode) return;
const channel = message.guild.channels.cache.find(x => x.id == gifOnlyMode) || message.guild.channels.fetch(gifOnlyMode);
if (!channel) return;
if (message.content.startsWith("https://") || message.content.startsWith("http://")) return;
if (!message.deletable) return;
await message.delete();
}

View file

@ -2,11 +2,14 @@ import { EmbedBuilder, Message, TextChannel } from "discord.js";
import EmbedColours from "../../constants/EmbedColours"; import EmbedColours from "../../constants/EmbedColours";
import IgnoredChannel from "../../database/entities/IgnoredChannel"; import IgnoredChannel from "../../database/entities/IgnoredChannel";
import SettingsHelper from "../../helpers/SettingsHelper"; import SettingsHelper from "../../helpers/SettingsHelper";
import CacheHelper from "../../helpers/CacheHelper";
export default async function MessageDelete(message: Message) { export default async function MessageDelete(message: Message) {
if (!message.guild) return; if (!message.guild) return;
if (message.author.bot) return; if (message.author.bot) return;
await CacheHelper.UpdateServerCache(message.guild);
const enabled = await SettingsHelper.GetSetting("event.message.delete.enabled", message.guild.id); const enabled = await SettingsHelper.GetSetting("event.message.delete.enabled", message.guild.id);
if (!enabled || enabled.toLowerCase() != "true") return; if (!enabled || enabled.toLowerCase() != "true") return;
@ -33,8 +36,8 @@ export default async function MessageDelete(message: Message) {
if (message.attachments.size > 0) { if (message.attachments.size > 0) {
embed.addFields([ embed.addFields([
{ {
name: "Attachments", name: `Attachments (${message.attachments.size})`,
value: `\`\`\`${message.attachments.map(x => x.url).join("\n")}\`\`\`` value: `\`\`\`${message.attachments.map(x => x.name).join("\n")}\`\`\``
} }
]); ]);
} }

View file

@ -2,10 +2,14 @@ import { EmbedBuilder, Message, TextChannel } from "discord.js";
import EmbedColours from "../../constants/EmbedColours"; import EmbedColours from "../../constants/EmbedColours";
import IgnoredChannel from "../../database/entities/IgnoredChannel"; import IgnoredChannel from "../../database/entities/IgnoredChannel";
import SettingsHelper from "../../helpers/SettingsHelper"; import SettingsHelper from "../../helpers/SettingsHelper";
import CacheHelper from "../../helpers/CacheHelper";
export default async function MessageUpdate(oldMessage: Message, newMessage: Message) { export default async function MessageUpdate(oldMessage: Message, newMessage: Message) {
if (!newMessage.guild) return; if (!newMessage.guild) return;
if (newMessage.author.bot) return; if (newMessage.author.bot) return;
await CacheHelper.UpdateServerCache(newMessage.guild);
if (oldMessage.content == newMessage.content) return; if (oldMessage.content == newMessage.content) return;
const enabled = await SettingsHelper.GetSetting("event.message.update.enabled", newMessage.guild.id); const enabled = await SettingsHelper.GetSetting("event.message.update.enabled", newMessage.guild.id);

View file

@ -0,0 +1,33 @@
import { Guild } from "discord.js";
import Server from "../database/entities/Server";
export default class CacheHelper {
public static async UpdateServerCache(guild: Guild): Promise<boolean> {
const cacheInterval = process.env.CACHE_INTERVAL;
if (!cacheInterval) return false;
let server = await Server.FetchOneById(Server, guild.id);
if (!server) {
server = new Server(guild.id);
await server.Save(Server, server);
await CacheHelper.UpdateCache(guild);
return true;
} else if (server.LastCached.getTime() + Number(cacheInterval) > Date.now()) {
await CacheHelper.UpdateCache(guild);
return true;
}
return false;
}
private static async UpdateCache(guild: Guild) {
console.log(`Updating cache for ${guild.name} (${guild.id})`);
await guild.members.fetch();
}
}

View file

@ -12,6 +12,7 @@ import Config from "./commands/config";
import Disable from "./commands/disable"; import Disable from "./commands/disable";
import Ignore from "./commands/ignore"; import Ignore from "./commands/ignore";
import Kick from "./commands/kick"; import Kick from "./commands/kick";
import Linkonly from "./commands/linkonly";
import Mute from "./commands/mute"; import Mute from "./commands/mute";
import Poll from "./commands/poll"; import Poll from "./commands/poll";
import Role from "./commands/Role/role"; import Role from "./commands/Role/role";
@ -37,6 +38,9 @@ import MessageDelete from "./events/MessageEvents/MessageDelete";
import MessageUpdate from "./events/MessageEvents/MessageUpdate"; import MessageUpdate from "./events/MessageEvents/MessageUpdate";
import MessageCreate from "./events/MessageEvents/MessageCreate"; import MessageCreate from "./events/MessageEvents/MessageCreate";
// Button Event Imports
import Verify from "./buttonEvents/verify";
export default class Registry { export default class Registry {
public static RegisterCommands() { public static RegisterCommands() {
CoreClient.RegisterCommand("about", new About()); CoreClient.RegisterCommand("about", new About());
@ -49,6 +53,7 @@ export default class Registry {
CoreClient.RegisterCommand("disable", new Disable()); CoreClient.RegisterCommand("disable", new Disable());
CoreClient.RegisterCommand("ignore", new Ignore()); CoreClient.RegisterCommand("ignore", new Ignore());
CoreClient.RegisterCommand("kick", new Kick()); CoreClient.RegisterCommand("kick", new Kick());
CoreClient.RegisterCommand("linkonly", new Linkonly());
CoreClient.RegisterCommand("mute", new Mute()); CoreClient.RegisterCommand("mute", new Mute());
CoreClient.RegisterCommand("poll", new Poll()); CoreClient.RegisterCommand("poll", new Poll());
CoreClient.RegisterCommand("rules", new Rules()); CoreClient.RegisterCommand("rules", new Rules());
@ -84,4 +89,8 @@ export default class Registry {
CoreClient.RegisterEvent(EventType.MessageUpdate, MessageUpdate); CoreClient.RegisterEvent(EventType.MessageUpdate, MessageUpdate);
CoreClient.RegisterEvent(EventType.MessageCreate, MessageCreate); CoreClient.RegisterEvent(EventType.MessageCreate, MessageCreate);
} }
public static RegisterButtonEvents() {
CoreClient.RegisterButtonEvent("verify", new Verify());
}
} }

5
src/type/buttonEvent.ts Normal file
View file

@ -0,0 +1,5 @@
import { ButtonInteraction } from "discord.js";
export abstract class ButtonEvent {
abstract execute(interaction: ButtonInteraction): Promise<void>;
}

View file

@ -1,7 +1,7 @@
import { CoreClient } from "./client/client"; import { CoreClient } from "./client/client";
import * as dotenv from "dotenv"; import * as dotenv from "dotenv";
import registry from "./registry"; import registry from "./registry";
import { IntentsBitField } from "discord.js"; import { IntentsBitField, Partials } from "discord.js";
dotenv.config(); dotenv.config();
@ -30,9 +30,13 @@ const client = new CoreClient([
IntentsBitField.Flags.GuildMessages, IntentsBitField.Flags.GuildMessages,
IntentsBitField.Flags.GuildMembers, IntentsBitField.Flags.GuildMembers,
IntentsBitField.Flags.MessageContent, IntentsBitField.Flags.MessageContent,
], [
Partials.GuildMember,
Partials.User,
]); ]);
registry.RegisterCommands(); registry.RegisterCommands();
registry.RegisterEvents(); registry.RegisterEvents();
registry.RegisterButtonEvents();
client.start(); client.start();

4246
yarn.lock

File diff suppressed because it is too large Load diff