diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index e88f064..35cbca1 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -34,9 +34,9 @@ jobs:
uses: docker/setup-qemu-action@v1
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- - name: Login to DockerHub
+ - name: Login to GHCR
if: github.event_name != 'pull_request' && (startsWith(github.ref, 'refs/tags/') || github.ref == 'refs/heads/master')
- uses: docker/login-action@v1
+ uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..46fbe56
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2021 The 17th Shard (17thshard.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..619810b
--- /dev/null
+++ b/README.md
@@ -0,0 +1,21 @@
+# harmony
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Harmony is the [17th Shard](https://17thshard.com)'s Discord bot for miscellaneous tasks. Its features currently are:
+ * Message filtering based on regex filters or simple word matches
+ * Automatic publishing of messages in announcement channels
+ * Automatic adding of certain role members to new threads in a channel
+ * Command for getting the raw source of a message
+ * Command that helps with embedding spoiler attachments on all devices (mostly obsolete with the recent mobile updates)
diff --git a/package-lock.json b/package-lock.json
index f04a570..206387b 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -236,9 +236,6 @@
"dev": true,
"engines": {
"node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/@humanwhocodes/config-array": {
@@ -311,9 +308,6 @@
"integrity": "sha512-VkE3KLBmJwcCaVARtQpfuKcKv8gcBmUubrfHGF84dXuuW6jgsRYxPtzcIhPyK9WAPpRt2/xY6zkD9MnRaJzSyw==",
"engines": {
"node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sindresorhus/is?sponsor=1"
}
},
"node_modules/@szmarczak/http-timer": {
@@ -432,19 +426,6 @@
},
"engines": {
"node": "^10.12.0 || >=12.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "@typescript-eslint/parser": "^4.0.0",
- "eslint": "^5.0.0 || ^6.0.0 || ^7.0.0"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
}
},
"node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": {
@@ -477,13 +458,6 @@
},
"engines": {
"node": "^10.12.0 || >=12.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "eslint": "*"
}
},
"node_modules/@typescript-eslint/parser": {
@@ -499,18 +473,6 @@
},
"engines": {
"node": "^10.12.0 || >=12.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "eslint": "^5.0.0 || ^6.0.0 || ^7.0.0"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
}
},
"node_modules/@typescript-eslint/scope-manager": {
@@ -524,10 +486,6 @@
},
"engines": {
"node": "^8.10.0 || ^10.13.0 || >=11.10.1"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
}
},
"node_modules/@typescript-eslint/types": {
@@ -537,10 +495,6 @@
"dev": true,
"engines": {
"node": "^8.10.0 || ^10.13.0 || >=11.10.1"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
}
},
"node_modules/@typescript-eslint/typescript-estree": {
@@ -559,15 +513,6 @@
},
"engines": {
"node": "^10.12.0 || >=12.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
}
},
"node_modules/@typescript-eslint/typescript-estree/node_modules/semver": {
@@ -596,10 +541,6 @@
},
"engines": {
"node": "^8.10.0 || ^10.13.0 || >=11.10.1"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
}
},
"node_modules/abbrev": {
@@ -624,10 +565,7 @@
"version": "5.3.2",
"resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
"integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
- "dev": true,
- "peerDependencies": {
- "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
- }
+ "dev": true
},
"node_modules/acorn-walk": {
"version": "8.2.0",
@@ -648,10 +586,6 @@
"fast-json-stable-stringify": "^2.0.0",
"json-schema-traverse": "^0.4.1",
"uri-js": "^4.2.2"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/epoberezkin"
}
},
"node_modules/ansi-align": {
@@ -691,9 +625,6 @@
},
"engines": {
"node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
"node_modules/anymatch": {
@@ -784,9 +715,6 @@
},
"engines": {
"node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/boxen/node_modules/type-fest": {
@@ -796,9 +724,6 @@
"dev": true,
"engines": {
"node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/brace-expansion": {
@@ -851,9 +776,6 @@
},
"engines": {
"node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/cacheable-request/node_modules/json-buffer": {
@@ -895,9 +817,6 @@
"dev": true,
"engines": {
"node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/chalk": {
@@ -911,9 +830,6 @@
},
"engines": {
"node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
}
},
"node_modules/chalk/node_modules/supports-color": {
@@ -962,9 +878,6 @@
"dev": true,
"engines": {
"node": ">=6"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/cliui": {
@@ -1166,10 +1079,6 @@
"dev": true,
"engines": {
"node": ">=0.11"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/date-fns"
}
},
"node_modules/debug": {
@@ -1181,11 +1090,6 @@
},
"engines": {
"node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
}
},
"node_modules/decompress-response": {
@@ -1299,9 +1203,6 @@
},
"engines": {
"node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/duplexer3": {
@@ -1367,9 +1268,6 @@
"dev": true,
"engines": {
"node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/eslint": {
@@ -1424,9 +1322,6 @@
},
"engines": {
"node": "^10.12.0 || >=12.0.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
}
},
"node_modules/eslint-scope": {
@@ -1452,12 +1347,6 @@
},
"engines": {
"node": "^10.0.0 || ^12.0.0 || >= 14.0.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/mysticatea"
- },
- "peerDependencies": {
- "eslint": ">=5"
}
},
"node_modules/eslint-visitor-keys": {
@@ -1479,9 +1368,6 @@
},
"engines": {
"node": ">=6"
- },
- "funding": {
- "url": "https://github.com/sponsors/mysticatea"
}
},
"node_modules/eslint/node_modules/eslint-utils/node_modules/eslint-visitor-keys": {
@@ -1524,9 +1410,6 @@
"dev": true,
"engines": {
"node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/espree": {
@@ -1767,7 +1650,6 @@
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
"integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
"dev": true,
- "hasInstallScript": true,
"optional": true,
"os": [
"darwin"
@@ -1818,9 +1700,6 @@
},
"engines": {
"node": "*"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
}
},
"node_modules/glob-parent": {
@@ -1845,9 +1724,6 @@
},
"engines": {
"node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/globals": {
@@ -1860,9 +1736,6 @@
},
"engines": {
"node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/globals/node_modules/type-fest": {
@@ -1872,9 +1745,6 @@
"dev": true,
"engines": {
"node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/globby": {
@@ -1892,9 +1762,6 @@
},
"engines": {
"node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/got": {
@@ -1983,9 +1850,6 @@
},
"engines": {
"node": ">=6"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/import-lazy": {
@@ -2100,9 +1964,6 @@
},
"engines": {
"node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/is-npm": {
@@ -2112,9 +1973,6 @@
"dev": true,
"engines": {
"node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/is-number": {
@@ -2149,9 +2007,6 @@
"integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
"engines": {
"node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/is-typedarray": {
@@ -2217,7 +2072,7 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
"integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
- "optionalDependencies": {
+ "dependencies": {
"graceful-fs": "^4.1.6"
}
},
@@ -2346,9 +2201,6 @@
},
"engines": {
"node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/make-dir/node_modules/semver": {
@@ -2472,7 +2324,6 @@
"resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.13.tgz",
"integrity": "sha512-UMXMpsZsv1UXUttCn6gv8eQPhn6DR4BW+txnL3IN5IHqrCwcrT/yWHfL35UsClGXknTH79r5xbu+6J1zNHuSyA==",
"dev": true,
- "hasInstallScript": true,
"dependencies": {
"chokidar": "^3.2.2",
"debug": "^3.2.6",
@@ -2490,10 +2341,6 @@
},
"engines": {
"node": ">=8.10.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/nodemon"
}
},
"node_modules/nodemon/node_modules/debug": {
@@ -2536,9 +2383,6 @@
},
"bin": {
"nopt": "bin/nopt.js"
- },
- "engines": {
- "node": "*"
}
},
"node_modules/normalize-path": {
@@ -2607,9 +2451,6 @@
},
"engines": {
"node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/p-cancelable": {
@@ -2691,9 +2532,6 @@
"dev": true,
"engines": {
"node": ">=8.6"
- },
- "funding": {
- "url": "https://github.com/sponsors/jonschlinkert"
}
},
"node_modules/prelude-ls": {
@@ -2769,21 +2607,7 @@
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
"integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ]
+ "dev": true
},
"node_modules/rc": {
"version": "1.2.8",
@@ -2838,9 +2662,6 @@
"dev": true,
"engines": {
"node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/mysticatea"
}
},
"node_modules/registry-auth-token": {
@@ -2923,9 +2744,6 @@
},
"bin": {
"rimraf": "bin.js"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
}
},
"node_modules/run-parallel": {
@@ -2933,20 +2751,6 @@
"resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
"integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
"dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
"dependencies": {
"queue-microtask": "^1.2.2"
}
@@ -2972,21 +2776,7 @@
"node_modules/safe-buffer": {
"version": "5.2.1",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
- "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ]
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="
},
"node_modules/safe-stable-stringify": {
"version": "1.1.1",
@@ -3092,9 +2882,6 @@
},
"engines": {
"node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/slice-ansi?sponsor=1"
}
},
"node_modules/spawn-command": {
@@ -3170,9 +2957,6 @@
},
"engines": {
"node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/supports-color?sponsor=1"
}
},
"node_modules/table": {
@@ -3202,10 +2986,6 @@
"json-schema-traverse": "^1.0.0",
"require-from-string": "^2.0.2",
"uri-js": "^4.2.2"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/epoberezkin"
}
},
"node_modules/table/node_modules/json-schema-traverse": {
@@ -3310,20 +3090,6 @@
},
"engines": {
"node": ">=12.0.0"
- },
- "peerDependencies": {
- "@swc/core": ">=1.2.50",
- "@swc/wasm": ">=1.2.50",
- "@types/node": "*",
- "typescript": ">=2.7"
- },
- "peerDependenciesMeta": {
- "@swc/core": {
- "optional": true
- },
- "@swc/wasm": {
- "optional": true
- }
}
},
"node_modules/tslib": {
@@ -3341,9 +3107,6 @@
},
"engines": {
"node": ">= 6"
- },
- "peerDependencies": {
- "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta"
}
},
"node_modules/tsutils/node_modules/tslib": {
@@ -3370,9 +3133,6 @@
"integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==",
"engines": {
"node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/typedarray-to-buffer": {
@@ -3464,9 +3224,6 @@
},
"engines": {
"node": ">=10"
- },
- "funding": {
- "url": "https://github.com/yeoman/update-notifier?sponsor=1"
}
},
"node_modules/update-notifier/node_modules/semver": {
@@ -3644,9 +3401,6 @@
},
"engines": {
"node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
}
},
"node_modules/wrappy": {
@@ -3673,18 +3427,6 @@
"integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==",
"engines": {
"node": ">=10.0.0"
- },
- "peerDependencies": {
- "bufferutil": "^4.0.1",
- "utf-8-validate": "^5.0.2"
- },
- "peerDependenciesMeta": {
- "bufferutil": {
- "optional": true
- },
- "utf-8-validate": {
- "optional": true
- }
}
},
"node_modules/xdg-basedir": {
@@ -4186,8 +3928,7 @@
"version": "5.3.2",
"resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
"integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
- "dev": true,
- "requires": {}
+ "dev": true
},
"acorn-walk": {
"version": "8.2.0",
@@ -6517,8 +6258,7 @@
"ws": {
"version": "8.2.3",
"resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz",
- "integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==",
- "requires": {}
+ "integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA=="
},
"xdg-basedir": {
"version": "4.0.0",
diff --git a/package.json b/package.json
index b260e66..0b3fec3 100644
--- a/package.json
+++ b/package.json
@@ -27,9 +27,9 @@
"author": "Marvin Rösch",
"license": "MIT",
"bugs": {
- "url": "https://github.com/PaleoCrafter/harmony/issues"
+ "url": "https://github.com/Palanaeum/harmony/issues"
},
- "homepage": "https://github.com/PaleoCrafter/harmony#readme",
+ "homepage": "https://github.com/Palanaeum/harmony#readme",
"dependencies": {
"discord.js": "^13.3.1",
"keyv": "^4.0.3",