From 5ffd0eeaef954839e96c79e16bf4f7317d7b4118 Mon Sep 17 00:00:00 2001 From: a179346 Date: Mon, 9 Aug 2021 10:40:59 +0800 Subject: [PATCH 1/2] discord.js v13.0.1 --- server/Dockerfile | 2 +- server/package-lock.json | 324 +++++++++--------- server/package.json | 4 +- server/src/Class/Bot.ts | 4 +- server/src/Class/Command.ts | 6 +- server/src/Class/CommandSet.ts | 2 +- server/src/Class/NestedCommand.ts | 10 +- server/src/Class/Subcommand.ts | 6 +- .../Command/Channel/ChannelGetSubcommand.ts | 4 +- server/src/Command/Live/LiveGetSubcommand.ts | 4 +- server/src/Command/Live/LiveListSubcommand.ts | 6 +- .../Permission/PermissionAddSubcommand.ts | 12 +- .../Permission/PermissionGetSubcommand.ts | 6 +- .../Permission/PermissionRemoveSubcommand.ts | 12 +- .../Command/Subscription/SubAddSubcommand.ts | 4 +- .../Command/Subscription/SubListSubcommand.ts | 4 +- .../Subscription/SubRemoveSubcommand.ts | 4 +- server/src/lib/common.ts | 4 +- 18 files changed, 204 insertions(+), 214 deletions(-) diff --git a/server/Dockerfile b/server/Dockerfile index aaf41ef..b4d3201 100644 --- a/server/Dockerfile +++ b/server/Dockerfile @@ -1,4 +1,4 @@ -FROM node:14.17.0-alpine +FROM node:16.6.1-alpine RUN mkdir -p /usr/src/app WORKDIR /usr/src/app diff --git a/server/package-lock.json b/server/package-lock.json index 4903074..0ba37d7 100644 --- a/server/package-lock.json +++ b/server/package-lock.json @@ -82,26 +82,37 @@ } } }, + "@cspotcode/source-map-consumer": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz", + "integrity": "sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg==", + "dev": true + }, + "@cspotcode/source-map-support": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.6.1.tgz", + "integrity": "sha512-DX3Z+T5dt1ockmPdobJS/FAsQPW4V4SrWEhD2iYQT2Cb2tQsiMnYxrcUH9By/Z3B+v0S5LMBkQtV/XOBbpLEOg==", + "dev": true, + "requires": { + "@cspotcode/source-map-consumer": "0.8.0" + } + }, "@discordjs/builders": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@discordjs/builders/-/builders-0.1.1.tgz", - "integrity": "sha512-9eBC22bX2HBsob5ixMwZ6quy/vewU5GHuSJhpmSZ3cDGg8XPnrYdzbwI54U+V9kQBTa7M+aMu1lYVqMEPojj8A==", + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@discordjs/builders/-/builders-0.4.0.tgz", + "integrity": "sha512-EiwLltKph6TSaPJIzJYdzNc1PnA2ZNaaE0t0ODg3ghnpVHqfgd0YX9/srsleYHW2cw1sfIq+kbM+h0etf7GWLA==", "requires": { - "discord-api-types": "^0.18.1", + "@sindresorhus/is": "^4.0.1", + "discord-api-types": "^0.22.0", + "ow": "^0.27.0", + "ts-mixer": "^6.0.0", "tslib": "^2.3.0" - }, - "dependencies": { - "discord-api-types": { - "version": "0.18.1", - "resolved": "https://registry.npmjs.org/discord-api-types/-/discord-api-types-0.18.1.tgz", - "integrity": "sha512-hNC38R9ZF4uaujaZQtQfm5CdQO58uhdkoHQAVvMfIL0LgOSZeW575W8H6upngQOuoxWd8tiRII3LLJm9zuQKYg==" - } } }, "@discordjs/collection": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/@discordjs/collection/-/collection-0.1.6.tgz", - "integrity": "sha512-utRNxnd9kSS2qhyivo9lMlt5qgAUasH2gb7BEOn6p0efFh24gjGomHzWKMAPn2hEReOPQZCJaRKoURwRotKucQ==" + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@discordjs/collection/-/collection-0.2.1.tgz", + "integrity": "sha512-vhxqzzM8gkomw0TYRF3tgx7SwElzUlXT/Aa41O7mOcyN6wIJfj5JmDWaO5XGKsGSsNx7F3i5oIlrucCCWV1Nog==" }, "@discordjs/form-data": { "version": "3.0.1", @@ -191,9 +202,9 @@ "dev": true }, "@nodelib/fs.walk": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.7.tgz", - "integrity": "sha512-BTIhocbPBSrRmHxOAJFtR18oLhxTtAFDAvL8hY1S3iU8k+E60W/YFs4jrixGzQjMpF4qPXxIQHcjVD9dz1C2QA==", + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dev": true, "requires": { "@nodelib/fs.scandir": "2.1.5", @@ -206,10 +217,9 @@ "integrity": "sha512-fFrlF/uWpGOX5djw5Mu2Hnnrunao75WGey0sP0J3jnhmrJ5TAPzHYOmytD5iN/+pMxS+f+u/gezqHa9tPhRHEA==" }, "@sindresorhus/is": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", - "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==", - "dev": true + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.0.1.tgz", + "integrity": "sha512-Qm9hBEBu18wt1PO2flE7LPb30BHMQt1eQgbV76YntdNk73XZGpn3izvGTYxbGgzXKgbCjiia0uxTd3aTNQrY/g==" }, "@sqltools/formatter": { "version": "1.2.3", @@ -268,22 +278,14 @@ "@types/node": { "version": "16.4.13", "resolved": "https://registry.npmjs.org/@types/node/-/node-16.4.13.tgz", - "integrity": "sha512-bLL69sKtd25w7p1nvg9pigE4gtKVpGTPojBFLMkGHXuUgap2sLqQt2qUnqmVCDfzGUL0DRNZP+1prIZJbMeAXg==", - "dev": true + "integrity": "sha512-bLL69sKtd25w7p1nvg9pigE4gtKVpGTPojBFLMkGHXuUgap2sLqQt2qUnqmVCDfzGUL0DRNZP+1prIZJbMeAXg==" }, "@types/ws": { - "version": "7.4.5", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-7.4.5.tgz", - "integrity": "sha512-8mbDgtc8xpxDDem5Gwj76stBDJX35KQ3YBoayxlqUQcL5BZUthiqP/VQ4PQnLHqM4PmlbyO74t98eJpURO+gPA==", + "version": "7.4.7", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-7.4.7.tgz", + "integrity": "sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==", "requires": { "@types/node": "*" - }, - "dependencies": { - "@types/node": { - "version": "15.14.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-15.14.0.tgz", - "integrity": "sha512-um/+/ip3QZmwLfIkWZSNtQIJNVAqrJ92OkLMeuZrjZMTAJniI7fh8N8OICyDhAJ2mzgk/fmYFo72jRr5HyZ1EQ==" - } } }, "@types/zen-observable": { @@ -330,49 +332,6 @@ "@typescript-eslint/types": "4.29.0", "@typescript-eslint/typescript-estree": "4.29.0", "debug": "^4.3.1" - }, - "dependencies": { - "@typescript-eslint/scope-manager": { - "version": "4.29.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.29.0.tgz", - "integrity": "sha512-HPq7XAaDMM3DpmuijxLV9Io8/6pQnliiXMQUcAdjpJJSR+fdmbD/zHCd7hMkjJn04UQtCQBtshgxClzg6NIS2w==", - "dev": true, - "requires": { - "@typescript-eslint/types": "4.29.0", - "@typescript-eslint/visitor-keys": "4.29.0" - } - }, - "@typescript-eslint/types": { - "version": "4.29.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.29.0.tgz", - "integrity": "sha512-2YJM6XfWfi8pgU2HRhTp7WgRw78TCRO3dOmSpAvIQ8MOv4B46JD2chnhpNT7Jq8j0APlIbzO1Bach734xxUl4A==", - "dev": true - }, - "@typescript-eslint/typescript-estree": { - "version": "4.29.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.29.0.tgz", - "integrity": "sha512-8ZpNHDIOyqzzgZrQW9+xQ4k5hM62Xy2R4RPO3DQxMc5Rq5QkCdSpk/drka+DL9w6sXNzV5nrdlBmf8+x495QXQ==", - "dev": true, - "requires": { - "@typescript-eslint/types": "4.29.0", - "@typescript-eslint/visitor-keys": "4.29.0", - "debug": "^4.3.1", - "globby": "^11.0.3", - "is-glob": "^4.0.1", - "semver": "^7.3.5", - "tsutils": "^3.21.0" - } - }, - "@typescript-eslint/visitor-keys": { - "version": "4.29.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.29.0.tgz", - "integrity": "sha512-LoaofO1C/jAJYs0uEpYMXfHboGXzOJeV118X4OsZu9f7rG7Pr9B3+4HTU8+err81rADa4xfQmAxnRnPAI2jp+Q==", - "dev": true, - "requires": { - "@typescript-eslint/types": "4.29.0", - "eslint-visitor-keys": "^2.0.0" - } - } } }, "@typescript-eslint/scope-manager": { @@ -422,14 +381,6 @@ "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", "dev": true }, - "abort-controller": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", - "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", - "requires": { - "event-target-shim": "^5.0.0" - } - }, "acorn": { "version": "7.4.1", "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", @@ -442,6 +393,12 @@ "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", "dev": true }, + "acorn-walk": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.1.1.tgz", + "integrity": "sha512-FbJdceMlPHEAWJOILDk1fXD8lnTlEIWFkqtfk+MvmL5q/qlHfN7GEHcsFZWt/Tea9jRNPWUZG4G976nqAAmU9w==", + "dev": true + }, "ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", @@ -660,12 +617,6 @@ "ieee754": "^1.2.1" } }, - "buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", - "dev": true - }, "cacheable-request": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", @@ -701,8 +652,7 @@ "callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" }, "camelcase": { "version": "5.3.1", @@ -711,9 +661,9 @@ "dev": true }, "chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "requires": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -833,6 +783,17 @@ "unique-string": "^2.0.0", "write-file-atomic": "^3.0.0", "xdg-basedir": "^4.0.0" + }, + "dependencies": { + "dot-prop": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", + "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", + "dev": true, + "requires": { + "is-obj": "^2.0.0" + } + } } }, "core-util-is": { @@ -872,9 +833,9 @@ "dev": true }, "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", "requires": { "ms": "2.1.2" } @@ -927,22 +888,21 @@ } }, "discord-api-types": { - "version": "0.19.0-next.f393ba520d7d6d2aacaca7b3ca5d355fab614f6e", - "resolved": "https://registry.npmjs.org/discord-api-types/-/discord-api-types-0.19.0-next.f393ba520d7d6d2aacaca7b3ca5d355fab614f6e.tgz", - "integrity": "sha512-ttRA/8e/WKHDbGFfED5WlS7gID+kalmNr6iMiWBCvkphQ7kFHiTOVbnj/zX9ksaRaYXp/I38SCQ+qZvLu8DJZg==" + "version": "0.22.0", + "resolved": "https://registry.npmjs.org/discord-api-types/-/discord-api-types-0.22.0.tgz", + "integrity": "sha512-l8yD/2zRbZItUQpy7ZxBJwaLX/Bs2TGaCthRppk8Sw24LOIWg12t9JEreezPoYD0SQcC2htNNo27kYEpYW/Srg==" }, "discord.js": { - "version": "13.0.0-dev.fe6cc0c.1625184228", - "resolved": "https://registry.npmjs.org/discord.js/-/discord.js-13.0.0-dev.fe6cc0c.1625184228.tgz", - "integrity": "sha512-Us2PFPRjS43T4NRTWuiv6vZFuDD1h1Hfpwgk6PEeHBTNnDIlwuA6n9djq2PtJjQ+iFgRTur5IrcF4kyok1/1sA==", + "version": "13.0.1", + "resolved": "https://registry.npmjs.org/discord.js/-/discord.js-13.0.1.tgz", + "integrity": "sha512-pEODCFfxypBnGEYpSgjkn1jt70raCS1um7Zp0AXEfW1DcR29wISzQ/WeWdnjP5KTXGi0LTtkRiUjOsMgSoukxA==", "requires": { - "@discordjs/builders": "^0.1.1", - "@discordjs/collection": "^0.1.6", + "@discordjs/builders": "^0.4.0", + "@discordjs/collection": "^0.2.1", "@discordjs/form-data": "^3.0.1", "@sapphire/async-queue": "^1.1.4", - "@types/ws": "^7.4.5", - "abort-controller": "^3.0.0", - "discord-api-types": "^0.19.0-next.f393ba520d7d6d2aacaca7b3ca5d355fab614f6e", + "@types/ws": "^7.4.7", + "discord-api-types": "^0.22.0", "node-fetch": "^2.6.1", "ws": "^7.5.1" } @@ -957,10 +917,9 @@ } }, "dot-prop": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", - "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", - "dev": true, + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-6.0.1.tgz", + "integrity": "sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==", "requires": { "is-obj": "^2.0.0" } @@ -1209,11 +1168,6 @@ "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true }, - "event-target-shim": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", - "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==" - }, "fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -1221,9 +1175,9 @@ "dev": true }, "fast-glob": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.6.tgz", - "integrity": "sha512-GnLuqj/pvQ7pX8/L4J84nijv6sAnlwvSDpMkJi9i7nPmPxGtRPkBSStfvDW5l6nMdX9VWe+pkKWFTgD+vF2QSQ==", + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", + "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", "dev": true, "requires": { "@nodelib/fs.stat": "^2.0.2", @@ -1246,9 +1200,9 @@ "dev": true }, "fastq": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.11.0.tgz", - "integrity": "sha512-7Eczs8gIPDrVzT+EksYBcupqMyxSHXXrHOLRRxU2/DicV8789MRBRR8+Hc2uWzUupOs4YS4JzBmBxjjCVBxD/g==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.11.1.tgz", + "integrity": "sha512-HOnr8Mc60eNYl1gzwp6r5RoUyAn5/glBolUzP/Ez6IFVPMPirxn/9phgL6zhOtaTy7ISwPvQ+wT+hfcRZh/bzw==", "dev": true, "requires": { "reusify": "^1.0.4" @@ -1368,6 +1322,14 @@ "dev": true, "requires": { "type-fest": "^0.20.2" + }, + "dependencies": { + "type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true + } } }, "globby": { @@ -1401,12 +1363,20 @@ "p-cancelable": "^1.0.0", "to-readable-stream": "^1.0.0", "url-parse-lax": "^3.0.0" + }, + "dependencies": { + "@sindresorhus/is": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", + "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==", + "dev": true + } } }, "graceful-fs": { - "version": "4.2.6", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", - "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==", + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz", + "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==", "dev": true }, "has-ansi": { @@ -1568,8 +1538,7 @@ "is-obj": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", - "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", - "dev": true + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==" }, "is-path-inside": { "version": "3.0.3", @@ -1666,6 +1635,11 @@ "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", "dev": true }, + "lodash.isequal": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", + "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=" + }, "lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", @@ -1733,16 +1707,16 @@ } }, "mime-db": { - "version": "1.48.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.48.0.tgz", - "integrity": "sha512-FM3QwxV+TnZYQ2aRqhlKBMHxk10lTbMt3bBkMAp54ddrNeVSfcQYOOKuGuy3Ddrm38I04If834fOUSq1yzslJQ==" + "version": "1.49.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.49.0.tgz", + "integrity": "sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA==" }, "mime-types": { - "version": "2.1.31", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.31.tgz", - "integrity": "sha512-XGZnNzm3QvgKxa8dpzyhFTHmpP3l5YNusmne07VUOXxou9CqUqYa/HBy124RqtVh/O2pECas/MOcsDgpilPOPg==", + "version": "2.1.32", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.32.tgz", + "integrity": "sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A==", "requires": { - "mime-db": "1.48.0" + "mime-db": "1.49.0" } }, "mimic-response": { @@ -1918,6 +1892,19 @@ "word-wrap": "^1.2.3" } }, + "ow": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/ow/-/ow-0.27.0.tgz", + "integrity": "sha512-SGnrGUbhn4VaUGdU0EJLMwZWSupPmF46hnTRII7aCLCrqixTAC5eKo8kI4/XXf1eaaI8YEVT+3FeGNJI9himAQ==", + "requires": { + "@sindresorhus/is": "^4.0.1", + "callsites": "^3.1.0", + "dot-prop": "^6.0.1", + "lodash.isequal": "^4.5.0", + "type-fest": "^1.2.1", + "vali-date": "^1.0.0" + } + }, "p-cancelable": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", @@ -2266,22 +2253,6 @@ "is-fullwidth-code-point": "^3.0.0" } }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "source-map-support": { - "version": "0.5.19", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", - "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, "sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", @@ -2419,22 +2390,37 @@ "nopt": "~1.0.10" } }, + "ts-mixer": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/ts-mixer/-/ts-mixer-6.0.0.tgz", + "integrity": "sha512-nXIb1fvdY5CBSrDIblLn73NW0qRDk5yJ0Sk1qPBF560OdJfQp9jhl+0tzcY09OZ9U+6GpeoI9RjwoIKFIoB9MQ==" + }, "ts-node": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.1.0.tgz", - "integrity": "sha512-6szn3+J9WyG2hE+5W8e0ruZrzyk1uFLYye6IGMBadnOzDh8aP7t8CbFpsfCiEx2+wMixAhjFt7lOZC4+l+WbEA==", + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.2.0.tgz", + "integrity": "sha512-FstYHtQz6isj8rBtYMN4bZdnXN1vq4HCbqn9vdNQcInRqtB86PePJQIxE6es0PhxKWhj2PHuwbG40H+bxkZPmg==", "dev": true, "requires": { + "@cspotcode/source-map-support": "0.6.1", "@tsconfig/node10": "^1.0.7", "@tsconfig/node12": "^1.0.7", "@tsconfig/node14": "^1.0.0", - "@tsconfig/node16": "^1.0.1", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", "arg": "^4.1.0", "create-require": "^1.1.0", "diff": "^4.0.1", "make-error": "^1.1.1", - "source-map-support": "^0.5.17", "yn": "3.1.1" + }, + "dependencies": { + "acorn": { + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.4.1.tgz", + "integrity": "sha512-asabaBSkEKosYKMITunzX177CXxQ4Q8BSSzMTKD+FefUhipQC70gfW5SiUDhYQ3vk8G+81HqQk7Fv9OXwwn9KA==", + "dev": true + } } }, "tslib": { @@ -2469,10 +2455,9 @@ } }, "type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", + "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==" }, "typedarray-to-buffer": { "version": "3.1.5", @@ -2617,6 +2602,11 @@ "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", "dev": true }, + "vali-date": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/vali-date/-/vali-date-1.0.0.tgz", + "integrity": "sha1-G5BKWWCfsyjvB4E4Qgk09rhnCaY=" + }, "which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -2669,9 +2659,9 @@ } }, "ws": { - "version": "7.5.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.1.tgz", - "integrity": "sha512-2c6faOUH/nhoQN6abwMloF7Iyl0ZS2E9HGtsiLrWn0zOOMWlhtDmdf/uihDt6jnuCxgtwGBNy6Onsoy2s2O2Ow==" + "version": "7.5.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.3.tgz", + "integrity": "sha512-kQ/dHIzuLrS6Je9+uv81ueZomEwH0qVYstcAQ4/Z93K8zeko9gtAbttJWzoC5ukqXY1PpoouV3+VSOqEAFt5wg==" }, "xdg-basedir": { "version": "4.0.0", @@ -2752,9 +2742,9 @@ } }, "yargs": { - "version": "17.0.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.0.1.tgz", - "integrity": "sha512-xBBulfCc8Y6gLFcrPvtqKz9hz8SO0l1Ni8GgDekvBX2ro0HRQImDGnikfc33cgzcYUSncapnNcZDjVFIH3f6KQ==", + "version": "17.1.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.1.0.tgz", + "integrity": "sha512-SQr7qqmQ2sNijjJGHL4u7t8vyDZdZ3Ahkmo4sc1w5xI9TBX0QDdG/g4SFnxtWOsGLjwHQue57eFALfwFCnixgg==", "requires": { "cliui": "^7.0.2", "escalade": "^3.1.1", diff --git a/server/package.json b/server/package.json index 6911f7c..6ea3c37 100644 --- a/server/package.json +++ b/server/package.json @@ -27,7 +27,7 @@ "dependencies": { "axios": "^0.21.1", "cron": "^1.8.2", - "discord.js": "^13.0.0-dev.fe6cc0c.1625184228", + "discord.js": "^13.0.1", "dotenv": "^10.0.0", "mysql": "^2.18.1", "reflect-metadata": "^0.1.13", @@ -43,5 +43,5 @@ "ts-node": "^10.1.0", "typescript": "^4.2.4" }, - "nodeVersion": "14.15.4" + "nodeVersion": "16.6.1" } diff --git a/server/src/Class/Bot.ts b/server/src/Class/Bot.ts index a58551f..d51c011 100644 --- a/server/src/Class/Bot.ts +++ b/server/src/Class/Bot.ts @@ -35,7 +35,7 @@ class Bot { // console.log(commands); if (commands.size < this.commandSet.size) { try { - for (const command of this.commandSet.array()) { + for (const command of this.commandSet.values()) { await this.client.application.commands.create(command.options); } } catch (error) { @@ -45,7 +45,7 @@ class Bot { }); - this.client.on('interaction', async (interaction) => { + this.client.on('interactionCreate', async (interaction) => { if (!interaction.isCommand()) return; try { diff --git a/server/src/Class/Command.ts b/server/src/Class/Command.ts index 004ee8b..8955c1a 100644 --- a/server/src/Class/Command.ts +++ b/server/src/Class/Command.ts @@ -1,6 +1,6 @@ -import { ApplicationCommandData, Collection, CommandInteraction, CommandInteractionOption } from 'discord.js'; +import { ApplicationCommandData, CommandInteraction, CommandInteractionOptionResolver } from 'discord.js'; -type RunEvent = (interaction: CommandInteraction, options: Collection) => Promise; +type RunEvent = (interaction: CommandInteraction, options: CommandInteractionOptionResolver) => Promise; export class Command { public readonly options: ApplicationCommandData; @@ -12,7 +12,7 @@ export class Command { this.runEvent = runEvent; } - public async run (interaction: CommandInteraction, options: Collection) { + public async run (interaction: CommandInteraction, options: CommandInteractionOptionResolver) { await this.runEvent(interaction, options); } diff --git a/server/src/Class/CommandSet.ts b/server/src/Class/CommandSet.ts index f8a8cbb..32a0e10 100644 --- a/server/src/Class/CommandSet.ts +++ b/server/src/Class/CommandSet.ts @@ -3,7 +3,7 @@ import { Command } from './Command'; export class CommandSet extends Collection { async init (): Promise { - for (const command of this.array()) { + for (const command of this.values()) { await command.init(); } } diff --git a/server/src/Class/NestedCommand.ts b/server/src/Class/NestedCommand.ts index c89bd3f..5d0a6c8 100644 --- a/server/src/Class/NestedCommand.ts +++ b/server/src/Class/NestedCommand.ts @@ -2,9 +2,9 @@ import { Subcommand } from './Subcommand'; import { ReplyError } from './ReplyError'; import { CommandOptionType } from '../interface/CommandOptionType'; import { Command } from './Command'; -import { ApplicationCommandData, Collection, CommandInteraction, CommandInteractionOption } from 'discord.js'; +import { ApplicationCommandData, CommandInteraction, CommandInteractionOptionResolver } from 'discord.js'; -type CheckEvent = (interaction: CommandInteraction, options: Collection) => Promise; +type CheckEvent = (interaction: CommandInteraction, options: CommandInteractionOptionResolver) => Promise; export class NestedCommand extends Command { private readonly subcommandMap: Map = new Map(); @@ -29,8 +29,8 @@ export class NestedCommand extends Command { this.subcommandMap.set(subcommand.options.name, subcommand); } - private async nestedRun (interaction: CommandInteraction, options: Collection) { - const commamdOptions = options.first(); + private async nestedRun (interaction: CommandInteraction, options: CommandInteractionOptionResolver) { + const commamdOptions = options.data[0]; if (!commamdOptions || !commamdOptions.options || commamdOptions.type !== CommandOptionType.SUB_COMMAND) throw new ReplyError('Invalid command: ' + interaction.commandName); @@ -43,6 +43,6 @@ export class NestedCommand extends Command { if (this.checkEvent) await this.checkEvent(interaction, options); - await subcommand.run(interaction, commamdOptions.options); + await subcommand.run(interaction, options); } } \ No newline at end of file diff --git a/server/src/Class/Subcommand.ts b/server/src/Class/Subcommand.ts index 064b36e..f1964da 100644 --- a/server/src/Class/Subcommand.ts +++ b/server/src/Class/Subcommand.ts @@ -1,6 +1,6 @@ -import { CommandInteraction, ApplicationCommandOption, Collection, CommandInteractionOption } from 'discord.js'; +import { CommandInteraction, ApplicationCommandOption, CommandInteractionOptionResolver } from 'discord.js'; -type SubcommandEvent = (interaction: CommandInteraction, options: Collection) => Promise; +type SubcommandEvent = (interaction: CommandInteraction, options: CommandInteractionOptionResolver) => Promise; export class Subcommand { public readonly options: ApplicationCommandOption; @@ -11,7 +11,7 @@ export class Subcommand { this.subcommandEvent = subcommandEvent; } - public async run (interaction: CommandInteraction, options: Collection): Promise { + public async run (interaction: CommandInteraction, options: CommandInteractionOptionResolver): Promise { await this.subcommandEvent(interaction, options); } } \ No newline at end of file diff --git a/server/src/Command/Channel/ChannelGetSubcommand.ts b/server/src/Command/Channel/ChannelGetSubcommand.ts index ea243af..f8bf004 100644 --- a/server/src/Command/Channel/ChannelGetSubcommand.ts +++ b/server/src/Command/Channel/ChannelGetSubcommand.ts @@ -21,8 +21,8 @@ const ChannelGetSubcommand = new Subcommand({ required: true, }, ] }, async (interaction, options) => { - const name = options.get('name')?.value; - const privateReply = options.get('private-reply')?.value; + const name = options.getString('name'); + const privateReply = options.getBoolean('private-reply'); if (typeof name !== 'string') throw new ReplyError('Invalid Options: "name"'); if (typeof privateReply !== 'boolean') diff --git a/server/src/Command/Live/LiveGetSubcommand.ts b/server/src/Command/Live/LiveGetSubcommand.ts index 65448f1..3a25998 100644 --- a/server/src/Command/Live/LiveGetSubcommand.ts +++ b/server/src/Command/Live/LiveGetSubcommand.ts @@ -23,8 +23,8 @@ const LiveGetSubcommand = new Subcommand({ required: true, }, ] }, async (interaction, options) => { - const name = options.get('name')?.value; - const privateReply = options.get('private-reply')?.value; + const name = options.getString('name'); + const privateReply = options.getBoolean('private-reply'); if (typeof name !== 'string') throw new ReplyError('Invalid Options: "name"'); if (typeof privateReply !== 'boolean') diff --git a/server/src/Command/Live/LiveListSubcommand.ts b/server/src/Command/Live/LiveListSubcommand.ts index 2689c82..297ef07 100644 --- a/server/src/Command/Live/LiveListSubcommand.ts +++ b/server/src/Command/Live/LiveListSubcommand.ts @@ -23,14 +23,14 @@ const LiveListSubcommand = new Subcommand({ required: true, }, ] }, async (interaction, options) => { - const privateReply = options.get('private-reply')?.value; - const onlyLive = options.get('only-live')?.value; + const privateReply = options.getBoolean('private-reply'); + const onlyLive = options.getBoolean('only-live'); if (typeof privateReply !== 'boolean') throw new ReplyError('Invalid Options: "private-reply"'); if (typeof onlyLive !== 'boolean') throw new ReplyError('Invalid Options: "only-live"'); - const subscriptions = await SubscriptionDao.list(interaction.channelID); + const subscriptions = await SubscriptionDao.list(interaction.channelId); if (subscriptions.length === 0) throw new ReplyError('No channel subscribed.'); diff --git a/server/src/Command/Permission/PermissionAddSubcommand.ts b/server/src/Command/Permission/PermissionAddSubcommand.ts index cc0cd23..bdaa019 100644 --- a/server/src/Command/Permission/PermissionAddSubcommand.ts +++ b/server/src/Command/Permission/PermissionAddSubcommand.ts @@ -22,19 +22,19 @@ const PermissionAddSubcommand = new Subcommand({ required: true, }, ] }, async (interaction, options) => { - const permissionType = options.get('permission-type')?.value as PermissionType; - const role = options.get('role')?.value; + const permissionType = options.getString('permission-type') as PermissionType; + const role = options.getRole('role'); if (!(Object.values(PermissionType).includes(permissionType))) throw new ReplyError('Invalid Options: "permission-type"'); - if (typeof role !== 'string') + if (!role) throw new ReplyError('Invalid Options: "role"'); - const roleId = Lib.ToSnowflake(role); + const roleId = Lib.ToSnowflake(role.id); const roleName = interaction.guild?.roles.cache.get(roleId)?.name; if (!roleName) - throw new ReplyError('Unknown Role Id: "' + role + '". Please retry later.'); + throw new ReplyError('Unknown Role Id: "' + role.id + '". Please retry later.'); - await PermissionDao.insert(interaction.channelID, permissionType, roleId); + await PermissionDao.insert(interaction.channelId, permissionType, roleId); interaction.reply({ content: 'Permission added: "' + roleName + '" for "' + permissionType + '"', diff --git a/server/src/Command/Permission/PermissionGetSubcommand.ts b/server/src/Command/Permission/PermissionGetSubcommand.ts index 762367d..a7a4b36 100644 --- a/server/src/Command/Permission/PermissionGetSubcommand.ts +++ b/server/src/Command/Permission/PermissionGetSubcommand.ts @@ -22,14 +22,14 @@ const PermissionGetSubcommand = new Subcommand({ required: true, }, ] }, async (interaction, options) => { - const permissionType = options.get('permission-type')?.value as PermissionType; - const privateReply = options.get('private-reply')?.value; + const permissionType = options.getString('permission-type') as PermissionType; + const privateReply = options.getBoolean('private-reply'); if (!(Object.values(PermissionType).includes(permissionType))) throw new ReplyError('Invalid Options: "permission-type"'); if (typeof privateReply !== 'boolean') throw new ReplyError('Invalid Options: "private-reply"'); - const permissions = await PermissionDao.list(interaction.channelID, permissionType); + const permissions = await PermissionDao.list(interaction.channelId, permissionType); const prefix = '\n:ballot_box_with_check: '; let info = '【Permission for "' + permissionType + '"】'; diff --git a/server/src/Command/Permission/PermissionRemoveSubcommand.ts b/server/src/Command/Permission/PermissionRemoveSubcommand.ts index 003cd3d..8577e39 100644 --- a/server/src/Command/Permission/PermissionRemoveSubcommand.ts +++ b/server/src/Command/Permission/PermissionRemoveSubcommand.ts @@ -22,19 +22,19 @@ const PermissionRemoveSubcommand = new Subcommand({ required: true, }, ] }, async (interaction, options) => { - const permissionType = options.get('permission-type')?.value as PermissionType; - const role = options.get('role')?.value; + const permissionType = options.getString('permission-type') as PermissionType; + const role = options.getRole('role'); if (!(Object.values(PermissionType).includes(permissionType))) throw new ReplyError('Invalid Options: "permission-type"'); - if (typeof role !== 'string') + if (!role) throw new ReplyError('Invalid Options: "role"'); - const roleId = Lib.ToSnowflake(role); + const roleId = Lib.ToSnowflake(role.id); const roleName = interaction.guild?.roles.cache.get(roleId)?.name; if (!roleName) - throw new ReplyError('Unknown Role Id: "' + role + '". Please retry later.'); + throw new ReplyError('Unknown Role Id: "' + role.id + '". Please retry later.'); - await PermissionDao.remove(interaction.channelID, permissionType, roleId); + await PermissionDao.remove(interaction.channelId, permissionType, roleId); interaction.reply({ content: 'Permission removed: "' + roleName + '" for "' + permissionType + '"', diff --git a/server/src/Command/Subscription/SubAddSubcommand.ts b/server/src/Command/Subscription/SubAddSubcommand.ts index 7469e1f..ac30bb1 100644 --- a/server/src/Command/Subscription/SubAddSubcommand.ts +++ b/server/src/Command/Subscription/SubAddSubcommand.ts @@ -15,7 +15,7 @@ const SubAddSubcommand = new Subcommand({ required: true, } ] }, async (interaction, options) => { - const name = options.get('name')?.value; + const name = options.getString('name'); if (typeof name !== 'string') throw new ReplyError('Invalid Options: "name"'); @@ -23,7 +23,7 @@ const SubAddSubcommand = new Subcommand({ if (!channelNicknameVal) throw new ReplyError('Holomem not found: ' + name); - await SubscriptionDao.insert(interaction.channelID, channelNicknameVal.channel.id); + await SubscriptionDao.insert(interaction.channelId, channelNicknameVal.channel.id); interaction.reply({ content: 'Subscription added: 【' + channelNicknameVal.channel.name + '】', diff --git a/server/src/Command/Subscription/SubListSubcommand.ts b/server/src/Command/Subscription/SubListSubcommand.ts index 001ddf3..3120e18 100644 --- a/server/src/Command/Subscription/SubListSubcommand.ts +++ b/server/src/Command/Subscription/SubListSubcommand.ts @@ -16,11 +16,11 @@ const SubListSubcommand = new Subcommand({ required: true, }, ], }, async (interaction, options) => { - const privateReply = options.get('private-reply')?.value; + const privateReply = options.getBoolean('private-reply'); if (typeof privateReply !== 'boolean') throw new ReplyError('Invalid Options: "private-reply"'); - const list = await SubscriptionDao.list(interaction.channelID); + const list = await SubscriptionDao.list(interaction.channelId); let info = '【Subscription List】'; if (list.length === 0) diff --git a/server/src/Command/Subscription/SubRemoveSubcommand.ts b/server/src/Command/Subscription/SubRemoveSubcommand.ts index 0d99b09..6cc24fb 100644 --- a/server/src/Command/Subscription/SubRemoveSubcommand.ts +++ b/server/src/Command/Subscription/SubRemoveSubcommand.ts @@ -15,7 +15,7 @@ const SubRemoveSubcommand = new Subcommand({ required: true, } ] }, async (interaction, options) => { - const name = options.get('name')?.value; + const name = options.getString('name'); if (typeof name !== 'string') throw new ReplyError('Invalid Options: "name"'); @@ -23,7 +23,7 @@ const SubRemoveSubcommand = new Subcommand({ if (!channelNicknameVal) throw new ReplyError('Holomem not found: ' + name); - await SubscriptionDao.remove(interaction.channelID, channelNicknameVal.channel.id); + await SubscriptionDao.remove(interaction.channelId, channelNicknameVal.channel.id); interaction.reply({ content: 'Subscription removed: 【' + channelNicknameVal.channel.name + '】', diff --git a/server/src/lib/common.ts b/server/src/lib/common.ts index 4cb4893..0d80210 100644 --- a/server/src/lib/common.ts +++ b/server/src/lib/common.ts @@ -58,7 +58,7 @@ function enumToChoices (enumVal: {[key: string]: any}): ApplicationCommandOption async function checkPermission (interaction: CommandInteraction, permissionType: PermissionType, ownerDefaultEnable: boolean): Promise { // channel owner - if (ownerDefaultEnable && interaction.guild?.ownerID === interaction.user.id) + if (ownerDefaultEnable && interaction.guild?.ownerId === interaction.user.id) return true; // DM @@ -68,7 +68,7 @@ async function checkPermission (interaction: CommandInteraction, permissionType: if (!interaction.member || !(interaction.member instanceof GuildMember)) return false; - const permissions = await PermissionDao.list(interaction.channelID, permissionType); + const permissions = await PermissionDao.list(interaction.channelId, permissionType); const member = await interaction.member.fetch(true); for (const permission of permissions) { if (member.roles.cache.has(permission.role_id)) From 29ce888cc25fd9b3eea82504c2b0ab3d8453fa2d Mon Sep 17 00:00:00 2001 From: a179346 Date: Mon, 9 Aug 2021 10:43:51 +0800 Subject: [PATCH 2/2] github action node version 16.x --- .github/workflows/build-test.yml | 2 +- .github/workflows/upload.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index d5958b0..81006ac 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -16,7 +16,7 @@ jobs: strategy: matrix: - node-version: [14.x] + node-version: [16.x] # See supported Node.js release schedule at https://nodejs.org/en/about/releases/ steps: diff --git a/.github/workflows/upload.yml b/.github/workflows/upload.yml index fde5a0b..ffb14f6 100644 --- a/.github/workflows/upload.yml +++ b/.github/workflows/upload.yml @@ -14,7 +14,7 @@ jobs: strategy: matrix: - node-version: [14.x] + node-version: [16.x] # See supported Node.js release schedule at https://nodejs.org/en/about/releases/ steps: