blockmine 1.0.1 → 1.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/backend/cli.js +1 -1
- package/backend/package.json +13 -0
- package/backend/src/core/PluginManager.js +59 -44
- package/backend/src/server.js +6 -4
- package/frontend/dist/assets/{index-Dh-PcVh1.js → index-DjU4Tk7J.js} +226 -226
- package/frontend/dist/index.html +1 -1
- package/frontend/dist/monacoeditorwork/css.worker.bundle.js +77 -77
- package/frontend/dist/monacoeditorwork/editor.worker.bundle.js +76 -76
- package/frontend/dist/monacoeditorwork/html.worker.bundle.js +77 -77
- package/frontend/dist/monacoeditorwork/json.worker.bundle.js +77 -77
- package/frontend/dist/monacoeditorwork/ts.worker.bundle.js +77 -77
- package/frontend/package.json +65 -0
- package/image/1.png +0 -0
- package/image/2.png +0 -0
- package/image/3.png +0 -0
- package/image/logo.png +0 -0
- package/package.json +7 -20
- package/tailwind.config.js +0 -0
- package/vite.config.js +0 -0
- package/backend/.env +0 -7
- package/backend/node_modules/.bin/blockminejs +0 -16
- package/backend/node_modules/.bin/blockminejs.cmd +0 -17
- package/backend/node_modules/.bin/blockminejs.ps1 +0 -28
- package/backend/node_modules/.bin/nodemon +0 -16
- package/backend/node_modules/.bin/nodemon.cmd +0 -17
- package/backend/node_modules/.bin/nodemon.ps1 +0 -28
- package/backend/node_modules/.bin/nodetouch +0 -16
- package/backend/node_modules/.bin/nodetouch.cmd +0 -17
- package/backend/node_modules/.bin/nodetouch.ps1 +0 -28
- package/backend/node_modules/.bin/prisma +0 -16
- package/backend/node_modules/.bin/prisma.cmd +0 -17
- package/backend/node_modules/.bin/prisma.ps1 +0 -28
- package/backend/node_modules/.cache/prisma/master/605197351a3c8bdd595af2d2a9bc3025bca48ea2/windows/libquery-engine +0 -0
- package/backend/node_modules/.cache/prisma/master/605197351a3c8bdd595af2d2a9bc3025bca48ea2/windows/libquery-engine.gz.sha256 +0 -1
- package/backend/node_modules/.cache/prisma/master/605197351a3c8bdd595af2d2a9bc3025bca48ea2/windows/libquery-engine.sha256 +0 -1
- package/backend/node_modules/.cache/prisma/master/605197351a3c8bdd595af2d2a9bc3025bca48ea2/windows/schema-engine +0 -0
- package/backend/node_modules/.cache/prisma/master/605197351a3c8bdd595af2d2a9bc3025bca48ea2/windows/schema-engine.gz.sha256 +0 -1
- package/backend/node_modules/.cache/prisma/master/605197351a3c8bdd595af2d2a9bc3025bca48ea2/windows/schema-engine.sha256 +0 -1
- package/backend/node_modules/.cache/prisma/master/81e4af48011447c3cc503a190e86995b66d2a28e/windows/libquery-engine +0 -0
- package/backend/node_modules/.cache/prisma/master/81e4af48011447c3cc503a190e86995b66d2a28e/windows/libquery-engine.gz.sha256 +0 -1
- package/backend/node_modules/.cache/prisma/master/81e4af48011447c3cc503a190e86995b66d2a28e/windows/libquery-engine.sha256 +0 -1
- package/backend/node_modules/.cache/prisma/master/81e4af48011447c3cc503a190e86995b66d2a28e/windows/schema-engine +0 -0
- package/backend/node_modules/.cache/prisma/master/81e4af48011447c3cc503a190e86995b66d2a28e/windows/schema-engine.gz.sha256 +0 -1
- package/backend/node_modules/.cache/prisma/master/81e4af48011447c3cc503a190e86995b66d2a28e/windows/schema-engine.sha256 +0 -1
- package/backend/node_modules/.package-lock.json +0 -2521
- package/backend/node_modules/.prisma/client/client.d.ts +0 -1
- package/backend/node_modules/.prisma/client/client.js +0 -4
- package/backend/node_modules/.prisma/client/default.d.ts +0 -1
- package/backend/node_modules/.prisma/client/default.js +0 -1
- package/backend/node_modules/.prisma/client/deno/edge.d.ts +0 -9
- package/backend/node_modules/.prisma/client/edge.d.ts +0 -1
- package/backend/node_modules/.prisma/client/edge.js +0 -263
- package/backend/node_modules/.prisma/client/index-browser.js +0 -258
- package/backend/node_modules/.prisma/client/index.d.ts +0 -15548
- package/backend/node_modules/.prisma/client/index.js +0 -286
- package/backend/node_modules/.prisma/client/package.json +0 -97
- package/backend/node_modules/.prisma/client/query_engine-windows.dll.node +0 -0
- package/backend/node_modules/.prisma/client/query_engine-windows.dll.node.tmp14264 +0 -0
- package/backend/node_modules/.prisma/client/query_engine-windows.dll.node.tmp18496 +0 -0
- package/backend/node_modules/.prisma/client/query_engine-windows.dll.node.tmp24408 +0 -0
- package/backend/node_modules/.prisma/client/schema.prisma +0 -136
- package/backend/node_modules/.prisma/client/wasm.d.ts +0 -1
- package/backend/node_modules/.prisma/client/wasm.js +0 -258
- package/backend/node_modules/@prisma/debug/LICENSE +0 -201
- package/backend/node_modules/@prisma/debug/README.md +0 -29
- package/backend/node_modules/@prisma/debug/dist/index.d.ts +0 -35
- package/backend/node_modules/@prisma/debug/dist/index.js +0 -236
- package/backend/node_modules/@prisma/debug/dist/util.d.ts +0 -2
- package/backend/node_modules/@prisma/debug/dist/util.js +0 -74
- package/backend/node_modules/@prisma/debug/package.json +0 -37
- package/backend/node_modules/@prisma/engines/LICENSE +0 -201
- package/backend/node_modules/@prisma/engines/README.md +0 -13
- package/backend/node_modules/@prisma/engines/dist/index.d.ts +0 -18
- package/backend/node_modules/@prisma/engines/dist/index.js +0 -113
- package/backend/node_modules/@prisma/engines/dist/scripts/localinstall.d.ts +0 -1
- package/backend/node_modules/@prisma/engines/dist/scripts/localinstall.js +0 -2048
- package/backend/node_modules/@prisma/engines/dist/scripts/postinstall.d.ts +0 -1
- package/backend/node_modules/@prisma/engines/dist/scripts/postinstall.js +0 -128
- package/backend/node_modules/@prisma/engines/node_modules/.cache/prisma/master/605197351a3c8bdd595af2d2a9bc3025bca48ea2/windows/libquery-engine +0 -0
- package/backend/node_modules/@prisma/engines/node_modules/.cache/prisma/master/605197351a3c8bdd595af2d2a9bc3025bca48ea2/windows/libquery-engine.gz.sha256 +0 -1
- package/backend/node_modules/@prisma/engines/node_modules/.cache/prisma/master/605197351a3c8bdd595af2d2a9bc3025bca48ea2/windows/libquery-engine.sha256 +0 -1
- package/backend/node_modules/@prisma/engines/node_modules/.cache/prisma/master/605197351a3c8bdd595af2d2a9bc3025bca48ea2/windows/schema-engine +0 -0
- package/backend/node_modules/@prisma/engines/node_modules/.cache/prisma/master/605197351a3c8bdd595af2d2a9bc3025bca48ea2/windows/schema-engine.gz.sha256 +0 -1
- package/backend/node_modules/@prisma/engines/node_modules/.cache/prisma/master/605197351a3c8bdd595af2d2a9bc3025bca48ea2/windows/schema-engine.sha256 +0 -1
- package/backend/node_modules/@prisma/engines/package.json +0 -41
- package/backend/node_modules/@prisma/engines/query_engine-windows.dll.node +0 -0
- package/backend/node_modules/@prisma/engines/schema-engine-windows.exe +0 -0
- package/backend/node_modules/@prisma/engines/scripts/postinstall.js +0 -28
- package/backend/node_modules/@prisma/engines-version/LICENSE +0 -201
- package/backend/node_modules/@prisma/engines-version/README.md +0 -8
- package/backend/node_modules/@prisma/engines-version/index.d.ts +0 -1
- package/backend/node_modules/@prisma/engines-version/index.js +0 -5
- package/backend/node_modules/@prisma/engines-version/package.json +0 -27
- package/backend/node_modules/@prisma/fetch-engine/LICENSE +0 -201
- package/backend/node_modules/@prisma/fetch-engine/README.md +0 -8
- package/backend/node_modules/@prisma/fetch-engine/dist/BinaryType.d.ts +0 -5
- package/backend/node_modules/@prisma/fetch-engine/dist/BinaryType.js +0 -25
- package/backend/node_modules/@prisma/fetch-engine/dist/chmodPlusX.d.ts +0 -1
- package/backend/node_modules/@prisma/fetch-engine/dist/chmodPlusX.js +0 -25
- package/backend/node_modules/@prisma/fetch-engine/dist/chunk-2BCLJS3M.js +0 -2385
- package/backend/node_modules/@prisma/fetch-engine/dist/chunk-4LX3XBNY.js +0 -161
- package/backend/node_modules/@prisma/fetch-engine/dist/chunk-AH6QHEOA.js +0 -66
- package/backend/node_modules/@prisma/fetch-engine/dist/chunk-CWGQAQ3T.js +0 -49
- package/backend/node_modules/@prisma/fetch-engine/dist/chunk-FQ2BOR66.js +0 -2457
- package/backend/node_modules/@prisma/fetch-engine/dist/chunk-KDPLGCY6.js +0 -1404
- package/backend/node_modules/@prisma/fetch-engine/dist/chunk-KJ74H3SQ.js +0 -2385
- package/backend/node_modules/@prisma/fetch-engine/dist/chunk-MX3HXAU2.js +0 -44
- package/backend/node_modules/@prisma/fetch-engine/dist/chunk-PXQVM7NP.js +0 -159
- package/backend/node_modules/@prisma/fetch-engine/dist/chunk-QLWYUM7O.js +0 -8153
- package/backend/node_modules/@prisma/fetch-engine/dist/chunk-QSTZGX47.js +0 -70
- package/backend/node_modules/@prisma/fetch-engine/dist/chunk-RGVHWUUH.js +0 -2786
- package/backend/node_modules/@prisma/fetch-engine/dist/chunk-VTJS2JJN.js +0 -4232
- package/backend/node_modules/@prisma/fetch-engine/dist/chunk-X37PZICB.js +0 -29
- package/backend/node_modules/@prisma/fetch-engine/dist/cleanupCache.d.ts +0 -1
- package/backend/node_modules/@prisma/fetch-engine/dist/cleanupCache.js +0 -28
- package/backend/node_modules/@prisma/fetch-engine/dist/download.d.ts +0 -27
- package/backend/node_modules/@prisma/fetch-engine/dist/download.js +0 -41
- package/backend/node_modules/@prisma/fetch-engine/dist/downloadZip.d.ts +0 -6
- package/backend/node_modules/@prisma/fetch-engine/dist/downloadZip.js +0 -30
- package/backend/node_modules/@prisma/fetch-engine/dist/env.d.ts +0 -14
- package/backend/node_modules/@prisma/fetch-engine/dist/env.js +0 -29
- package/backend/node_modules/@prisma/fetch-engine/dist/getHash.d.ts +0 -1
- package/backend/node_modules/@prisma/fetch-engine/dist/getHash.js +0 -25
- package/backend/node_modules/@prisma/fetch-engine/dist/getProxyAgent.d.ts +0 -3
- package/backend/node_modules/@prisma/fetch-engine/dist/getProxyAgent.js +0 -25
- package/backend/node_modules/@prisma/fetch-engine/dist/index.d.ts +0 -5
- package/backend/node_modules/@prisma/fetch-engine/dist/index.js +0 -49
- package/backend/node_modules/@prisma/fetch-engine/dist/log.d.ts +0 -2
- package/backend/node_modules/@prisma/fetch-engine/dist/log.js +0 -25
- package/backend/node_modules/@prisma/fetch-engine/dist/multipart-parser-47FFAP42.js +0 -371
- package/backend/node_modules/@prisma/fetch-engine/dist/utils.d.ts +0 -11
- package/backend/node_modules/@prisma/fetch-engine/dist/utils.js +0 -29
- package/backend/node_modules/@prisma/fetch-engine/package.json +0 -59
- package/backend/node_modules/@prisma/get-platform/LICENSE +0 -201
- package/backend/node_modules/@prisma/get-platform/README.md +0 -16
- package/backend/node_modules/@prisma/get-platform/dist/assertNodeAPISupported.d.ts +0 -4
- package/backend/node_modules/@prisma/get-platform/dist/assertNodeAPISupported.js +0 -25
- package/backend/node_modules/@prisma/get-platform/dist/binaryTargets.d.ts +0 -2
- package/backend/node_modules/@prisma/get-platform/dist/binaryTargets.js +0 -26
- package/backend/node_modules/@prisma/get-platform/dist/chunk-2ESYSVXG.js +0 -67
- package/backend/node_modules/@prisma/get-platform/dist/chunk-2U36ISZO.js +0 -34
- package/backend/node_modules/@prisma/get-platform/dist/chunk-6HZWON4S.js +0 -1
- package/backend/node_modules/@prisma/get-platform/dist/chunk-7MLUNQIZ.js +0 -62
- package/backend/node_modules/@prisma/get-platform/dist/chunk-B23KD6U3.js +0 -53
- package/backend/node_modules/@prisma/get-platform/dist/chunk-D7S5FGQN.js +0 -367
- package/backend/node_modules/@prisma/get-platform/dist/chunk-FWMN4WME.js +0 -41
- package/backend/node_modules/@prisma/get-platform/dist/chunk-M5NKJZ76.js +0 -14956
- package/backend/node_modules/@prisma/get-platform/dist/chunk-O5EOXX3N.js +0 -43
- package/backend/node_modules/@prisma/get-platform/dist/chunk-YDM7ULQH.js +0 -580
- package/backend/node_modules/@prisma/get-platform/dist/chunk-YVXCXD3A.js +0 -70
- package/backend/node_modules/@prisma/get-platform/dist/getNodeAPIName.d.ts +0 -8
- package/backend/node_modules/@prisma/get-platform/dist/getNodeAPIName.js +0 -25
- package/backend/node_modules/@prisma/get-platform/dist/getPlatform.d.ts +0 -105
- package/backend/node_modules/@prisma/get-platform/dist/getPlatform.js +0 -38
- package/backend/node_modules/@prisma/get-platform/dist/index.d.ts +0 -7
- package/backend/node_modules/@prisma/get-platform/dist/index.js +0 -43
- package/backend/node_modules/@prisma/get-platform/dist/link.d.ts +0 -1
- package/backend/node_modules/@prisma/get-platform/dist/link.js +0 -26
- package/backend/node_modules/@prisma/get-platform/dist/logger.d.ts +0 -8
- package/backend/node_modules/@prisma/get-platform/dist/logger.js +0 -29
- package/backend/node_modules/@prisma/get-platform/dist/test-utils/binaryTargetRegex.d.ts +0 -8
- package/backend/node_modules/@prisma/get-platform/dist/test-utils/binaryTargetRegex.js +0 -27
- package/backend/node_modules/@prisma/get-platform/dist/test-utils/index.d.ts +0 -1
- package/backend/node_modules/@prisma/get-platform/dist/test-utils/index.js +0 -28
- package/backend/node_modules/@prisma/get-platform/dist/test-utils/jestContext.d.ts +0 -108
- package/backend/node_modules/@prisma/get-platform/dist/test-utils/jestContext.js +0 -27
- package/backend/node_modules/@prisma/get-platform/dist/test-utils/jestSnapshotSerializer.js +0 -205
- package/backend/node_modules/@prisma/get-platform/package.json +0 -49
- package/backend/node_modules/anymatch/LICENSE +0 -15
- package/backend/node_modules/anymatch/README.md +0 -87
- package/backend/node_modules/anymatch/index.d.ts +0 -20
- package/backend/node_modules/anymatch/index.js +0 -104
- package/backend/node_modules/anymatch/package.json +0 -48
- package/backend/node_modules/binary-extensions/binary-extensions.json +0 -263
- package/backend/node_modules/binary-extensions/binary-extensions.json.d.ts +0 -3
- package/backend/node_modules/binary-extensions/index.d.ts +0 -14
- package/backend/node_modules/binary-extensions/index.js +0 -1
- package/backend/node_modules/binary-extensions/license +0 -10
- package/backend/node_modules/binary-extensions/package.json +0 -40
- package/backend/node_modules/binary-extensions/readme.md +0 -25
- package/backend/node_modules/brace-expansion/LICENSE +0 -21
- package/backend/node_modules/brace-expansion/README.md +0 -129
- package/backend/node_modules/brace-expansion/index.js +0 -201
- package/backend/node_modules/brace-expansion/package.json +0 -47
- package/backend/node_modules/braces/LICENSE +0 -21
- package/backend/node_modules/braces/README.md +0 -586
- package/backend/node_modules/braces/index.js +0 -170
- package/backend/node_modules/braces/lib/compile.js +0 -60
- package/backend/node_modules/braces/lib/constants.js +0 -57
- package/backend/node_modules/braces/lib/expand.js +0 -113
- package/backend/node_modules/braces/lib/parse.js +0 -331
- package/backend/node_modules/braces/lib/stringify.js +0 -32
- package/backend/node_modules/braces/lib/utils.js +0 -122
- package/backend/node_modules/braces/package.json +0 -77
- package/backend/node_modules/chokidar/LICENSE +0 -21
- package/backend/node_modules/chokidar/README.md +0 -308
- package/backend/node_modules/chokidar/index.js +0 -973
- package/backend/node_modules/chokidar/lib/constants.js +0 -66
- package/backend/node_modules/chokidar/lib/fsevents-handler.js +0 -526
- package/backend/node_modules/chokidar/lib/nodefs-handler.js +0 -654
- package/backend/node_modules/chokidar/package.json +0 -70
- package/backend/node_modules/chokidar/types/index.d.ts +0 -192
- package/backend/node_modules/concat-map/.travis.yml +0 -4
- package/backend/node_modules/concat-map/LICENSE +0 -18
- package/backend/node_modules/concat-map/README.markdown +0 -62
- package/backend/node_modules/concat-map/example/map.js +0 -6
- package/backend/node_modules/concat-map/index.js +0 -13
- package/backend/node_modules/concat-map/package.json +0 -43
- package/backend/node_modules/concat-map/test/map.js +0 -39
- package/backend/node_modules/debug/LICENSE +0 -20
- package/backend/node_modules/debug/README.md +0 -481
- package/backend/node_modules/debug/package.json +0 -64
- package/backend/node_modules/debug/src/browser.js +0 -272
- package/backend/node_modules/debug/src/common.js +0 -292
- package/backend/node_modules/debug/src/index.js +0 -10
- package/backend/node_modules/debug/src/node.js +0 -263
- package/backend/node_modules/fill-range/LICENSE +0 -21
- package/backend/node_modules/fill-range/README.md +0 -237
- package/backend/node_modules/fill-range/index.js +0 -248
- package/backend/node_modules/fill-range/package.json +0 -74
- package/backend/node_modules/glob-parent/CHANGELOG.md +0 -110
- package/backend/node_modules/glob-parent/LICENSE +0 -15
- package/backend/node_modules/glob-parent/README.md +0 -137
- package/backend/node_modules/glob-parent/index.js +0 -42
- package/backend/node_modules/glob-parent/package.json +0 -48
- package/backend/node_modules/has-flag/index.js +0 -8
- package/backend/node_modules/has-flag/license +0 -9
- package/backend/node_modules/has-flag/package.json +0 -44
- package/backend/node_modules/has-flag/readme.md +0 -70
- package/backend/node_modules/ignore-by-default/LICENSE +0 -14
- package/backend/node_modules/ignore-by-default/README.md +0 -26
- package/backend/node_modules/ignore-by-default/index.js +0 -12
- package/backend/node_modules/ignore-by-default/package.json +0 -34
- package/backend/node_modules/is-binary-path/index.d.ts +0 -17
- package/backend/node_modules/is-binary-path/index.js +0 -7
- package/backend/node_modules/is-binary-path/license +0 -9
- package/backend/node_modules/is-binary-path/package.json +0 -40
- package/backend/node_modules/is-binary-path/readme.md +0 -34
- package/backend/node_modules/is-extglob/LICENSE +0 -21
- package/backend/node_modules/is-extglob/README.md +0 -107
- package/backend/node_modules/is-extglob/index.js +0 -20
- package/backend/node_modules/is-extglob/package.json +0 -69
- package/backend/node_modules/is-glob/LICENSE +0 -21
- package/backend/node_modules/is-glob/README.md +0 -206
- package/backend/node_modules/is-glob/index.js +0 -150
- package/backend/node_modules/is-glob/package.json +0 -81
- package/backend/node_modules/is-number/LICENSE +0 -21
- package/backend/node_modules/is-number/README.md +0 -187
- package/backend/node_modules/is-number/index.js +0 -18
- package/backend/node_modules/is-number/package.json +0 -82
- package/backend/node_modules/minimatch/LICENSE +0 -15
- package/backend/node_modules/minimatch/README.md +0 -230
- package/backend/node_modules/minimatch/minimatch.js +0 -947
- package/backend/node_modules/minimatch/package.json +0 -33
- package/backend/node_modules/ms/index.js +0 -162
- package/backend/node_modules/ms/license.md +0 -21
- package/backend/node_modules/ms/package.json +0 -38
- package/backend/node_modules/ms/readme.md +0 -59
- package/backend/node_modules/nodemon/.prettierrc.json +0 -3
- package/backend/node_modules/nodemon/LICENSE +0 -21
- package/backend/node_modules/nodemon/README.md +0 -441
- package/backend/node_modules/nodemon/bin/nodemon.js +0 -16
- package/backend/node_modules/nodemon/bin/windows-kill.exe +0 -0
- package/backend/node_modules/nodemon/doc/cli/authors.txt +0 -8
- package/backend/node_modules/nodemon/doc/cli/config.txt +0 -44
- package/backend/node_modules/nodemon/doc/cli/help.txt +0 -29
- package/backend/node_modules/nodemon/doc/cli/logo.txt +0 -20
- package/backend/node_modules/nodemon/doc/cli/options.txt +0 -36
- package/backend/node_modules/nodemon/doc/cli/topics.txt +0 -8
- package/backend/node_modules/nodemon/doc/cli/usage.txt +0 -3
- package/backend/node_modules/nodemon/doc/cli/whoami.txt +0 -9
- package/backend/node_modules/nodemon/index.d.ts +0 -125
- package/backend/node_modules/nodemon/jsconfig.json +0 -7
- package/backend/node_modules/nodemon/lib/cli/index.js +0 -49
- package/backend/node_modules/nodemon/lib/cli/parse.js +0 -230
- package/backend/node_modules/nodemon/lib/config/command.js +0 -43
- package/backend/node_modules/nodemon/lib/config/defaults.js +0 -34
- package/backend/node_modules/nodemon/lib/config/exec.js +0 -234
- package/backend/node_modules/nodemon/lib/config/index.js +0 -93
- package/backend/node_modules/nodemon/lib/config/load.js +0 -225
- package/backend/node_modules/nodemon/lib/help/index.js +0 -27
- package/backend/node_modules/nodemon/lib/index.js +0 -1
- package/backend/node_modules/nodemon/lib/monitor/index.js +0 -4
- package/backend/node_modules/nodemon/lib/monitor/match.js +0 -287
- package/backend/node_modules/nodemon/lib/monitor/run.js +0 -562
- package/backend/node_modules/nodemon/lib/monitor/signals.js +0 -34
- package/backend/node_modules/nodemon/lib/monitor/watch.js +0 -244
- package/backend/node_modules/nodemon/lib/nodemon.js +0 -317
- package/backend/node_modules/nodemon/lib/rules/add.js +0 -89
- package/backend/node_modules/nodemon/lib/rules/index.js +0 -53
- package/backend/node_modules/nodemon/lib/rules/parse.js +0 -43
- package/backend/node_modules/nodemon/lib/spawn.js +0 -74
- package/backend/node_modules/nodemon/lib/utils/bus.js +0 -44
- package/backend/node_modules/nodemon/lib/utils/clone.js +0 -40
- package/backend/node_modules/nodemon/lib/utils/colour.js +0 -26
- package/backend/node_modules/nodemon/lib/utils/index.js +0 -103
- package/backend/node_modules/nodemon/lib/utils/log.js +0 -82
- package/backend/node_modules/nodemon/lib/utils/merge.js +0 -47
- package/backend/node_modules/nodemon/lib/version.js +0 -100
- package/backend/node_modules/nodemon/package.json +0 -75
- package/backend/node_modules/picomatch/CHANGELOG.md +0 -136
- package/backend/node_modules/picomatch/LICENSE +0 -21
- package/backend/node_modules/picomatch/README.md +0 -708
- package/backend/node_modules/picomatch/index.js +0 -3
- package/backend/node_modules/picomatch/lib/constants.js +0 -179
- package/backend/node_modules/picomatch/lib/parse.js +0 -1091
- package/backend/node_modules/picomatch/lib/picomatch.js +0 -342
- package/backend/node_modules/picomatch/lib/scan.js +0 -391
- package/backend/node_modules/picomatch/lib/utils.js +0 -64
- package/backend/node_modules/picomatch/package.json +0 -81
- package/backend/node_modules/prisma/LICENSE +0 -201
- package/backend/node_modules/prisma/README.md +0 -84
- package/backend/node_modules/prisma/build/child.js +0 -82915
- package/backend/node_modules/prisma/build/index.js +0 -2591
- package/backend/node_modules/prisma/build/prisma_schema_build_bg.wasm +0 -0
- package/backend/node_modules/prisma/build/public/assets/alert.60ea9f84.svg +0 -5
- package/backend/node_modules/prisma/build/public/assets/array.1a36c222.svg +0 -4
- package/backend/node_modules/prisma/build/public/assets/boolean.9188b434.svg +0 -4
- package/backend/node_modules/prisma/build/public/assets/chevron-down.24f76e3c.svg +0 -3
- package/backend/node_modules/prisma/build/public/assets/cross.c2610cf5.svg +0 -11
- package/backend/node_modules/prisma/build/public/assets/datetime.a3bf710a.svg +0 -4
- package/backend/node_modules/prisma/build/public/assets/download.8d34b65a.svg +0 -4
- package/backend/node_modules/prisma/build/public/assets/ellipsis.a8c5a34a.svg +0 -10
- package/backend/node_modules/prisma/build/public/assets/enum.7ec0b64c.svg +0 -6
- package/backend/node_modules/prisma/build/public/assets/folder.d77b8eaf.svg +0 -6
- package/backend/node_modules/prisma/build/public/assets/hamburger.5fdadeac.svg +0 -4
- package/backend/node_modules/prisma/build/public/assets/index.js +0 -1
- package/backend/node_modules/prisma/build/public/assets/inter-all-400-normal.4c1f8a0d.woff +0 -0
- package/backend/node_modules/prisma/build/public/assets/inter-all-600-normal.d0a7c8a9.woff +0 -0
- package/backend/node_modules/prisma/build/public/assets/inter-cyrillic-400-normal.ac97a49e.woff2 +0 -0
- package/backend/node_modules/prisma/build/public/assets/inter-cyrillic-600-normal.2c917f10.woff2 +0 -0
- package/backend/node_modules/prisma/build/public/assets/inter-cyrillic-ext-400-normal.f21a6a97.woff2 +0 -0
- package/backend/node_modules/prisma/build/public/assets/inter-cyrillic-ext-600-normal.bb31f197.woff2 +0 -0
- package/backend/node_modules/prisma/build/public/assets/inter-greek-400-normal.e9163df8.woff2 +0 -0
- package/backend/node_modules/prisma/build/public/assets/inter-greek-600-normal.e644d70f.woff2 +0 -0
- package/backend/node_modules/prisma/build/public/assets/inter-greek-ext-400-normal.43addcc8.woff2 +0 -0
- package/backend/node_modules/prisma/build/public/assets/inter-greek-ext-600-normal.7f437016.woff2 +0 -0
- package/backend/node_modules/prisma/build/public/assets/inter-latin-400-normal.27ae72da.woff2 +0 -0
- package/backend/node_modules/prisma/build/public/assets/inter-latin-600-normal.87d718a2.woff2 +0 -0
- package/backend/node_modules/prisma/build/public/assets/inter-latin-ext-400-normal.5b02c69a.woff2 +0 -0
- package/backend/node_modules/prisma/build/public/assets/inter-latin-ext-600-normal.88feb9e4.woff2 +0 -0
- package/backend/node_modules/prisma/build/public/assets/inter-vietnamese-600-normal.8185dacd.woff2 +0 -0
- package/backend/node_modules/prisma/build/public/assets/jetbrains-mono-all-400-normal.f86807b7.woff +0 -0
- package/backend/node_modules/prisma/build/public/assets/jetbrains-mono-cyrillic-400-normal.1ae57fe2.woff2 +0 -0
- package/backend/node_modules/prisma/build/public/assets/jetbrains-mono-latin-400-normal.80a5dc9e.woff2 +0 -0
- package/backend/node_modules/prisma/build/public/assets/jetbrains-mono-latin-ext-400-normal.6315c53c.woff2 +0 -0
- package/backend/node_modules/prisma/build/public/assets/logotype.a960b169.svg +0 -4
- package/backend/node_modules/prisma/build/public/assets/number.85ddf96b.svg +0 -7
- package/backend/node_modules/prisma/build/public/assets/object.0ba944a6.svg +0 -5
- package/backend/node_modules/prisma/build/public/assets/play.8811691e.svg +0 -6
- package/backend/node_modules/prisma/build/public/assets/plus.8fbf7ad3.svg +0 -4
- package/backend/node_modules/prisma/build/public/assets/refresh.d5448ccc.svg +0 -4
- package/backend/node_modules/prisma/build/public/assets/search.2ed766ce.svg +0 -7
- package/backend/node_modules/prisma/build/public/assets/settings.5ad25af2.svg +0 -8
- package/backend/node_modules/prisma/build/public/assets/string.ea615a24.svg +0 -4
- package/backend/node_modules/prisma/build/public/assets/tick-indeterminate.aec8a44d.svg +0 -3
- package/backend/node_modules/prisma/build/public/assets/tick.8cbb6a93.svg +0 -4
- package/backend/node_modules/prisma/build/public/assets/vendor.js +0 -385
- package/backend/node_modules/prisma/build/public/favicon.svg +0 -5
- package/backend/node_modules/prisma/build/public/http/databrowser.js +0 -1
- package/backend/node_modules/prisma/build/public/http/splash.js +0 -1
- package/backend/node_modules/prisma/build/public/icon-1024.png +0 -0
- package/backend/node_modules/prisma/build/public/index.css +0 -1
- package/backend/node_modules/prisma/build/public/pages/http/databrowser.html +0 -21
- package/backend/node_modules/prisma/build/public/pages/http/splash.html +0 -21
- package/backend/node_modules/prisma/build/xdg-open +0 -1066
- package/backend/node_modules/prisma/package.json +0 -136
- package/backend/node_modules/prisma/preinstall/index.js +0 -7
- package/backend/node_modules/prisma/prisma-client/README.md +0 -27
- package/backend/node_modules/prisma/prisma-client/default.d.ts +0 -1
- package/backend/node_modules/prisma/prisma-client/default.js +0 -3
- package/backend/node_modules/prisma/prisma-client/edge.d.ts +0 -1
- package/backend/node_modules/prisma/prisma-client/edge.js +0 -4
- package/backend/node_modules/prisma/prisma-client/extension.d.ts +0 -1
- package/backend/node_modules/prisma/prisma-client/extension.js +0 -4
- package/backend/node_modules/prisma/prisma-client/generator-build/index.js +0 -10351
- package/backend/node_modules/prisma/prisma-client/index-browser.js +0 -3
- package/backend/node_modules/prisma/prisma-client/index.d.ts +0 -1
- package/backend/node_modules/prisma/prisma-client/index.js +0 -4
- package/backend/node_modules/prisma/prisma-client/package.json +0 -281
- package/backend/node_modules/prisma/prisma-client/react-native.d.ts +0 -1
- package/backend/node_modules/prisma/prisma-client/react-native.js +0 -3
- package/backend/node_modules/prisma/prisma-client/runtime/binary.d.ts +0 -1
- package/backend/node_modules/prisma/prisma-client/runtime/binary.js +0 -210
- package/backend/node_modules/prisma/prisma-client/runtime/edge-esm.js +0 -31
- package/backend/node_modules/prisma/prisma-client/runtime/edge.js +0 -31
- package/backend/node_modules/prisma/prisma-client/runtime/index-browser.d.ts +0 -365
- package/backend/node_modules/prisma/prisma-client/runtime/index-browser.js +0 -13
- package/backend/node_modules/prisma/prisma-client/runtime/library.d.ts +0 -3403
- package/backend/node_modules/prisma/prisma-client/runtime/library.js +0 -143
- package/backend/node_modules/prisma/prisma-client/runtime/query_engine_bg.mysql.js +0 -2
- package/backend/node_modules/prisma/prisma-client/runtime/query_engine_bg.postgresql.js +0 -2
- package/backend/node_modules/prisma/prisma-client/runtime/query_engine_bg.sqlite.js +0 -2
- package/backend/node_modules/prisma/prisma-client/runtime/react-native.d.ts +0 -3403
- package/backend/node_modules/prisma/prisma-client/runtime/react-native.js +0 -80
- package/backend/node_modules/prisma/prisma-client/scripts/colors.js +0 -176
- package/backend/node_modules/prisma/prisma-client/scripts/default-deno-edge.ts +0 -9
- package/backend/node_modules/prisma/prisma-client/scripts/default-index.d.ts +0 -110
- package/backend/node_modules/prisma/prisma-client/scripts/default-index.js +0 -65
- package/backend/node_modules/prisma/prisma-client/scripts/postinstall.d.ts +0 -5
- package/backend/node_modules/prisma/prisma-client/scripts/postinstall.js +0 -410
- package/backend/node_modules/prisma/prisma-client/sql.d.ts +0 -1
- package/backend/node_modules/prisma/prisma-client/sql.js +0 -4
- package/backend/node_modules/prisma/prisma-client/sql.mjs +0 -1
- package/backend/node_modules/prisma/query_engine-windows.dll.node +0 -0
- package/backend/node_modules/prisma/scripts/preinstall-entry.js +0 -10
- package/backend/node_modules/pstree.remy/.travis.yml +0 -8
- package/backend/node_modules/pstree.remy/LICENSE +0 -7
- package/backend/node_modules/pstree.remy/README.md +0 -26
- package/backend/node_modules/pstree.remy/lib/index.js +0 -37
- package/backend/node_modules/pstree.remy/lib/tree.js +0 -37
- package/backend/node_modules/pstree.remy/lib/utils.js +0 -53
- package/backend/node_modules/pstree.remy/package.json +0 -33
- package/backend/node_modules/pstree.remy/tests/fixtures/index.js +0 -13
- package/backend/node_modules/pstree.remy/tests/fixtures/out1 +0 -10
- package/backend/node_modules/pstree.remy/tests/fixtures/out2 +0 -29
- package/backend/node_modules/pstree.remy/tests/index.test.js +0 -51
- package/backend/node_modules/readdirp/LICENSE +0 -21
- package/backend/node_modules/readdirp/README.md +0 -122
- package/backend/node_modules/readdirp/index.d.ts +0 -43
- package/backend/node_modules/readdirp/index.js +0 -287
- package/backend/node_modules/readdirp/package.json +0 -122
- package/backend/node_modules/simple-update-notifier/LICENSE +0 -21
- package/backend/node_modules/simple-update-notifier/README.md +0 -82
- package/backend/node_modules/simple-update-notifier/build/index.d.ts +0 -13
- package/backend/node_modules/simple-update-notifier/build/index.js +0 -210
- package/backend/node_modules/simple-update-notifier/package.json +0 -100
- package/backend/node_modules/simple-update-notifier/src/borderedText.ts +0 -12
- package/backend/node_modules/simple-update-notifier/src/cache.spec.ts +0 -17
- package/backend/node_modules/simple-update-notifier/src/cache.ts +0 -44
- package/backend/node_modules/simple-update-notifier/src/getDistVersion.spec.ts +0 -35
- package/backend/node_modules/simple-update-notifier/src/getDistVersion.ts +0 -29
- package/backend/node_modules/simple-update-notifier/src/hasNewVersion.spec.ts +0 -82
- package/backend/node_modules/simple-update-notifier/src/hasNewVersion.ts +0 -40
- package/backend/node_modules/simple-update-notifier/src/index.spec.ts +0 -27
- package/backend/node_modules/simple-update-notifier/src/index.ts +0 -34
- package/backend/node_modules/simple-update-notifier/src/isNpmOrYarn.ts +0 -12
- package/backend/node_modules/simple-update-notifier/src/types.ts +0 -8
- package/backend/node_modules/supports-color/browser.js +0 -5
- package/backend/node_modules/supports-color/index.js +0 -131
- package/backend/node_modules/supports-color/license +0 -9
- package/backend/node_modules/supports-color/package.json +0 -53
- package/backend/node_modules/supports-color/readme.md +0 -66
- package/backend/node_modules/to-regex-range/LICENSE +0 -21
- package/backend/node_modules/to-regex-range/README.md +0 -305
- package/backend/node_modules/to-regex-range/index.js +0 -288
- package/backend/node_modules/to-regex-range/package.json +0 -88
- package/backend/node_modules/touch/LICENSE +0 -15
- package/backend/node_modules/touch/README.md +0 -52
- package/backend/node_modules/touch/bin/nodetouch.js +0 -112
- package/backend/node_modules/touch/index.js +0 -224
- package/backend/node_modules/touch/package.json +0 -25
- package/backend/node_modules/undefsafe/.github/workflows/release.yml +0 -25
- package/backend/node_modules/undefsafe/.jscsrc +0 -13
- package/backend/node_modules/undefsafe/.jshintrc +0 -16
- package/backend/node_modules/undefsafe/.travis.yml +0 -18
- package/backend/node_modules/undefsafe/LICENSE +0 -22
- package/backend/node_modules/undefsafe/README.md +0 -63
- package/backend/node_modules/undefsafe/example.js +0 -14
- package/backend/node_modules/undefsafe/lib/undefsafe.js +0 -125
- package/backend/node_modules/undefsafe/package.json +0 -34
- package/backend/prisma/dev.db +0 -0
- package/backend/storage/plugins/bot_1/anti-tp-keksik/index.js +0 -59
- package/backend/storage/plugins/bot_1/anti-tp-keksik/package.json +0 -23
- package/backend/storage/plugins/bot_1/auth-keksik-servers/index.js +0 -66
- package/backend/storage/plugins/bot_1/auth-keksik-servers/package.json +0 -20
- package/backend/storage/plugins/bot_1/clan-events-keksik/README.md +0 -81
- package/backend/storage/plugins/bot_1/clan-events-keksik/index.js +0 -46
- package/backend/storage/plugins/bot_1/clan-events-keksik/package.json +0 -14
- package/backend/storage/plugins/bot_1/clan-role-manager/README.md +0 -64
- package/backend/storage/plugins/bot_1/clan-role-manager/index.js +0 -98
- package/backend/storage/plugins/bot_1/clan-role-manager/package.json +0 -13
- package/backend/storage/plugins/bot_1/clan-welcome/index.js +0 -32
- package/backend/storage/plugins/bot_1/clan-welcome/package.json +0 -22
- package/backend/storage/plugins/bot_1/parser-keksik/LICENSE.md +0 -12
- package/backend/storage/plugins/bot_1/parser-keksik/README.md +0 -65
- package/backend/storage/plugins/bot_1/parser-keksik/index.js +0 -135
- package/backend/storage/plugins/bot_1/parser-keksik/package.json +0 -40
- package/backend/storage/plugins/bot_1/unlock-auth-keksik/index.js +0 -35
- package/backend/storage/plugins/bot_1/unlock-auth-keksik/package.json +0 -18
- package/backend/storage/plugins/bot_2/parser-keksik/LICENSE.md +0 -12
- package/backend/storage/plugins/bot_2/parser-keksik/README.md +0 -65
- package/backend/storage/plugins/bot_2/parser-keksik/index.js +0 -135
- package/backend/storage/plugins/bot_2/parser-keksik/package.json +0 -40
- package/backend/storage/plugins/bot_3/auth-keksik-servers/index.js +0 -66
- package/backend/storage/plugins/bot_3/auth-keksik-servers/package.json +0 -20
- package/backend/storage/plugins/bot_3/clan-events-keksik/README.md +0 -81
- package/backend/storage/plugins/bot_3/clan-events-keksik/index.js +0 -46
- package/backend/storage/plugins/bot_3/clan-events-keksik/package.json +0 -14
- package/backend/storage/plugins/bot_3/clan-welcome/index.js +0 -32
- package/backend/storage/plugins/bot_3/clan-welcome/package.json +0 -22
- package/backend/storage/plugins/bot_3/parser-keksik/LICENSE.md +0 -12
- package/backend/storage/plugins/bot_3/parser-keksik/README.md +0 -65
- package/backend/storage/plugins/bot_3/parser-keksik/index.js +0 -135
- package/backend/storage/plugins/bot_3/parser-keksik/package.json +0 -40
- package/backend/storage/plugins/bot_4/fly-keksik/index.js +0 -111
- package/backend/storage/plugins/bot_4/fly-keksik/package.json +0 -59
- package/backend/storage/plugins/bot_4/parser-keksik/LICENSE.md +0 -12
- package/backend/storage/plugins/bot_4/parser-keksik/README.md +0 -65
- package/backend/storage/plugins/bot_4/parser-keksik/index.js +0 -135
- package/backend/storage/plugins/bot_4/parser-keksik/package.json +0 -40
- package/backend/storage/plugins/bot_5/auth-keksik-servers/index.js +0 -66
- package/backend/storage/plugins/bot_5/auth-keksik-servers/package.json +0 -20
- package/backend/storage/plugins/bot_5/parser-keksik/LICENSE.md +0 -12
- package/backend/storage/plugins/bot_5/parser-keksik/README.md +0 -65
- package/backend/storage/plugins/bot_5/parser-keksik/index.js +0 -117
- package/backend/storage/plugins/bot_5/parser-keksik/package.json +0 -40
- package/backend/storage/plugins/bot_6/clan-events-keksik/README.md +0 -81
- package/backend/storage/plugins/bot_6/clan-events-keksik/index.js +0 -46
- package/backend/storage/plugins/bot_6/clan-events-keksik/package.json +0 -14
- package/backend/storage/plugins/bot_6/clan-welcome/index.js +0 -32
- package/backend/storage/plugins/bot_6/clan-welcome/package.json +0 -22
- package/backend/storage/plugins/bot_6/parser-keksik/LICENSE.md +0 -12
- package/backend/storage/plugins/bot_6/parser-keksik/README.md +0 -65
- package/backend/storage/plugins/bot_6/parser-keksik/index.js +0 -135
- package/backend/storage/plugins/bot_6/parser-keksik/package.json +0 -40
|
@@ -1,125 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
function undefsafe(obj, path, value, __res) {
|
|
4
|
-
// I'm not super keen on this private function, but it's because
|
|
5
|
-
// it'll also be use in the browser and I wont *one* function exposed
|
|
6
|
-
function split(path) {
|
|
7
|
-
var res = [];
|
|
8
|
-
var level = 0;
|
|
9
|
-
var key = '';
|
|
10
|
-
|
|
11
|
-
for (var i = 0; i < path.length; i++) {
|
|
12
|
-
var c = path.substr(i, 1);
|
|
13
|
-
|
|
14
|
-
if (level === 0 && (c === '.' || c === '[')) {
|
|
15
|
-
if (c === '[') {
|
|
16
|
-
level++;
|
|
17
|
-
i++;
|
|
18
|
-
c = path.substr(i, 1);
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
if (key) {
|
|
22
|
-
// the first value could be a string
|
|
23
|
-
res.push(key);
|
|
24
|
-
}
|
|
25
|
-
key = '';
|
|
26
|
-
continue;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
if (c === ']') {
|
|
30
|
-
level--;
|
|
31
|
-
key = key.slice(0, -1);
|
|
32
|
-
continue;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
key += c;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
res.push(key);
|
|
39
|
-
|
|
40
|
-
return res;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
// bail if there's nothing
|
|
44
|
-
if (obj === undefined || obj === null) {
|
|
45
|
-
return undefined;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
var parts = split(path);
|
|
49
|
-
var key = null;
|
|
50
|
-
var type = typeof obj;
|
|
51
|
-
var root = obj;
|
|
52
|
-
var parent = obj;
|
|
53
|
-
|
|
54
|
-
var star =
|
|
55
|
-
parts.filter(function(_) {
|
|
56
|
-
return _ === '*';
|
|
57
|
-
}).length > 0;
|
|
58
|
-
|
|
59
|
-
// we're dealing with a primitive
|
|
60
|
-
if (type !== 'object' && type !== 'function') {
|
|
61
|
-
return obj;
|
|
62
|
-
} else if (path.trim() === '') {
|
|
63
|
-
return obj;
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
key = parts[0];
|
|
67
|
-
var i = 0;
|
|
68
|
-
for (; i < parts.length; i++) {
|
|
69
|
-
key = parts[i];
|
|
70
|
-
parent = obj;
|
|
71
|
-
|
|
72
|
-
if (key === '*') {
|
|
73
|
-
// loop through each property
|
|
74
|
-
var prop = '';
|
|
75
|
-
var res = __res || [];
|
|
76
|
-
|
|
77
|
-
for (prop in parent) {
|
|
78
|
-
var shallowObj = undefsafe(
|
|
79
|
-
obj[prop],
|
|
80
|
-
parts.slice(i + 1).join('.'),
|
|
81
|
-
value,
|
|
82
|
-
res
|
|
83
|
-
);
|
|
84
|
-
if (shallowObj && shallowObj !== res) {
|
|
85
|
-
if ((value && shallowObj === value) || value === undefined) {
|
|
86
|
-
if (value !== undefined) {
|
|
87
|
-
return shallowObj;
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
res.push(shallowObj);
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
if (res.length === 0) {
|
|
96
|
-
return undefined;
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
return res;
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
if (Object.getOwnPropertyNames(obj).indexOf(key) == -1) {
|
|
103
|
-
return undefined;
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
obj = obj[key];
|
|
107
|
-
if (obj === undefined || obj === null) {
|
|
108
|
-
break;
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
// if we have a null object, make sure it's the one the user was after,
|
|
113
|
-
// if it's not (i.e. parts has a length) then give undefined back.
|
|
114
|
-
if (obj === null && i !== parts.length - 1) {
|
|
115
|
-
obj = undefined;
|
|
116
|
-
} else if (!star && value) {
|
|
117
|
-
key = path.split('.').pop();
|
|
118
|
-
parent[key] = value;
|
|
119
|
-
}
|
|
120
|
-
return obj;
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
if (typeof module !== 'undefined') {
|
|
124
|
-
module.exports = undefsafe;
|
|
125
|
-
}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "undefsafe",
|
|
3
|
-
"description": "Undefined safe way of extracting object properties",
|
|
4
|
-
"main": "lib/undefsafe.js",
|
|
5
|
-
"tonicExampleFilename": "example.js",
|
|
6
|
-
"directories": {
|
|
7
|
-
"test": "test"
|
|
8
|
-
},
|
|
9
|
-
"scripts": {
|
|
10
|
-
"test": "tap test/**/*.test.js -R spec",
|
|
11
|
-
"cover": "tap test/*.test.js --cov --coverage-report=lcov",
|
|
12
|
-
"semantic-release": "semantic-release"
|
|
13
|
-
},
|
|
14
|
-
"prettier": {
|
|
15
|
-
"trailingComma": "none",
|
|
16
|
-
"singleQuote": true
|
|
17
|
-
},
|
|
18
|
-
"repository": {
|
|
19
|
-
"type": "git",
|
|
20
|
-
"url": "https://github.com/remy/undefsafe.git"
|
|
21
|
-
},
|
|
22
|
-
"keywords": [
|
|
23
|
-
"undefined"
|
|
24
|
-
],
|
|
25
|
-
"author": "Remy Sharp",
|
|
26
|
-
"license": "MIT",
|
|
27
|
-
"devDependencies": {
|
|
28
|
-
"semantic-release": "^18.0.0",
|
|
29
|
-
"tap": "^5.7.1",
|
|
30
|
-
"tap-only": "0.0.5"
|
|
31
|
-
},
|
|
32
|
-
"dependencies": {},
|
|
33
|
-
"version": "2.0.5"
|
|
34
|
-
}
|
package/backend/prisma/dev.db
DELETED
|
Binary file
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
module.exports = (bot, options) => {
|
|
2
|
-
const log = bot.sendLog;
|
|
3
|
-
const settings = options.settings;
|
|
4
|
-
const PERMISSION_NAME = 'admin.allowBotTeleport';
|
|
5
|
-
const ADMIN_GROUP_NAME = 'Admin';
|
|
6
|
-
const returnCommand = settings.returnCommand || '/spawn';
|
|
7
|
-
|
|
8
|
-
async function setupPermissions() {
|
|
9
|
-
try {
|
|
10
|
-
log(`[Anti-TP] Регистрация права: ${PERMISSION_NAME}`);
|
|
11
|
-
await bot.api.registerPermissions([{
|
|
12
|
-
name: PERMISSION_NAME,
|
|
13
|
-
description: 'Разрешает телепортировать бота без отката.',
|
|
14
|
-
owner: 'plugin:anti-tp-keksik'
|
|
15
|
-
}]);
|
|
16
|
-
|
|
17
|
-
log(`[Anti-TP] Добавление права в группу ${ADMIN_GROUP_NAME}.`);
|
|
18
|
-
await bot.api.addPermissionsToGroup(ADMIN_GROUP_NAME, [PERMISSION_NAME]);
|
|
19
|
-
|
|
20
|
-
} catch (error) {
|
|
21
|
-
log(`[Anti-TP] Ошибка при настройке прав: ${error.message}`);
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
setupPermissions();
|
|
26
|
-
|
|
27
|
-
const messageHandler = async (rawMessageText) => {
|
|
28
|
-
const teleportRegex = /(\w{3,16}) телепортировал вас к/i;
|
|
29
|
-
const match = rawMessageText.match(teleportRegex);
|
|
30
|
-
|
|
31
|
-
if (!match) {
|
|
32
|
-
return;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
const teleporterNickname = match[1];
|
|
36
|
-
|
|
37
|
-
try {
|
|
38
|
-
const teleporterUser = await bot.api.getUser(teleporterNickname);
|
|
39
|
-
|
|
40
|
-
if (teleporterUser && teleporterUser.hasPermission(PERMISSION_NAME)) {
|
|
41
|
-
return;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
bot.api.sendMessage('command', returnCommand);
|
|
45
|
-
|
|
46
|
-
} catch (error) {
|
|
47
|
-
log(`[Anti-TP] Ошибка при проверке прав для ${teleporterNickname}: ${error.message}`);
|
|
48
|
-
}
|
|
49
|
-
};
|
|
50
|
-
|
|
51
|
-
bot.events.on('core:raw_message', messageHandler);
|
|
52
|
-
|
|
53
|
-
bot.once('end', () => {
|
|
54
|
-
bot.events.removeListener('core:raw_message', messageHandler);
|
|
55
|
-
log('[Anti-TP] Плагин выгружен.');
|
|
56
|
-
});
|
|
57
|
-
|
|
58
|
-
log(`[Anti-TP] Плагин загружен. Команда для возврата: ${returnCommand}`);
|
|
59
|
-
};
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "anti-tp-keksik",
|
|
3
|
-
"version": "1.0.0",
|
|
4
|
-
"description": "Автоматически возвращает бота в безопасное место после принудительной телепортации от игроков без специальных прав.",
|
|
5
|
-
"main": "index.js",
|
|
6
|
-
"author": "blockmineJS",
|
|
7
|
-
"botpanel": {
|
|
8
|
-
"supportedHosts": [
|
|
9
|
-
"mc.mineblaze.net",
|
|
10
|
-
"mc.masedworld.net",
|
|
11
|
-
"mc.cheatmine.net",
|
|
12
|
-
"mc.dexland.org"
|
|
13
|
-
],
|
|
14
|
-
"settings": {
|
|
15
|
-
"returnCommand": {
|
|
16
|
-
"type": "string",
|
|
17
|
-
"label": "Команда для возврата",
|
|
18
|
-
"description": "Команда, которую бот выполнит после телепортации от юзера не имеюего прав.",
|
|
19
|
-
"default": "/spawn"
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
}
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
module.exports = (bot, options) => {
|
|
3
|
-
const password = bot.config.password;
|
|
4
|
-
const portalNumber = options.settings.portalNumber;
|
|
5
|
-
const log = bot.sendLog;
|
|
6
|
-
|
|
7
|
-
if (!password) {
|
|
8
|
-
log('[AuthPlugin] Ошибка: Пароль не указан в настройках самого бота. Авторизация невозможна.');
|
|
9
|
-
return;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
let isAuthenticated = false;
|
|
13
|
-
|
|
14
|
-
const loginPromptPattern = /^(?:\||›|◊)\s*(?:Авторизируйтесь|Введите пароль)/i;
|
|
15
|
-
const registerPromptPattern = /^(?:\||›|◊)\s*(?:Зарегистрируйтесь|Создайте пароль)/i;
|
|
16
|
-
|
|
17
|
-
const successPattern = /Вы успешно вошли|Успешная авторизация|Добро пожаловать|Привяжите аккаунт|Вы успешно зарегистрировались/i;
|
|
18
|
-
|
|
19
|
-
const messageHandler = (rawMessageText, jsonMsg) => {
|
|
20
|
-
if (isAuthenticated || !rawMessageText) return;
|
|
21
|
-
|
|
22
|
-
let commandToSend = null;
|
|
23
|
-
|
|
24
|
-
if (loginPromptPattern.test(rawMessageText)) {
|
|
25
|
-
commandToSend = `/login ${password}`;
|
|
26
|
-
} else if (registerPromptPattern.test(rawMessageText)) {
|
|
27
|
-
commandToSend = `/reg ${password} ${password}`;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
if (commandToSend) {
|
|
31
|
-
log(`[AuthPlugin] Обнаружен запрос на аутентификацию. Отправка команды через 2 секунды...`);
|
|
32
|
-
setTimeout(() => {
|
|
33
|
-
bot.api.sendMessage('command', commandToSend);
|
|
34
|
-
}, 2000);
|
|
35
|
-
return;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
if (successPattern.test(rawMessageText)) {
|
|
39
|
-
isAuthenticated = true;
|
|
40
|
-
log('[AuthPlugin] Авторизация прошла успешно.');
|
|
41
|
-
|
|
42
|
-
if (portalNumber && portalNumber > 0) {
|
|
43
|
-
const portalCommand = `/s${portalNumber}`;
|
|
44
|
-
setTimeout(() => {
|
|
45
|
-
bot.api.sendMessage('command', portalCommand);
|
|
46
|
-
bot.events.emit('auth:portal_joined', {
|
|
47
|
-
portal: portalNumber,
|
|
48
|
-
server: bot.config.server.host
|
|
49
|
-
});
|
|
50
|
-
log(`[AuthPlugin] Сгенерировано событие 'auth:portal_joined' для портала ${portalNumber}.`);
|
|
51
|
-
}, 1000);
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
bot.events.removeListener('core:raw_message', messageHandler);
|
|
55
|
-
log('[AuthPlugin] Задача выполнена, слушатель сообщений отключен.');
|
|
56
|
-
}
|
|
57
|
-
};
|
|
58
|
-
|
|
59
|
-
bot.events.on('core:raw_message', messageHandler);
|
|
60
|
-
|
|
61
|
-
bot.once('end', () => {
|
|
62
|
-
bot.events.removeListener('core:raw_message', messageHandler);
|
|
63
|
-
});
|
|
64
|
-
|
|
65
|
-
log('[AuthPlugin] Плагин автоматической авторизации загружен и готов к работе.');
|
|
66
|
-
};
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "auth-keksik-servers",
|
|
3
|
-
"version": "1.0.5",
|
|
4
|
-
"description": "Плагин для автоматической регистрации/авторизации и захода на портал на серверах MineBlaze, MasedWorld, DexLand, CheatMine",
|
|
5
|
-
"main": "index.js",
|
|
6
|
-
"botpanel": {
|
|
7
|
-
"supportedHosts": [
|
|
8
|
-
"mc.mineblaze.net",
|
|
9
|
-
"mc.masedworld.net"
|
|
10
|
-
],
|
|
11
|
-
"settings": {
|
|
12
|
-
"portalNumber": {
|
|
13
|
-
"type": "number",
|
|
14
|
-
"label": "Номер портала",
|
|
15
|
-
"description": "Портал, на который нужно зайти после успешной авторизации (например, 1, 2, 3...).",
|
|
16
|
-
"default": 1
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
}
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
# Системный плагин: Clan Events Parser
|
|
2
|
-
|
|
3
|
-
Этот плагин не добавляет боту новых команд или видимого функционала. Его единственная задача — анализировать игровой чат на предмет событий, связанных с кланом, и генерировать стандартизированные события, на которые могут подписываться другие плагины.
|
|
4
|
-
|
|
5
|
-
**Установка этого плагина является обязательной для работы других плагинов, которые зависят от клановых событий.**
|
|
6
|
-
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## Назначение
|
|
10
|
-
|
|
11
|
-
Плагин отслеживает следующие действия в чате:
|
|
12
|
-
- Вход игрока в клан.
|
|
13
|
-
- Выход игрока из клана.
|
|
14
|
-
- Исключение игрока из клана другим участником.
|
|
15
|
-
|
|
16
|
-
При обнаружении одного из этих действий, он генерирует соответствующее событие в системной шине `bot.events`.
|
|
17
|
-
|
|
18
|
-
## Генерируемые события
|
|
19
|
-
|
|
20
|
-
Другие плагины могут подписываться на эти события, чтобы реагировать на действия в клане.
|
|
21
|
-
|
|
22
|
-
### `clan:player_joined`
|
|
23
|
-
Срабатывает, когда игрок присоединяется к клану.
|
|
24
|
-
|
|
25
|
-
- **Данные (`data`):**
|
|
26
|
-
```json
|
|
27
|
-
{
|
|
28
|
-
"username": "PlayerName"
|
|
29
|
-
}
|
|
30
|
-
```
|
|
31
|
-
- **Пример использования:**
|
|
32
|
-
```javascript
|
|
33
|
-
bot.events.on('clan:player_joined', (data) => {
|
|
34
|
-
bot.api.sendMessage('chat', `🎉 Добро пожаловать в наш клан, ${data.username}!`);
|
|
35
|
-
});
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
### `clan:player_left`
|
|
39
|
-
Срабатывает, когда игрок добровольно покидает клан.
|
|
40
|
-
|
|
41
|
-
- **Данные (`data`):**
|
|
42
|
-
```json
|
|
43
|
-
{
|
|
44
|
-
"username": "PlayerName"
|
|
45
|
-
}
|
|
46
|
-
```
|
|
47
|
-
- **Пример использования:**
|
|
48
|
-
```javascript
|
|
49
|
-
bot.events.on('clan:player_left', (data) => {
|
|
50
|
-
console.log(`${data.username} покинул клан.`);
|
|
51
|
-
// Здесь можно, например, обновить список участников в базе данных.
|
|
52
|
-
});
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
### `clan:player_kicked`
|
|
56
|
-
Срабатывает, когда игрока исключают из клана.
|
|
57
|
-
|
|
58
|
-
- **Данные (`data`):**
|
|
59
|
-
```json
|
|
60
|
-
{
|
|
61
|
-
"username": "PlayerName",
|
|
62
|
-
"kickedBy": "ModeratorName"
|
|
63
|
-
}
|
|
64
|
-
```
|
|
65
|
-
- **Пример использования:**
|
|
66
|
-
```javascript
|
|
67
|
-
bot.events.on('clan:player_kicked', (data) => {
|
|
68
|
-
bot.api.sendMessage('chat', `Внимание! ${data.kickedBy} исключил игрока ${data.username} из наших рядов!`);
|
|
69
|
-
});
|
|
70
|
-
```
|
|
71
|
-
|
|
72
|
-
---
|
|
73
|
-
|
|
74
|
-
## Установка
|
|
75
|
-
|
|
76
|
-
1. Перейдите на вкладку **Плагины** для нужного вам бота.
|
|
77
|
-
2. Откройте вкладку **Обзор**.
|
|
78
|
-
3. Найдите в списке `clan-events-parser`.
|
|
79
|
-
4. Нажмите **Установить**.
|
|
80
|
-
|
|
81
|
-
Плагин не требует никаких дополнительных настроек и начинает работать сразу после установки и перезапуска бота.
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
module.exports = (bot, options) => {
|
|
2
|
-
const log = bot.sendLog;
|
|
3
|
-
|
|
4
|
-
const joinPattern = /(\S+)\s+присое?д[ие]нился к клану/i;
|
|
5
|
-
const leavePattern = /(\S+)\s+покинул клан/i;
|
|
6
|
-
const kickPattern = /(\S+)\s+был исключен из клана игроком\s+(\S+)/i;
|
|
7
|
-
|
|
8
|
-
const messageHandler = (rawMessageText) => {
|
|
9
|
-
const cleanMessage = rawMessageText.trim();
|
|
10
|
-
let match;
|
|
11
|
-
|
|
12
|
-
match = cleanMessage.match(joinPattern);
|
|
13
|
-
if (match) {
|
|
14
|
-
const username = match[1];
|
|
15
|
-
log(`[ClanParser] Обнаружен вход в клан: ${username}`);
|
|
16
|
-
bot.events.emit('clan:player_joined', { username });
|
|
17
|
-
return;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
match = cleanMessage.match(leavePattern);
|
|
21
|
-
if (match) {
|
|
22
|
-
const username = match[1];
|
|
23
|
-
log(`[ClanParser] Обнаружен выход из клана: ${username}`);
|
|
24
|
-
bot.events.emit('clan:player_left', { username });
|
|
25
|
-
return;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
match = cleanMessage.match(kickPattern);
|
|
29
|
-
if (match) {
|
|
30
|
-
const username = match[1];
|
|
31
|
-
const kickedBy = match[2];
|
|
32
|
-
log(`[ClanParser] Обнаружено исключение из клана: ${username} (кикнул: ${kickedBy})`);
|
|
33
|
-
bot.events.emit('clan:player_kicked', { username, kickedBy });
|
|
34
|
-
return;
|
|
35
|
-
}
|
|
36
|
-
};
|
|
37
|
-
|
|
38
|
-
bot.events.on('core:raw_message', messageHandler);
|
|
39
|
-
|
|
40
|
-
bot.once('end', () => {
|
|
41
|
-
bot.events.removeListener('core:raw_message', messageHandler);
|
|
42
|
-
log('[ClanParser] Плагин выгружен.');
|
|
43
|
-
});
|
|
44
|
-
|
|
45
|
-
log('[ClanParser] Плагин для отслеживания событий клана загружен (улучшенная версия).');
|
|
46
|
-
};
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "clan-events-keksik",
|
|
3
|
-
"version": "1.0.8",
|
|
4
|
-
"description": "Системный плагин-парсер, который анализирует чат и генерирует события о входе, выходе и исключении игроков из клана.",
|
|
5
|
-
"main": "index.js",
|
|
6
|
-
"botpanel": {
|
|
7
|
-
"supportedHosts": [
|
|
8
|
-
"mc.mineblaze.net",
|
|
9
|
-
"mc.masedworld.net",
|
|
10
|
-
"mc.cheatmine.net",
|
|
11
|
-
"mc.dexland.org"
|
|
12
|
-
]
|
|
13
|
-
}
|
|
14
|
-
}
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
# Плагин: Ядро ролей клана (Clan Role Manager)
|
|
2
|
-
|
|
3
|
-
Этот плагин — фундаментальный компонент для управления правами доступа, связанными с кланом, на проектах **MineBlaze, MasedWorld, DexLand и CheatMine**. Он автоматически управляет выдачей и отзывом роли "Member", а также наделяет администраторов всеми правами, связанными с клановыми функциями.
|
|
4
|
-
|
|
5
|
-
**Установка этого плагина является обязательной для работы большинства других плагинов, которые взаимодействуют с кланом на указанных серверах.**
|
|
6
|
-
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## Основные функции
|
|
10
|
-
|
|
11
|
-
* **Автоматическое управление ролями**: Выдает роль `Member` при вступлении в клан и забирает при выходе.
|
|
12
|
-
* **Синхронизация "на лету"**: Если игрок уже был в клане, когда бот был оффлайн, плагин выдаст ему роль после первого же сообщения в клановый чат.
|
|
13
|
-
* **Централизованная система прав**: Создает стандартные права (`member.*`, `member.say`) и группу (`Member`), которые могут использовать другие плагины.
|
|
14
|
-
* **Наделение правами администраторов**: Автоматически добавляет все новые клановые права в системную группу `Admin`, чтобы администраторы всегда имели полный доступ.
|
|
15
|
-
|
|
16
|
-
## Поддерживаемые серверы
|
|
17
|
-
|
|
18
|
-
Плагин спроектирован и протестирован для работы на следующих серверах:
|
|
19
|
-
* `mc.mineblaze.net`
|
|
20
|
-
* `mc.masedworld.net`
|
|
21
|
-
* `mc.dexland.org`
|
|
22
|
-
* `mc.cheatmine.net`
|
|
23
|
-
|
|
24
|
-
## Зависимости
|
|
25
|
-
|
|
26
|
-
Для корректной работы этого плагина **требуется установка следующих компонентов**:
|
|
27
|
-
|
|
28
|
-
* **`parser-keksik`**: Необходим для парсинга сообщений чата и определения типа чата на поддерживаемых серверах.
|
|
29
|
-
* **`clan-events-keksik`**: Необходим для отслеживания событий входа и выхода игроков из клана.
|
|
30
|
-
|
|
31
|
-
> ℹ️ **Примечание:** Система установки автоматически предложит установить эти зависимости вместе с `clan-role-manager`.
|
|
32
|
-
|
|
33
|
-
## Создаваемые сущности
|
|
34
|
-
|
|
35
|
-
Этот плагин регистрирует в системе следующие группы и права:
|
|
36
|
-
|
|
37
|
-
### Группы
|
|
38
|
-
|
|
39
|
-
* **`Member`**
|
|
40
|
-
* **Описание**: Базовая группа для всех участников клана.
|
|
41
|
-
* **Права по умолчанию**: `member.say`.
|
|
42
|
-
|
|
43
|
-
### Права
|
|
44
|
-
|
|
45
|
-
* **`member.*`**
|
|
46
|
-
* **Описание**: Полный доступ ко всем функциям, предназначенным для участников клана. По умолчанию выдается группе `Admin`.
|
|
47
|
-
* **`member.say`**
|
|
48
|
-
* **Описание**: Базовое право на использование команд, доступных участникам клана.
|
|
49
|
-
|
|
50
|
-
## Как это использовать другим плагинам?
|
|
51
|
-
|
|
52
|
-
Другие плагины могут требовать у пользователя наличие права `member.say` или `member.*` для выполнения своих команд. Это позволяет создавать функции, доступные только участникам клана.
|
|
53
|
-
|
|
54
|
-
---
|
|
55
|
-
|
|
56
|
-
## Установка
|
|
57
|
-
|
|
58
|
-
1. Перейдите на вкладку **Плагины** для нужного вам бота.
|
|
59
|
-
2. Откройте вкладку **Обзор**.
|
|
60
|
-
3. Найдите в списке `clan-role-manager`.
|
|
61
|
-
4. Нажмите **Установить**. Система предложит установить все необходимые зависимости.
|
|
62
|
-
5. Перезапустите бота, чтобы изменения вступили в силу.
|
|
63
|
-
|
|
64
|
-
Плагин не требует никаких дополнительных настроек и начинает работать сразу после установки.
|
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
module.exports = (bot, options) => {
|
|
2
|
-
const log = bot.sendLog;
|
|
3
|
-
const GROUP_NAME_MEMBER = 'Member';
|
|
4
|
-
const GROUP_NAME_ADMIN = 'Admin';
|
|
5
|
-
const PLUGIN_OWNER_ID = 'plugin:clan-role-manager';
|
|
6
|
-
const checkedUsersInClanChat = new Set();
|
|
7
|
-
|
|
8
|
-
async function setupRolesAndPermissions() {
|
|
9
|
-
try {
|
|
10
|
-
log('[ClanRoleManager] Регистрация прав и групп...');
|
|
11
|
-
const memberPermissions = [
|
|
12
|
-
{ name: 'member.*', description: 'Все права участника клана', owner: PLUGIN_OWNER_ID },
|
|
13
|
-
{ name: 'member.say', description: 'Право использовать базовые команды', owner: PLUGIN_OWNER_ID }
|
|
14
|
-
];
|
|
15
|
-
|
|
16
|
-
await bot.api.registerPermissions(memberPermissions);
|
|
17
|
-
|
|
18
|
-
await bot.api.registerGroup({
|
|
19
|
-
name: GROUP_NAME_MEMBER,
|
|
20
|
-
owner: PLUGIN_OWNER_ID,
|
|
21
|
-
permissions: ['member.say']
|
|
22
|
-
});
|
|
23
|
-
|
|
24
|
-
await bot.api.addPermissionsToGroup(GROUP_NAME_ADMIN, ["member.*"]);
|
|
25
|
-
|
|
26
|
-
log('[ClanRoleManager] Права и группы успешно настроены.');
|
|
27
|
-
|
|
28
|
-
} catch (error) {
|
|
29
|
-
log(`[ClanRoleManager] Критическая ошибка при регистрации прав: ${error.message}`);
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
setupRolesAndPermissions();
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
async function grantMemberRole(username) {
|
|
37
|
-
try {
|
|
38
|
-
const user = await bot.api.getUser(username);
|
|
39
|
-
if (user.hasGroup(GROUP_NAME_ADMIN)) {
|
|
40
|
-
log(`[ClanRoleManager] Пользователь ${username} является админом, роль Member не выдается.`);
|
|
41
|
-
return;
|
|
42
|
-
}
|
|
43
|
-
if (user.hasGroup(GROUP_NAME_MEMBER)) return;
|
|
44
|
-
await user.addGroup(GROUP_NAME_MEMBER);
|
|
45
|
-
log(`[ClanRoleManager] Пользователю ${username} выдана роль ${GROUP_NAME_MEMBER}.`);
|
|
46
|
-
} catch (error) {
|
|
47
|
-
log(`[ClanRoleManager] Ошибка при выдаче роли ${username}: ${error.message}`);
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
async function revokeMemberRole(username) {
|
|
52
|
-
try {
|
|
53
|
-
const user = await bot.api.getUser(username);
|
|
54
|
-
if (!user.hasGroup(GROUP_NAME_MEMBER)) return;
|
|
55
|
-
await user.removeGroup(GROUP_NAME_MEMBER);
|
|
56
|
-
log(`[ClanRoleManager] У пользователя ${username} отозвана роль ${GROUP_NAME_MEMBER}.`);
|
|
57
|
-
} catch (error) {
|
|
58
|
-
log(`[ClanRoleManager] Ошибка при отзыве роли у ${username}: ${error.message}`);
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
const onPlayerJoined = (data) => data.username && grantMemberRole(data.username);
|
|
63
|
-
const onPlayerLeft = (data) => data.username && revokeMemberRole(data.username);
|
|
64
|
-
|
|
65
|
-
const onClanMessage = async (data) => {
|
|
66
|
-
const { username } = data;
|
|
67
|
-
if (!username || checkedUsersInClanChat.has(username.toLowerCase())) return;
|
|
68
|
-
|
|
69
|
-
try {
|
|
70
|
-
const user = await bot.api.getUser(username);
|
|
71
|
-
if (!user.hasGroup(GROUP_NAME_MEMBER) && !user.hasGroup(GROUP_NAME_ADMIN)) {
|
|
72
|
-
log(`[ClanRoleManager] Обнаружен игрок ${username} в клан-чате без роли. Выдаем...`);
|
|
73
|
-
await grantMemberRole(username);
|
|
74
|
-
}
|
|
75
|
-
checkedUsersInClanChat.add(username.toLowerCase());
|
|
76
|
-
} catch (error) {
|
|
77
|
-
log(`[ClanRoleManager] Ошибка при проверке роли в клан-чате для ${username}: ${error.message}`);
|
|
78
|
-
}
|
|
79
|
-
};
|
|
80
|
-
|
|
81
|
-
bot.events.on('clan:player_joined', onPlayerJoined);
|
|
82
|
-
bot.events.on('clan:player_left', onPlayerLeft);
|
|
83
|
-
bot.events.on('clan:player_kicked', onPlayerLeft);
|
|
84
|
-
bot.events.on('chat:message', (data) => {
|
|
85
|
-
if (data.type === 'clan') {
|
|
86
|
-
onClanMessage(data);
|
|
87
|
-
}
|
|
88
|
-
});
|
|
89
|
-
|
|
90
|
-
bot.once('end', () => {
|
|
91
|
-
bot.events.removeListener('clan:player_joined', onPlayerJoined);
|
|
92
|
-
bot.events.removeListener('clan:player_left', onPlayerLeft);
|
|
93
|
-
bot.events.removeListener('clan:player_kicked', onPlayerLeft);
|
|
94
|
-
log('[ClanRoleManager] Плагин выгружен, слушатели событий отключены.');
|
|
95
|
-
});
|
|
96
|
-
|
|
97
|
-
log('[ClanRoleManager] Плагин управления ролями клана загружен и готов к работе.');
|
|
98
|
-
};
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "clan-role-manager",
|
|
3
|
-
"version": "1.0.0",
|
|
4
|
-
"description": "Автоматически выдает и забирает роль 'Member' при входе/выходе из клана.",
|
|
5
|
-
"main": "index.js",
|
|
6
|
-
"author": "blockmineJS",
|
|
7
|
-
"botpanel": {
|
|
8
|
-
"dependencies": {
|
|
9
|
-
"parser-keksik": "*",
|
|
10
|
-
"clan-events-keksik": "*"
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
}
|