mirror of
https://github.com/toast-ts/Daggerbot-TS.git
synced 2024-11-18 00:31:00 -05:00
Merge branch 'master' into sequelize-v7
This commit is contained in:
commit
aaf746db5e
305
.pnp.cjs
generated
305
.pnp.cjs
generated
@ -31,7 +31,7 @@ const RAW_RUNTIME_STATE =
|
||||
["@sequelize/core", "virtual:20c353e2d6536e37339997f03975c6a660f4d296e664d291bd43620c6162cca8eb5ef90b0998dc9db75ff6862e5da587d0530bae26805f5fadc8f17aaa4ff794#npm:7.0.0-alpha.37"],\
|
||||
["@toast/tokenservice-client", "npm:1.0.12::__archiveUrl=https%3A%2F%2Fgit.toast-server.net%2Fapi%2Fpackages%2Ftoast%2Fnpm%2F%2540toast%252Ftokenservice-client%2F-%2F1.0.12%2Ftokenservice-client-1.0.12.tgz"],\
|
||||
["@types/ms", "npm:0.7.34"],\
|
||||
["@types/node", "npm:20.11.17"],\
|
||||
["@types/node", "npm:20.11.19"],\
|
||||
["@types/node-cron", "npm:3.0.11"],\
|
||||
["@types/pg", "npm:8.11.0"],\
|
||||
["ansi-colors", "npm:4.1.3"],\
|
||||
@ -45,7 +45,7 @@ const RAW_RUNTIME_STATE =
|
||||
["postgres-array", "npm:3.0.2"],\
|
||||
["redis", "npm:4.6.13"],\
|
||||
["simple-git", "npm:3.22.0"],\
|
||||
["systeminformation", "npm:5.21.24"],\
|
||||
["systeminformation", "npm:5.21.25"],\
|
||||
["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin<compat/typescript>::version=5.3.3&hash=e012d7"],\
|
||||
["undici", "npm:6.6.2"]\
|
||||
],\
|
||||
@ -59,7 +59,7 @@ const RAW_RUNTIME_STATE =
|
||||
["@discordjs/builders", "npm:1.7.0"],\
|
||||
["@discordjs/formatters", "npm:0.3.3"],\
|
||||
["@discordjs/util", "npm:1.0.2"],\
|
||||
["@sapphire/shapeshift", "npm:3.9.3"],\
|
||||
["@sapphire/shapeshift", "npm:3.9.6"],\
|
||||
["discord-api-types", "npm:0.37.61"],\
|
||||
["fast-deep-equal", "npm:3.1.3"],\
|
||||
["ts-mixer", "npm:6.0.3"],\
|
||||
@ -95,17 +95,17 @@ const RAW_RUNTIME_STATE =
|
||||
}]\
|
||||
]],\
|
||||
["@discordjs/rest", [\
|
||||
["npm:2.1.0", {\
|
||||
"packageLocation": "./.yarn/cache/@discordjs-rest-npm-2.1.0-7d5eafcddd-3e3fbdaac6.zip/node_modules/@discordjs/rest/",\
|
||||
["npm:2.2.0", {\
|
||||
"packageLocation": "./.yarn/cache/@discordjs-rest-npm-2.2.0-7742c53181-213245a313.zip/node_modules/@discordjs/rest/",\
|
||||
"packageDependencies": [\
|
||||
["@discordjs/rest", "npm:2.1.0"],\
|
||||
["@discordjs/rest", "npm:2.2.0"],\
|
||||
["@discordjs/collection", "npm:2.0.0"],\
|
||||
["@discordjs/util", "npm:1.0.2"],\
|
||||
["@sapphire/async-queue", "npm:1.5.0"],\
|
||||
["@sapphire/snowflake", "npm:3.5.1"],\
|
||||
["@vladfrangu/async_event_emitter", "npm:2.2.2"],\
|
||||
["@sapphire/async-queue", "npm:1.5.2"],\
|
||||
["@sapphire/snowflake", "npm:3.5.3"],\
|
||||
["@vladfrangu/async_event_emitter", "npm:2.2.4"],\
|
||||
["discord-api-types", "npm:0.37.61"],\
|
||||
["magic-bytes.js", "npm:1.5.0"],\
|
||||
["magic-bytes.js", "npm:1.8.0"],\
|
||||
["tslib", "npm:2.6.2"],\
|
||||
["undici", "npm:5.27.2"]\
|
||||
],\
|
||||
@ -127,23 +127,23 @@ const RAW_RUNTIME_STATE =
|
||||
"packageDependencies": [\
|
||||
["@discordjs/ws", "npm:1.0.2"],\
|
||||
["@discordjs/collection", "npm:2.0.0"],\
|
||||
["@discordjs/rest", "npm:2.1.0"],\
|
||||
["@discordjs/rest", "npm:2.2.0"],\
|
||||
["@discordjs/util", "npm:1.0.2"],\
|
||||
["@sapphire/async-queue", "npm:1.5.0"],\
|
||||
["@types/ws", "npm:8.5.9"],\
|
||||
["@vladfrangu/async_event_emitter", "npm:2.2.2"],\
|
||||
["@sapphire/async-queue", "npm:1.5.2"],\
|
||||
["@types/ws", "npm:8.5.10"],\
|
||||
["@vladfrangu/async_event_emitter", "npm:2.2.4"],\
|
||||
["discord-api-types", "npm:0.37.61"],\
|
||||
["tslib", "npm:2.6.2"],\
|
||||
["ws", "virtual:552886b752de310ce54ce9fe76f5f504adf18fc8ec7c33962afaf94cac7fd12c596749c04ccf8740475eb03deab723875176f4c0ec75af813419d58b693916c7#npm:8.14.2"]\
|
||||
["ws", "virtual:552886b752de310ce54ce9fe76f5f504adf18fc8ec7c33962afaf94cac7fd12c596749c04ccf8740475eb03deab723875176f4c0ec75af813419d58b693916c7#npm:8.16.0"]\
|
||||
],\
|
||||
"linkType": "HARD"\
|
||||
}]\
|
||||
]],\
|
||||
["@fastify/busboy", [\
|
||||
["npm:2.0.0", {\
|
||||
"packageLocation": "./.yarn/cache/@fastify-busboy-npm-2.0.0-c6baf48382-6a2366d06b.zip/node_modules/@fastify/busboy/",\
|
||||
["npm:2.1.0", {\
|
||||
"packageLocation": "./.yarn/cache/@fastify-busboy-npm-2.1.0-960844a007-f22c1e5c52.zip/node_modules/@fastify/busboy/",\
|
||||
"packageDependencies": [\
|
||||
["@fastify/busboy", "npm:2.0.0"]\
|
||||
["@fastify/busboy", "npm:2.1.0"]\
|
||||
],\
|
||||
"linkType": "HARD"\
|
||||
}]\
|
||||
@ -307,75 +307,67 @@ const RAW_RUNTIME_STATE =
|
||||
}]\
|
||||
]],\
|
||||
["@octokit/core", [\
|
||||
["npm:5.0.0", {\
|
||||
"packageLocation": "./.yarn/cache/@octokit-core-npm-5.0.0-c9003d20df-e12bec95c7.zip/node_modules/@octokit/core/",\
|
||||
["npm:5.1.0", {\
|
||||
"packageLocation": "./.yarn/cache/@octokit-core-npm-5.1.0-6f995d9055-8062e86a30.zip/node_modules/@octokit/core/",\
|
||||
"packageDependencies": [\
|
||||
["@octokit/core", "npm:5.0.0"],\
|
||||
["@octokit/core", "npm:5.1.0"],\
|
||||
["@octokit/auth-token", "npm:4.0.0"],\
|
||||
["@octokit/graphql", "npm:7.0.1"],\
|
||||
["@octokit/request", "npm:8.1.1"],\
|
||||
["@octokit/request-error", "npm:5.0.0"],\
|
||||
["@octokit/types", "npm:11.1.0"],\
|
||||
["@octokit/graphql", "npm:7.0.2"],\
|
||||
["@octokit/request", "npm:8.2.0"],\
|
||||
["@octokit/request-error", "npm:5.0.1"],\
|
||||
["@octokit/types", "npm:12.5.0"],\
|
||||
["before-after-hook", "npm:2.2.3"],\
|
||||
["universal-user-agent", "npm:6.0.0"]\
|
||||
["universal-user-agent", "npm:6.0.1"]\
|
||||
],\
|
||||
"linkType": "HARD"\
|
||||
}]\
|
||||
]],\
|
||||
["@octokit/endpoint", [\
|
||||
["npm:9.0.0", {\
|
||||
"packageLocation": "./.yarn/cache/@octokit-endpoint-npm-9.0.0-0d4530e44e-ec160fe1a0.zip/node_modules/@octokit/endpoint/",\
|
||||
["npm:9.0.4", {\
|
||||
"packageLocation": "./.yarn/cache/@octokit-endpoint-npm-9.0.4-1b64d334f9-7df35c96f2.zip/node_modules/@octokit/endpoint/",\
|
||||
"packageDependencies": [\
|
||||
["@octokit/endpoint", "npm:9.0.0"],\
|
||||
["@octokit/types", "npm:11.1.0"],\
|
||||
["is-plain-object", "npm:5.0.0"],\
|
||||
["universal-user-agent", "npm:6.0.0"]\
|
||||
["@octokit/endpoint", "npm:9.0.4"],\
|
||||
["@octokit/types", "npm:12.5.0"],\
|
||||
["universal-user-agent", "npm:6.0.1"]\
|
||||
],\
|
||||
"linkType": "HARD"\
|
||||
}]\
|
||||
]],\
|
||||
["@octokit/graphql", [\
|
||||
["npm:7.0.1", {\
|
||||
"packageLocation": "./.yarn/cache/@octokit-graphql-npm-7.0.1-5feff6ab44-1c62aa5cfa.zip/node_modules/@octokit/graphql/",\
|
||||
["npm:7.0.2", {\
|
||||
"packageLocation": "./.yarn/cache/@octokit-graphql-npm-7.0.2-b5522f5b29-f5dcc51fed.zip/node_modules/@octokit/graphql/",\
|
||||
"packageDependencies": [\
|
||||
["@octokit/graphql", "npm:7.0.1"],\
|
||||
["@octokit/request", "npm:8.1.1"],\
|
||||
["@octokit/types", "npm:11.1.0"],\
|
||||
["universal-user-agent", "npm:6.0.0"]\
|
||||
["@octokit/graphql", "npm:7.0.2"],\
|
||||
["@octokit/request", "npm:8.2.0"],\
|
||||
["@octokit/types", "npm:12.5.0"],\
|
||||
["universal-user-agent", "npm:6.0.1"]\
|
||||
],\
|
||||
"linkType": "HARD"\
|
||||
}]\
|
||||
]],\
|
||||
["@octokit/openapi-types", [\
|
||||
["npm:18.0.0", {\
|
||||
"packageLocation": "./.yarn/cache/@octokit-openapi-types-npm-18.0.0-1586e405d6-5d4aa6abab.zip/node_modules/@octokit/openapi-types/",\
|
||||
["npm:19.1.0", {\
|
||||
"packageLocation": "./.yarn/cache/@octokit-openapi-types-npm-19.1.0-bd98fe458b-3abedc09ba.zip/node_modules/@octokit/openapi-types/",\
|
||||
"packageDependencies": [\
|
||||
["@octokit/openapi-types", "npm:18.0.0"]\
|
||||
],\
|
||||
"linkType": "HARD"\
|
||||
}],\
|
||||
["npm:19.0.0", {\
|
||||
"packageLocation": "./.yarn/cache/@octokit-openapi-types-npm-19.0.0-064193076f-87962fee2e.zip/node_modules/@octokit/openapi-types/",\
|
||||
"packageDependencies": [\
|
||||
["@octokit/openapi-types", "npm:19.0.0"]\
|
||||
["@octokit/openapi-types", "npm:19.1.0"]\
|
||||
],\
|
||||
"linkType": "HARD"\
|
||||
}]\
|
||||
]],\
|
||||
["@octokit/plugin-paginate-rest", [\
|
||||
["npm:9.0.0", {\
|
||||
"packageLocation": "./.yarn/cache/@octokit-plugin-paginate-rest-npm-9.0.0-fb07663301-1fcf2358d2.zip/node_modules/@octokit/plugin-paginate-rest/",\
|
||||
["npm:9.1.5", {\
|
||||
"packageLocation": "./.yarn/cache/@octokit-plugin-paginate-rest-npm-9.1.5-9d33eaf13c-5f1793ebeb.zip/node_modules/@octokit/plugin-paginate-rest/",\
|
||||
"packageDependencies": [\
|
||||
["@octokit/plugin-paginate-rest", "npm:9.0.0"]\
|
||||
["@octokit/plugin-paginate-rest", "npm:9.1.5"]\
|
||||
],\
|
||||
"linkType": "SOFT"\
|
||||
}],\
|
||||
["virtual:4561cebc7178ada64ce18c0aeed396852b7aeaba4f74421f21ba3e30dbf678d80e4d99e34e12bd5d2189e9af698f708ddc3e89804d9d2b7510fd441fb121b618#npm:9.0.0", {\
|
||||
"packageLocation": "./.yarn/__virtual__/@octokit-plugin-paginate-rest-virtual-9fb782d717/0/cache/@octokit-plugin-paginate-rest-npm-9.0.0-fb07663301-1fcf2358d2.zip/node_modules/@octokit/plugin-paginate-rest/",\
|
||||
["virtual:4561cebc7178ada64ce18c0aeed396852b7aeaba4f74421f21ba3e30dbf678d80e4d99e34e12bd5d2189e9af698f708ddc3e89804d9d2b7510fd441fb121b618#npm:9.1.5", {\
|
||||
"packageLocation": "./.yarn/__virtual__/@octokit-plugin-paginate-rest-virtual-092e0c7889/0/cache/@octokit-plugin-paginate-rest-npm-9.1.5-9d33eaf13c-5f1793ebeb.zip/node_modules/@octokit/plugin-paginate-rest/",\
|
||||
"packageDependencies": [\
|
||||
["@octokit/plugin-paginate-rest", "virtual:4561cebc7178ada64ce18c0aeed396852b7aeaba4f74421f21ba3e30dbf678d80e4d99e34e12bd5d2189e9af698f708ddc3e89804d9d2b7510fd441fb121b618#npm:9.0.0"],\
|
||||
["@octokit/core", "npm:5.0.0"],\
|
||||
["@octokit/types", "npm:12.0.0"],\
|
||||
["@octokit/plugin-paginate-rest", "virtual:4561cebc7178ada64ce18c0aeed396852b7aeaba4f74421f21ba3e30dbf678d80e4d99e34e12bd5d2189e9af698f708ddc3e89804d9d2b7510fd441fb121b618#npm:9.1.5"],\
|
||||
["@octokit/core", "npm:5.1.0"],\
|
||||
["@octokit/types", "npm:12.5.0"],\
|
||||
["@types/octokit__core", null]\
|
||||
],\
|
||||
"packagePeers": [\
|
||||
@ -397,7 +389,7 @@ const RAW_RUNTIME_STATE =
|
||||
"packageLocation": "./.yarn/__virtual__/@octokit-plugin-request-log-virtual-8311198fdf/0/cache/@octokit-plugin-request-log-npm-4.0.0-49c2f6ee8b-2a8a661964.zip/node_modules/@octokit/plugin-request-log/",\
|
||||
"packageDependencies": [\
|
||||
["@octokit/plugin-request-log", "virtual:4561cebc7178ada64ce18c0aeed396852b7aeaba4f74421f21ba3e30dbf678d80e4d99e34e12bd5d2189e9af698f708ddc3e89804d9d2b7510fd441fb121b618#npm:4.0.0"],\
|
||||
["@octokit/core", "npm:5.0.0"],\
|
||||
["@octokit/core", "npm:5.1.0"],\
|
||||
["@types/octokit__core", null]\
|
||||
],\
|
||||
"packagePeers": [\
|
||||
@ -408,19 +400,19 @@ const RAW_RUNTIME_STATE =
|
||||
}]\
|
||||
]],\
|
||||
["@octokit/plugin-rest-endpoint-methods", [\
|
||||
["npm:10.0.0", {\
|
||||
"packageLocation": "./.yarn/cache/@octokit-plugin-rest-endpoint-methods-npm-10.0.0-f839bc852a-2984df2c81.zip/node_modules/@octokit/plugin-rest-endpoint-methods/",\
|
||||
["npm:10.3.0", {\
|
||||
"packageLocation": "./.yarn/cache/@octokit-plugin-rest-endpoint-methods-npm-10.3.0-06a0ae45a8-be202aca31.zip/node_modules/@octokit/plugin-rest-endpoint-methods/",\
|
||||
"packageDependencies": [\
|
||||
["@octokit/plugin-rest-endpoint-methods", "npm:10.0.0"]\
|
||||
["@octokit/plugin-rest-endpoint-methods", "npm:10.3.0"]\
|
||||
],\
|
||||
"linkType": "SOFT"\
|
||||
}],\
|
||||
["virtual:4561cebc7178ada64ce18c0aeed396852b7aeaba4f74421f21ba3e30dbf678d80e4d99e34e12bd5d2189e9af698f708ddc3e89804d9d2b7510fd441fb121b618#npm:10.0.0", {\
|
||||
"packageLocation": "./.yarn/__virtual__/@octokit-plugin-rest-endpoint-methods-virtual-7363bbf413/0/cache/@octokit-plugin-rest-endpoint-methods-npm-10.0.0-f839bc852a-2984df2c81.zip/node_modules/@octokit/plugin-rest-endpoint-methods/",\
|
||||
["virtual:4561cebc7178ada64ce18c0aeed396852b7aeaba4f74421f21ba3e30dbf678d80e4d99e34e12bd5d2189e9af698f708ddc3e89804d9d2b7510fd441fb121b618#npm:10.3.0", {\
|
||||
"packageLocation": "./.yarn/__virtual__/@octokit-plugin-rest-endpoint-methods-virtual-ea99ee7f10/0/cache/@octokit-plugin-rest-endpoint-methods-npm-10.3.0-06a0ae45a8-be202aca31.zip/node_modules/@octokit/plugin-rest-endpoint-methods/",\
|
||||
"packageDependencies": [\
|
||||
["@octokit/plugin-rest-endpoint-methods", "virtual:4561cebc7178ada64ce18c0aeed396852b7aeaba4f74421f21ba3e30dbf678d80e4d99e34e12bd5d2189e9af698f708ddc3e89804d9d2b7510fd441fb121b618#npm:10.0.0"],\
|
||||
["@octokit/core", "npm:5.0.0"],\
|
||||
["@octokit/types", "npm:12.0.0"],\
|
||||
["@octokit/plugin-rest-endpoint-methods", "virtual:4561cebc7178ada64ce18c0aeed396852b7aeaba4f74421f21ba3e30dbf678d80e4d99e34e12bd5d2189e9af698f708ddc3e89804d9d2b7510fd441fb121b618#npm:10.3.0"],\
|
||||
["@octokit/core", "npm:5.1.0"],\
|
||||
["@octokit/types", "npm:12.5.0"],\
|
||||
["@types/octokit__core", null]\
|
||||
],\
|
||||
"packagePeers": [\
|
||||
@ -431,25 +423,24 @@ const RAW_RUNTIME_STATE =
|
||||
}]\
|
||||
]],\
|
||||
["@octokit/request", [\
|
||||
["npm:8.1.1", {\
|
||||
"packageLocation": "./.yarn/cache/@octokit-request-npm-8.1.1-404934a724-62fd236ef8.zip/node_modules/@octokit/request/",\
|
||||
["npm:8.2.0", {\
|
||||
"packageLocation": "./.yarn/cache/@octokit-request-npm-8.2.0-27c446977b-553ba8b99e.zip/node_modules/@octokit/request/",\
|
||||
"packageDependencies": [\
|
||||
["@octokit/request", "npm:8.1.1"],\
|
||||
["@octokit/endpoint", "npm:9.0.0"],\
|
||||
["@octokit/request-error", "npm:5.0.0"],\
|
||||
["@octokit/types", "npm:11.1.0"],\
|
||||
["is-plain-object", "npm:5.0.0"],\
|
||||
["universal-user-agent", "npm:6.0.0"]\
|
||||
["@octokit/request", "npm:8.2.0"],\
|
||||
["@octokit/endpoint", "npm:9.0.4"],\
|
||||
["@octokit/request-error", "npm:5.0.1"],\
|
||||
["@octokit/types", "npm:12.5.0"],\
|
||||
["universal-user-agent", "npm:6.0.1"]\
|
||||
],\
|
||||
"linkType": "HARD"\
|
||||
}]\
|
||||
]],\
|
||||
["@octokit/request-error", [\
|
||||
["npm:5.0.0", {\
|
||||
"packageLocation": "./.yarn/cache/@octokit-request-error-npm-5.0.0-262908a2c1-de7ed29340.zip/node_modules/@octokit/request-error/",\
|
||||
["npm:5.0.1", {\
|
||||
"packageLocation": "./.yarn/cache/@octokit-request-error-npm-5.0.1-eda589102d-a21a4614c4.zip/node_modules/@octokit/request-error/",\
|
||||
"packageDependencies": [\
|
||||
["@octokit/request-error", "npm:5.0.0"],\
|
||||
["@octokit/types", "npm:11.1.0"],\
|
||||
["@octokit/request-error", "npm:5.0.1"],\
|
||||
["@octokit/types", "npm:12.5.0"],\
|
||||
["deprecation", "npm:2.3.1"],\
|
||||
["once", "npm:1.4.0"]\
|
||||
],\
|
||||
@ -461,28 +452,20 @@ const RAW_RUNTIME_STATE =
|
||||
"packageLocation": "./.yarn/cache/@octokit-rest-npm-20.0.2-4561cebc71-527e1806ca.zip/node_modules/@octokit/rest/",\
|
||||
"packageDependencies": [\
|
||||
["@octokit/rest", "npm:20.0.2"],\
|
||||
["@octokit/core", "npm:5.0.0"],\
|
||||
["@octokit/plugin-paginate-rest", "virtual:4561cebc7178ada64ce18c0aeed396852b7aeaba4f74421f21ba3e30dbf678d80e4d99e34e12bd5d2189e9af698f708ddc3e89804d9d2b7510fd441fb121b618#npm:9.0.0"],\
|
||||
["@octokit/core", "npm:5.1.0"],\
|
||||
["@octokit/plugin-paginate-rest", "virtual:4561cebc7178ada64ce18c0aeed396852b7aeaba4f74421f21ba3e30dbf678d80e4d99e34e12bd5d2189e9af698f708ddc3e89804d9d2b7510fd441fb121b618#npm:9.1.5"],\
|
||||
["@octokit/plugin-request-log", "virtual:4561cebc7178ada64ce18c0aeed396852b7aeaba4f74421f21ba3e30dbf678d80e4d99e34e12bd5d2189e9af698f708ddc3e89804d9d2b7510fd441fb121b618#npm:4.0.0"],\
|
||||
["@octokit/plugin-rest-endpoint-methods", "virtual:4561cebc7178ada64ce18c0aeed396852b7aeaba4f74421f21ba3e30dbf678d80e4d99e34e12bd5d2189e9af698f708ddc3e89804d9d2b7510fd441fb121b618#npm:10.0.0"]\
|
||||
["@octokit/plugin-rest-endpoint-methods", "virtual:4561cebc7178ada64ce18c0aeed396852b7aeaba4f74421f21ba3e30dbf678d80e4d99e34e12bd5d2189e9af698f708ddc3e89804d9d2b7510fd441fb121b618#npm:10.3.0"]\
|
||||
],\
|
||||
"linkType": "HARD"\
|
||||
}]\
|
||||
]],\
|
||||
["@octokit/types", [\
|
||||
["npm:11.1.0", {\
|
||||
"packageLocation": "./.yarn/cache/@octokit-types-npm-11.1.0-668299c1c7-ebd510c14c.zip/node_modules/@octokit/types/",\
|
||||
["npm:12.5.0", {\
|
||||
"packageLocation": "./.yarn/cache/@octokit-types-npm-12.5.0-17ac978d21-a2c8e736e3.zip/node_modules/@octokit/types/",\
|
||||
"packageDependencies": [\
|
||||
["@octokit/types", "npm:11.1.0"],\
|
||||
["@octokit/openapi-types", "npm:18.0.0"]\
|
||||
],\
|
||||
"linkType": "HARD"\
|
||||
}],\
|
||||
["npm:12.0.0", {\
|
||||
"packageLocation": "./.yarn/cache/@octokit-types-npm-12.0.0-b74b3121ec-68faa94efa.zip/node_modules/@octokit/types/",\
|
||||
"packageDependencies": [\
|
||||
["@octokit/types", "npm:12.0.0"],\
|
||||
["@octokit/openapi-types", "npm:19.0.0"]\
|
||||
["@octokit/types", "npm:12.5.0"],\
|
||||
["@octokit/openapi-types", "npm:19.1.0"]\
|
||||
],\
|
||||
"linkType": "HARD"\
|
||||
}]\
|
||||
@ -610,19 +593,19 @@ const RAW_RUNTIME_STATE =
|
||||
}]\
|
||||
]],\
|
||||
["@sapphire/async-queue", [\
|
||||
["npm:1.5.0", {\
|
||||
"packageLocation": "./.yarn/cache/@sapphire-async-queue-npm-1.5.0-f065e42c78-d22feb63a2.zip/node_modules/@sapphire/async-queue/",\
|
||||
["npm:1.5.2", {\
|
||||
"packageLocation": "./.yarn/cache/@sapphire-async-queue-npm-1.5.2-ea45a21892-55e0785997.zip/node_modules/@sapphire/async-queue/",\
|
||||
"packageDependencies": [\
|
||||
["@sapphire/async-queue", "npm:1.5.0"]\
|
||||
["@sapphire/async-queue", "npm:1.5.2"]\
|
||||
],\
|
||||
"linkType": "HARD"\
|
||||
}]\
|
||||
]],\
|
||||
["@sapphire/shapeshift", [\
|
||||
["npm:3.9.3", {\
|
||||
"packageLocation": "./.yarn/cache/@sapphire-shapeshift-npm-3.9.3-cc74b670e7-9fce0135d4.zip/node_modules/@sapphire/shapeshift/",\
|
||||
["npm:3.9.6", {\
|
||||
"packageLocation": "./.yarn/cache/@sapphire-shapeshift-npm-3.9.6-b36d857d93-9d7ab3b334.zip/node_modules/@sapphire/shapeshift/",\
|
||||
"packageDependencies": [\
|
||||
["@sapphire/shapeshift", "npm:3.9.3"],\
|
||||
["@sapphire/shapeshift", "npm:3.9.6"],\
|
||||
["fast-deep-equal", "npm:3.1.3"],\
|
||||
["lodash", "npm:4.17.21"]\
|
||||
],\
|
||||
@ -636,6 +619,13 @@ const RAW_RUNTIME_STATE =
|
||||
["@sapphire/snowflake", "npm:3.5.1"]\
|
||||
],\
|
||||
"linkType": "HARD"\
|
||||
}],\
|
||||
["npm:3.5.3", {\
|
||||
"packageLocation": "./.yarn/cache/@sapphire-snowflake-npm-3.5.3-427ca2a4ee-f306626f76.zip/node_modules/@sapphire/snowflake/",\
|
||||
"packageDependencies": [\
|
||||
["@sapphire/snowflake", "npm:3.5.3"]\
|
||||
],\
|
||||
"linkType": "HARD"\
|
||||
}]\
|
||||
]],\
|
||||
["@sequelize/core", [\
|
||||
@ -737,10 +727,10 @@ const RAW_RUNTIME_STATE =
|
||||
}]\
|
||||
]],\
|
||||
["@types/node", [\
|
||||
["npm:20.11.17", {\
|
||||
"packageLocation": "./.yarn/cache/@types-node-npm-20.11.17-5185bfb3de-3342df8725.zip/node_modules/@types/node/",\
|
||||
["npm:20.11.19", {\
|
||||
"packageLocation": "./.yarn/cache/@types-node-npm-20.11.19-5d4958999b-c7f4705d6c.zip/node_modules/@types/node/",\
|
||||
"packageDependencies": [\
|
||||
["@types/node", "npm:20.11.17"],\
|
||||
["@types/node", "npm:20.11.19"],\
|
||||
["undici-types", "npm:5.26.5"]\
|
||||
],\
|
||||
"linkType": "HARD"\
|
||||
@ -760,9 +750,9 @@ const RAW_RUNTIME_STATE =
|
||||
"packageLocation": "./.yarn/cache/@types-pg-npm-8.11.0-bf104da0ba-91a7ccc5dc.zip/node_modules/@types/pg/",\
|
||||
"packageDependencies": [\
|
||||
["@types/pg", "npm:8.11.0"],\
|
||||
["@types/node", "npm:20.11.17"],\
|
||||
["@types/node", "npm:20.11.19"],\
|
||||
["pg-protocol", "npm:1.6.0"],\
|
||||
["pg-types", "npm:4.0.1"]\
|
||||
["pg-types", "npm:4.0.2"]\
|
||||
],\
|
||||
"linkType": "HARD"\
|
||||
}]\
|
||||
@ -777,20 +767,28 @@ const RAW_RUNTIME_STATE =
|
||||
}]\
|
||||
]],\
|
||||
["@types/ws", [\
|
||||
["npm:8.5.10", {\
|
||||
"packageLocation": "./.yarn/cache/@types-ws-npm-8.5.10-a877a38f71-9b414dc5e0.zip/node_modules/@types/ws/",\
|
||||
"packageDependencies": [\
|
||||
["@types/ws", "npm:8.5.10"],\
|
||||
["@types/node", "npm:20.11.19"]\
|
||||
],\
|
||||
"linkType": "HARD"\
|
||||
}],\
|
||||
["npm:8.5.9", {\
|
||||
"packageLocation": "./.yarn/cache/@types-ws-npm-8.5.9-91d1b2ab07-7cf66383b8.zip/node_modules/@types/ws/",\
|
||||
"packageDependencies": [\
|
||||
["@types/ws", "npm:8.5.9"],\
|
||||
["@types/node", "npm:20.11.17"]\
|
||||
["@types/node", "npm:20.11.19"]\
|
||||
],\
|
||||
"linkType": "HARD"\
|
||||
}]\
|
||||
]],\
|
||||
["@vladfrangu/async_event_emitter", [\
|
||||
["npm:2.2.2", {\
|
||||
"packageLocation": "./.yarn/cache/@vladfrangu-async_event_emitter-npm-2.2.2-d94a9ff4bf-1c1fcee04a.zip/node_modules/@vladfrangu/async_event_emitter/",\
|
||||
["npm:2.2.4", {\
|
||||
"packageLocation": "./.yarn/cache/@vladfrangu-async_event_emitter-npm-2.2.4-0297e524e2-06de49380d.zip/node_modules/@vladfrangu/async_event_emitter/",\
|
||||
"packageDependencies": [\
|
||||
["@vladfrangu/async_event_emitter", "npm:2.2.2"]\
|
||||
["@vladfrangu/async_event_emitter", "npm:2.2.4"]\
|
||||
],\
|
||||
"linkType": "HARD"\
|
||||
}]\
|
||||
@ -860,7 +858,7 @@ const RAW_RUNTIME_STATE =
|
||||
["@sequelize/core", "virtual:20c353e2d6536e37339997f03975c6a660f4d296e664d291bd43620c6162cca8eb5ef90b0998dc9db75ff6862e5da587d0530bae26805f5fadc8f17aaa4ff794#npm:7.0.0-alpha.37"],\
|
||||
["@toast/tokenservice-client", "npm:1.0.12::__archiveUrl=https%3A%2F%2Fgit.toast-server.net%2Fapi%2Fpackages%2Ftoast%2Fnpm%2F%2540toast%252Ftokenservice-client%2F-%2F1.0.12%2Ftokenservice-client-1.0.12.tgz"],\
|
||||
["@types/ms", "npm:0.7.34"],\
|
||||
["@types/node", "npm:20.11.17"],\
|
||||
["@types/node", "npm:20.11.19"],\
|
||||
["@types/node-cron", "npm:3.0.11"],\
|
||||
["@types/pg", "npm:8.11.0"],\
|
||||
["ansi-colors", "npm:4.1.3"],\
|
||||
@ -874,7 +872,7 @@ const RAW_RUNTIME_STATE =
|
||||
["postgres-array", "npm:3.0.2"],\
|
||||
["redis", "npm:4.6.13"],\
|
||||
["simple-git", "npm:3.22.0"],\
|
||||
["systeminformation", "npm:5.21.24"],\
|
||||
["systeminformation", "npm:5.21.25"],\
|
||||
["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin<compat/typescript>::version=5.3.3&hash=e012d7"],\
|
||||
["undici", "npm:6.6.2"]\
|
||||
],\
|
||||
@ -939,7 +937,7 @@ const RAW_RUNTIME_STATE =
|
||||
["@discordjs/builders", "npm:1.7.0"],\
|
||||
["@discordjs/collection", "npm:1.5.3"],\
|
||||
["@discordjs/formatters", "npm:0.3.3"],\
|
||||
["@discordjs/rest", "npm:2.1.0"],\
|
||||
["@discordjs/rest", "npm:2.2.0"],\
|
||||
["@discordjs/util", "npm:1.0.2"],\
|
||||
["@discordjs/ws", "npm:1.0.2"],\
|
||||
["@sapphire/snowflake", "npm:3.5.1"],\
|
||||
@ -949,7 +947,7 @@ const RAW_RUNTIME_STATE =
|
||||
["lodash.snakecase", "npm:4.1.1"],\
|
||||
["tslib", "npm:2.6.2"],\
|
||||
["undici", "npm:5.27.2"],\
|
||||
["ws", "virtual:552886b752de310ce54ce9fe76f5f504adf18fc8ec7c33962afaf94cac7fd12c596749c04ccf8740475eb03deab723875176f4c0ec75af813419d58b693916c7#npm:8.14.2"]\
|
||||
["ws", "virtual:7feafdd094ad6275283a846734a985b328f6276c572be699c3cd222f225950a6149bd59860283b560994d122492d4b24c52e9f01ab6126fee372a3bf43637066#npm:8.14.2"]\
|
||||
],\
|
||||
"linkType": "HARD"\
|
||||
}]\
|
||||
@ -1072,15 +1070,6 @@ const RAW_RUNTIME_STATE =
|
||||
"linkType": "HARD"\
|
||||
}]\
|
||||
]],\
|
||||
["is-plain-object", [\
|
||||
["npm:5.0.0", {\
|
||||
"packageLocation": "./.yarn/cache/is-plain-object-npm-5.0.0-285b70faa3-e32d27061e.zip/node_modules/is-plain-object/",\
|
||||
"packageDependencies": [\
|
||||
["is-plain-object", "npm:5.0.0"]\
|
||||
],\
|
||||
"linkType": "HARD"\
|
||||
}]\
|
||||
]],\
|
||||
["lodash", [\
|
||||
["npm:4.17.21", {\
|
||||
"packageLocation": "./.yarn/cache/lodash-npm-4.17.21-6382451519-c08619c038.zip/node_modules/lodash/",\
|
||||
@ -1110,10 +1099,10 @@ const RAW_RUNTIME_STATE =
|
||||
}]\
|
||||
]],\
|
||||
["magic-bytes.js", [\
|
||||
["npm:1.5.0", {\
|
||||
"packageLocation": "./.yarn/cache/magic-bytes.js-npm-1.5.0-ea66807a2e-ffb86aec8f.zip/node_modules/magic-bytes.js/",\
|
||||
["npm:1.8.0", {\
|
||||
"packageLocation": "./.yarn/cache/magic-bytes.js-npm-1.8.0-995d257f15-781c932f64.zip/node_modules/magic-bytes.js/",\
|
||||
"packageDependencies": [\
|
||||
["magic-bytes.js", "npm:1.5.0"]\
|
||||
["magic-bytes.js", "npm:1.8.0"]\
|
||||
],\
|
||||
"linkType": "HARD"\
|
||||
}]\
|
||||
@ -1312,17 +1301,17 @@ const RAW_RUNTIME_STATE =
|
||||
],\
|
||||
"linkType": "HARD"\
|
||||
}],\
|
||||
["npm:4.0.1", {\
|
||||
"packageLocation": "./.yarn/cache/pg-types-npm-4.0.1-8f922557d3-2c686ef361.zip/node_modules/pg-types/",\
|
||||
["npm:4.0.2", {\
|
||||
"packageLocation": "./.yarn/cache/pg-types-npm-4.0.2-771d83bf15-f4d529da86.zip/node_modules/pg-types/",\
|
||||
"packageDependencies": [\
|
||||
["pg-types", "npm:4.0.1"],\
|
||||
["pg-types", "npm:4.0.2"],\
|
||||
["pg-int8", "npm:1.0.1"],\
|
||||
["pg-numeric", "npm:1.0.2"],\
|
||||
["postgres-array", "npm:3.0.2"],\
|
||||
["postgres-bytea", "npm:3.0.0"],\
|
||||
["postgres-date", "npm:2.0.1"],\
|
||||
["postgres-date", "npm:2.1.0"],\
|
||||
["postgres-interval", "npm:3.0.0"],\
|
||||
["postgres-range", "npm:1.1.3"]\
|
||||
["postgres-range", "npm:1.1.4"]\
|
||||
],\
|
||||
"linkType": "HARD"\
|
||||
}]\
|
||||
@ -1387,10 +1376,10 @@ const RAW_RUNTIME_STATE =
|
||||
],\
|
||||
"linkType": "HARD"\
|
||||
}],\
|
||||
["npm:2.0.1", {\
|
||||
"packageLocation": "./.yarn/cache/postgres-date-npm-2.0.1-00e0e0bc9e-908eacec35.zip/node_modules/postgres-date/",\
|
||||
["npm:2.1.0", {\
|
||||
"packageLocation": "./.yarn/cache/postgres-date-npm-2.1.0-710ac64466-faa1c70dfa.zip/node_modules/postgres-date/",\
|
||||
"packageDependencies": [\
|
||||
["postgres-date", "npm:2.0.1"]\
|
||||
["postgres-date", "npm:2.1.0"]\
|
||||
],\
|
||||
"linkType": "HARD"\
|
||||
}]\
|
||||
@ -1413,10 +1402,10 @@ const RAW_RUNTIME_STATE =
|
||||
}]\
|
||||
]],\
|
||||
["postgres-range", [\
|
||||
["npm:1.1.3", {\
|
||||
"packageLocation": "./.yarn/cache/postgres-range-npm-1.1.3-46f68e1a9e-356a46d97e.zip/node_modules/postgres-range/",\
|
||||
["npm:1.1.4", {\
|
||||
"packageLocation": "./.yarn/cache/postgres-range-npm-1.1.4-018d46d348-035759f17b.zip/node_modules/postgres-range/",\
|
||||
"packageDependencies": [\
|
||||
["postgres-range", "npm:1.1.3"]\
|
||||
["postgres-range", "npm:1.1.4"]\
|
||||
],\
|
||||
"linkType": "HARD"\
|
||||
}]\
|
||||
@ -1523,10 +1512,10 @@ const RAW_RUNTIME_STATE =
|
||||
}]\
|
||||
]],\
|
||||
["systeminformation", [\
|
||||
["npm:5.21.24", {\
|
||||
"packageLocation": "./.yarn/unplugged/systeminformation-npm-5.21.24-211bacc546/node_modules/systeminformation/",\
|
||||
["npm:5.21.25", {\
|
||||
"packageLocation": "./.yarn/unplugged/systeminformation-npm-5.21.25-046c250fe0/node_modules/systeminformation/",\
|
||||
"packageDependencies": [\
|
||||
["systeminformation", "npm:5.21.24"]\
|
||||
["systeminformation", "npm:5.21.25"]\
|
||||
],\
|
||||
"linkType": "HARD"\
|
||||
}]\
|
||||
@ -1600,7 +1589,7 @@ const RAW_RUNTIME_STATE =
|
||||
"packageLocation": "./.yarn/cache/undici-npm-5.27.2-141c109c0a-2bf96b102f.zip/node_modules/undici/",\
|
||||
"packageDependencies": [\
|
||||
["undici", "npm:5.27.2"],\
|
||||
["@fastify/busboy", "npm:2.0.0"]\
|
||||
["@fastify/busboy", "npm:2.1.0"]\
|
||||
],\
|
||||
"linkType": "HARD"\
|
||||
}],\
|
||||
@ -1608,7 +1597,7 @@ const RAW_RUNTIME_STATE =
|
||||
"packageLocation": "./.yarn/cache/undici-npm-6.6.2-a0bd6785a6-e08ac9c279.zip/node_modules/undici/",\
|
||||
"packageDependencies": [\
|
||||
["undici", "npm:6.6.2"],\
|
||||
["@fastify/busboy", "npm:2.0.0"]\
|
||||
["@fastify/busboy", "npm:2.1.0"]\
|
||||
],\
|
||||
"linkType": "HARD"\
|
||||
}]\
|
||||
@ -1623,10 +1612,10 @@ const RAW_RUNTIME_STATE =
|
||||
}]\
|
||||
]],\
|
||||
["universal-user-agent", [\
|
||||
["npm:6.0.0", {\
|
||||
"packageLocation": "./.yarn/cache/universal-user-agent-npm-6.0.0-b148fb997a-5092bbc80d.zip/node_modules/universal-user-agent/",\
|
||||
["npm:6.0.1", {\
|
||||
"packageLocation": "./.yarn/cache/universal-user-agent-npm-6.0.1-0388aac597-fdc8e1ae48.zip/node_modules/universal-user-agent/",\
|
||||
"packageDependencies": [\
|
||||
["universal-user-agent", "npm:6.0.0"]\
|
||||
["universal-user-agent", "npm:6.0.1"]\
|
||||
],\
|
||||
"linkType": "HARD"\
|
||||
}]\
|
||||
@ -1661,7 +1650,7 @@ const RAW_RUNTIME_STATE =
|
||||
"packageLocation": "./.yarn/cache/wkx-npm-0.5.0-fca5152cd8-b8975e33f9.zip/node_modules/wkx/",\
|
||||
"packageDependencies": [\
|
||||
["wkx", "npm:0.5.0"],\
|
||||
["@types/node", "npm:20.11.17"]\
|
||||
["@types/node", "npm:20.11.19"]\
|
||||
],\
|
||||
"linkType": "HARD"\
|
||||
}]\
|
||||
@ -1683,10 +1672,34 @@ const RAW_RUNTIME_STATE =
|
||||
],\
|
||||
"linkType": "SOFT"\
|
||||
}],\
|
||||
["virtual:552886b752de310ce54ce9fe76f5f504adf18fc8ec7c33962afaf94cac7fd12c596749c04ccf8740475eb03deab723875176f4c0ec75af813419d58b693916c7#npm:8.14.2", {\
|
||||
"packageLocation": "./.yarn/__virtual__/ws-virtual-c9d0a10f0a/0/cache/ws-npm-8.14.2-b339ac47a2-815ff01d9b.zip/node_modules/ws/",\
|
||||
["npm:8.16.0", {\
|
||||
"packageLocation": "./.yarn/cache/ws-npm-8.16.0-46943f6199-7c511c59e9.zip/node_modules/ws/",\
|
||||
"packageDependencies": [\
|
||||
["ws", "virtual:552886b752de310ce54ce9fe76f5f504adf18fc8ec7c33962afaf94cac7fd12c596749c04ccf8740475eb03deab723875176f4c0ec75af813419d58b693916c7#npm:8.14.2"],\
|
||||
["ws", "npm:8.16.0"]\
|
||||
],\
|
||||
"linkType": "SOFT"\
|
||||
}],\
|
||||
["virtual:552886b752de310ce54ce9fe76f5f504adf18fc8ec7c33962afaf94cac7fd12c596749c04ccf8740475eb03deab723875176f4c0ec75af813419d58b693916c7#npm:8.16.0", {\
|
||||
"packageLocation": "./.yarn/__virtual__/ws-virtual-f404185dbb/0/cache/ws-npm-8.16.0-46943f6199-7c511c59e9.zip/node_modules/ws/",\
|
||||
"packageDependencies": [\
|
||||
["ws", "virtual:552886b752de310ce54ce9fe76f5f504adf18fc8ec7c33962afaf94cac7fd12c596749c04ccf8740475eb03deab723875176f4c0ec75af813419d58b693916c7#npm:8.16.0"],\
|
||||
["@types/bufferutil", null],\
|
||||
["@types/utf-8-validate", null],\
|
||||
["bufferutil", null],\
|
||||
["utf-8-validate", null]\
|
||||
],\
|
||||
"packagePeers": [\
|
||||
"@types/bufferutil",\
|
||||
"@types/utf-8-validate",\
|
||||
"bufferutil",\
|
||||
"utf-8-validate"\
|
||||
],\
|
||||
"linkType": "HARD"\
|
||||
}],\
|
||||
["virtual:7feafdd094ad6275283a846734a985b328f6276c572be699c3cd222f225950a6149bd59860283b560994d122492d4b24c52e9f01ab6126fee372a3bf43637066#npm:8.14.2", {\
|
||||
"packageLocation": "./.yarn/__virtual__/ws-virtual-7b988da0bc/0/cache/ws-npm-8.14.2-b339ac47a2-815ff01d9b.zip/node_modules/ws/",\
|
||||
"packageDependencies": [\
|
||||
["ws", "virtual:7feafdd094ad6275283a846734a985b328f6276c572be699c3cd222f225950a6149bd59860283b560994d122492d4b24c52e9f01ab6126fee372a3bf43637066#npm:8.14.2"],\
|
||||
["@types/bufferutil", null],\
|
||||
["@types/utf-8-validate", null],\
|
||||
["bufferutil", null],\
|
||||
|
@ -7,7 +7,7 @@ services:
|
||||
- 6379:6379/tcp
|
||||
db:
|
||||
container_name: postgres-master
|
||||
image: postgres:16.1-alpine3.19
|
||||
image: postgres:16.2-alpine3.19
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- 5432:5432/tcp
|
||||
|
@ -47,12 +47,12 @@
|
||||
"postgres-array": "3.0.2",
|
||||
"redis": "4.6.13",
|
||||
"simple-git": "3.22.0",
|
||||
"systeminformation": "5.21.24",
|
||||
"systeminformation": "5.21.25",
|
||||
"undici": "6.6.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/ms": "0.7.34",
|
||||
"@types/node": "20.11.17",
|
||||
"@types/node": "20.11.19",
|
||||
"@types/node-cron": "3.0.11",
|
||||
"@types/pg": "8.11.0",
|
||||
"typescript": "5.3.3"
|
||||
|
@ -8,7 +8,7 @@ services:
|
||||
- 6379:6379/tcp
|
||||
db-slave:
|
||||
container_name: postgres-slave
|
||||
image: postgres:16.1-alpine3.19
|
||||
image: postgres:16.2-alpine3.19
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- 5432:5432/tcp
|
||||
|
@ -43,6 +43,7 @@ export default class TClient extends Discord.Client {
|
||||
public ytChannels: YouTubeChannelsSvc = new YouTubeChannelsSvc();
|
||||
public repeatedMessages: IRepeatedMessages = {};
|
||||
public crosspostSpam: ICrosspostSpam = {};
|
||||
public memberJoinDates: Map<Discord.Snowflake, string> = new Map();
|
||||
|
||||
constructor() {
|
||||
super({
|
||||
@ -51,9 +52,11 @@ export default class TClient extends Discord.Client {
|
||||
Discord.GatewayIntentBits.GuildModeration, Discord.GatewayIntentBits.GuildInvites,
|
||||
Discord.GatewayIntentBits.GuildPresences, Discord.GatewayIntentBits.MessageContent,
|
||||
Discord.GatewayIntentBits.GuildMessages, Discord.GatewayIntentBits.DirectMessages
|
||||
], partials: [
|
||||
Discord.Partials.Channel, Discord.Partials.Message
|
||||
], allowedMentions: {users:[], roles:[]}
|
||||
],
|
||||
partials: [
|
||||
Discord.Partials.Message
|
||||
],
|
||||
allowedMentions: {users:[], roles:[]}
|
||||
})
|
||||
this.config = ConfigHelper.loadConfig() as Config;
|
||||
this.setMaxListeners(50);
|
||||
|
@ -3,7 +3,7 @@ import TClient from '../client.js';
|
||||
import MessageTool from '../helpers/MessageTool.js';
|
||||
export default class InviteInfo {
|
||||
static async run(client: TClient, interaction: Discord.ChatInputCommandInteraction<'cached'>){
|
||||
await client.fetchInvite(interaction.options.getString('code',true).replace(/(https:\/\/|discord.gg\/)/g,'')).then(async inviteData=>
|
||||
await client.fetchInvite(interaction.options.getString('code',true).replace(/(https:\/\/)/g,'')).then(async inviteData=>
|
||||
await interaction.reply({embeds:[new client.embed()
|
||||
.setColor(client.config.embedColor).setURL(`https://discord.gg/${inviteData.code}`).setTitle(inviteData.guild.name).setDescription(MessageTool.concatMessage(
|
||||
`ID: \`${inviteData.guild.id}\``,
|
||||
|
@ -1,7 +1,7 @@
|
||||
import Discord from 'discord.js';
|
||||
import TClient from '../client.js';
|
||||
import Logger from '../helpers/Logger.js';
|
||||
import CanvasBuilder from '../components/CanvasGraph.js';
|
||||
import CanvasBuilder from '../components/CanvasBuilder.js';
|
||||
import RanIntoHumor from '../helpers/RanIntoHumor.js';
|
||||
import MessageTool from '../helpers/MessageTool.js';
|
||||
import PalletLibrary from '../helpers/PalletLibrary.js';
|
||||
@ -9,10 +9,14 @@ import {FSData} from 'src/interfaces';
|
||||
import {requestServerData, mpModuleDisabled, refreshTimerSecs, playtimeStat} from '../modules/MPModule.js';
|
||||
|
||||
async function fetchData(client:TClient, interaction:Discord.ChatInputCommandInteraction, serverName:string):Promise<FSData|Discord.InteractionResponse> {
|
||||
const db = await client.MPServer.findInCache();
|
||||
const data = await requestServerData(client, db.find(x=>x.serverName === serverName));
|
||||
if (!data) return interaction.reply('Ran into a '+RanIntoHumor+' while trying to retrieve server data, please try again later.');
|
||||
return data.dss as FSData;
|
||||
try {
|
||||
const db = await client.MPServer.findInCache();
|
||||
const data = await requestServerData(client, db.find(x=>x.serverName === serverName));
|
||||
return data.dss as FSData;
|
||||
} catch {
|
||||
Logger.console('error', 'MPDB', 'Function failed - fetchData');
|
||||
return interaction.reply('Ran into a '+RanIntoHumor()+' while trying to retrieve server data, please try again later.');
|
||||
}
|
||||
}
|
||||
|
||||
const logPrefix = 'MPDB';
|
||||
@ -39,30 +43,33 @@ export default class MP {
|
||||
if (!DSS) return console.log('Endpoint failed - players');
|
||||
|
||||
const PDArr = await client.MPServer.fetchPlayerData(choiceSelector);
|
||||
const canvas = await new CanvasBuilder().generateGraph(PDArr.slice(-120), 'players');
|
||||
const canvas = await CanvasBuilder.generateGraph(PDArr.slice(-120), 'players');
|
||||
const players:string[] = [];
|
||||
let embedColor:Discord.ColorResolvable;
|
||||
switch (true){
|
||||
case DSS?.slots?.used === DSS?.slots.capacity:
|
||||
embedColor = client.config.embedColorRed;
|
||||
break;
|
||||
case DSS?.slots?.used > 8:
|
||||
embedColor = client.config.embedColorYellow;
|
||||
break;
|
||||
default:
|
||||
embedColor = client.config.embedColorGreen;
|
||||
}
|
||||
for (const player of DSS.slots.players.filter(x=>x.isUsed)) players.push(playtimeStat(player))
|
||||
|
||||
let attachmentName:string = 'MPModule.jpg';
|
||||
await interaction.reply({embeds:[new client.embed()
|
||||
.setTitle(DSS.server?.name.length > 0 ? DSS.server.name : 'Offline')
|
||||
.setColor(embedColor)
|
||||
.setDescription(DSS?.slots?.used < 1 ? '*Nobody is playing*' : players.join('\n\n'))
|
||||
.setImage(`attachment://${attachmentName}`)
|
||||
.setAuthor({name: `${DSS.slots.used}/${DSS.slots.capacity}`})
|
||||
.setFooter({text: `Current time: ${('0'+Math.floor((DSS?.server.dayTime/3600/1000))).slice(-2)}:${('0'+Math.floor((DSS?.server.dayTime/60/1000)%60)).slice(-2)}`})
|
||||
], files: [new client.attachment(canvas.toBuffer('image/jpeg'), {name: attachmentName})]})
|
||||
try {
|
||||
switch (true){
|
||||
case DSS?.slots?.used === DSS?.slots?.capacity:
|
||||
embedColor = client.config.embedColorRed;
|
||||
break;
|
||||
case DSS?.slots?.used > 8:
|
||||
embedColor = client.config.embedColorYellow;
|
||||
break;
|
||||
default:
|
||||
embedColor = client.config.embedColorGreen;
|
||||
}
|
||||
for (const player of DSS.slots.players.filter(x=>x.isUsed)) players.push(playtimeStat(player))
|
||||
let attachmentName:string = 'MPModule.jpg';
|
||||
|
||||
await interaction.reply({embeds:[new client.embed()
|
||||
.setTitle(DSS.server?.name.length > 0 ? DSS.server.name : 'Offline')
|
||||
.setColor(embedColor)
|
||||
.setDescription(DSS?.slots?.used < 1 ? '*Nobody is playing*' : players.join('\n\n'))
|
||||
.setImage(`attachment://${attachmentName}`)
|
||||
.setAuthor({name: `${DSS.slots?.used}/${DSS.slots?.capacity}`})
|
||||
.setFooter({text: `Current time: ${('0'+Math.floor((DSS?.server.dayTime/3600/1000))).slice(-2)}:${('0'+Math.floor((DSS?.server.dayTime/60/1000)%60)).slice(-2)}`})
|
||||
], files: [new client.attachment(canvas.toBuffer('image/jpeg'), {name: attachmentName})]});
|
||||
} catch {}
|
||||
},
|
||||
details: async()=>{
|
||||
const DSS = await fetchData(client, interaction, choiceSelector) as FSData;
|
||||
@ -71,26 +78,25 @@ export default class MP {
|
||||
const server = db.find(x=>x.serverName === choiceSelector);
|
||||
|
||||
const dEmbed = new client.embed().setColor(client.config.embedColor).setAuthor({name: 'Crossplay server'}).setDescription(MessageTool.concatMessage(
|
||||
`**Name:** \`${DSS?.server.name.length > 0 ? DSS.server.name : '\u200b'}\``,
|
||||
`**Name:** \`${DSS.server?.name.length > 0 ? DSS.server.name : '\u200b'}\``,
|
||||
'**Password:** `mf4700`',
|
||||
`**Map:** \`${DSS.server.mapName.length > 0 ? DSS.server.mapName : 'No map'}\``,
|
||||
`**Map:** \`${DSS.server?.mapName.length > 0 ? DSS.server.mapName : 'No map'}\``,
|
||||
`**Mods:** [Click here](http://${server.ip}/mods.html) **|** [Direct link](http://${server.ip}/all_mods_download?onlyActive=true)`,
|
||||
'**Filters:** [Click here](https://discord.com/channels/468835415093411861/468835769092669461/926581585938120724)',
|
||||
`Please see <#${channels.serverInfo}> for more additional information and rules.`
|
||||
));
|
||||
if (DSS.server.name.length < 1) dEmbed.setFooter({text: 'Server is currently offline'});
|
||||
await interaction.reply({embeds: [dEmbed]})
|
||||
if (DSS.server?.name.length < 1) dEmbed.setFooter({text: 'Server is currently offline'});
|
||||
DSS.server ? await interaction.reply({embeds: [dEmbed]}) : null;
|
||||
},
|
||||
status: async()=>{
|
||||
const DSS = await fetchData(client, interaction, choiceSelector) as FSData;
|
||||
if (!DSS) return console.log('Endpoint failed - status');
|
||||
if (DSS.server.name.length > 0) {
|
||||
await interaction.reply({embeds: [new client.embed().setColor(client.config.embedColor).addFields(
|
||||
{name: 'Name', value: `\`${DSS?.server.name}\``},
|
||||
{name: 'Players', value: `${DSS.slots.used}/${DSS.slots.capacity}`},
|
||||
{name: 'Map', value: DSS?.server.mapName}
|
||||
).setFooter({text: `Version: ${DSS?.server.version} | Time: ${`${('0'+Math.floor((DSS?.server.dayTime/3600/1000))).slice(-2)}:${('0'+Math.floor((DSS?.server.dayTime/60/1000)%60)).slice(-2)}`}`})]})
|
||||
} else return interaction.reply('Server is currently offline.')
|
||||
|
||||
DSS.server ? await interaction.reply({embeds: [new client.embed().setColor(client.config.embedColor).addFields(
|
||||
{name: 'Name', value: DSS.server?.name?.length < 1 ? '*`Offline`*' : `\`${DSS?.server?.name}\``},
|
||||
{name: 'Players', value: `${DSS?.slots.used}/${DSS?.slots.capacity}`},
|
||||
{name: 'Map', value: DSS?.server.mapName}
|
||||
).setFooter({text: `Version: ${DSS?.server?.version} | Time: ${`${('0'+Math.floor((DSS?.server.dayTime/3600/1000))).slice(-2)}:${('0'+Math.floor((DSS?.server.dayTime/60/1000)%60)).slice(-2)}`}`})]}) : null
|
||||
},
|
||||
pallets: async()=>{
|
||||
const DSS = await fetchData(client, interaction, choiceSelector) as FSData;
|
||||
@ -114,16 +120,12 @@ export default class MP {
|
||||
const reason = interaction.options.getString('reason');
|
||||
const channel = interaction.guild.channels.cache.get(channels.activePlayers) as Discord.TextChannel;
|
||||
const embed = new client.embed().setColor(client.config.embedColor).setAuthor({name: interaction.member.displayName, iconURL: interaction.member.displayAvatarURL({size:1024})}).setTimestamp();
|
||||
const isLocked = channel.permissionsFor(interaction.guildId).has('SendMessages');
|
||||
const titleAction = isLocked ? '🔒 Locked' : '🔓 Unlocked';
|
||||
|
||||
if (channel.permissionsFor(interaction.guildId).has('SendMessages')) {
|
||||
channel.permissionOverwrites.edit(interaction.guildId, {SendMessages: false}, {type: 0, reason: `Locked by ${interaction.member.displayName}`});
|
||||
channel.send({embeds: [embed.setTitle('🔒 Locked').setDescription(`**Reason:**\n${reason}`)]});
|
||||
interaction.reply({content: `${MessageTool.formatMention(channels.activePlayers, 'channel')} locked successfully`, ephemeral: true});
|
||||
} else {
|
||||
channel.permissionOverwrites.edit(interaction.guildId, {SendMessages: true}, {type: 0, reason: `Unlocked by ${interaction.member.displayName}`});
|
||||
channel.send({embeds: [embed.setTitle('🔓 Unlocked').setDescription(`**Reason:**\n${reason}`)]});
|
||||
interaction.reply({content: `${MessageTool.formatMention(channels.activePlayers, 'channel')} unlocked successfully`, ephemeral: true});
|
||||
}
|
||||
channel.permissionOverwrites.edit(interaction.guildId, {SendMessages: !isLocked}, {type: 0, reason: `${isLocked ? 'Locked' : 'Unlocked'} by ${interaction.member.displayName}`});
|
||||
channel.send({embeds: [embed.setTitle(titleAction).setDescription(`**Reason:**\n${reason}`)]});
|
||||
interaction.reply({content: `${MessageTool.formatMention(channels.activePlayers, 'channel')} ${isLocked ? 'locked' : 'unlocked'} successfully`, ephemeral: true});
|
||||
},
|
||||
start: async()=>{
|
||||
if (client.config.dcServer.id === interaction.guildId) {
|
||||
|
@ -3,7 +3,7 @@ import Discord from 'discord.js';
|
||||
import TClient from '../client.js';
|
||||
import Formatters from '../helpers/Formatters.js';
|
||||
import MessageTool from '../helpers/MessageTool.js';
|
||||
import CanvasBuilder from '../components/CanvasGraph.js';
|
||||
import CanvasBuilder from '../components/CanvasBuilder.js';
|
||||
export default class Rank {
|
||||
static async run(client: TClient, interaction: Discord.ChatInputCommandInteraction<'cached'>){
|
||||
if (interaction.guildId !== client.config.dcServer.id) return interaction.reply({content: 'This command doesn\'t work in this server.', ephemeral: true});
|
||||
@ -32,7 +32,7 @@ export default class Rank {
|
||||
});
|
||||
if (data.length < 2) return interaction.reply('Not enough data to generate graph.');
|
||||
|
||||
const graph = await new CanvasBuilder().generateGraph(data, 'leaderboard');
|
||||
const graph = await CanvasBuilder.generateGraph(data, 'leaderboard');
|
||||
interaction.reply({
|
||||
embeds: [new client.embed().setColor(client.config.embedColor).setTitle('Leaderboard')
|
||||
.setDescription(MessageTool.concatMessage(
|
||||
|
@ -28,22 +28,23 @@ export default class Statistics {
|
||||
const nameLen = Math.max(...cmdUses.map(x=>x.command.data.name.length), col[0].length) + 2;
|
||||
const usesLen = Math.max(...cmdUses.map(x=>x.uses.toString().length), col[1].length) + 1;
|
||||
|
||||
const rows = [`${col[0] + ' '.repeat(nameLen-col[0].length)}|${' '.repeat(usesLen-col[1].length) + col[1]}\n`, '-'.repeat(nameLen) + '-'.repeat(usesLen) + '\n'];
|
||||
const rows = [`${col[0].padEnd(nameLen)}${col[1].padStart(usesLen)}\n`, '־'.repeat(nameLen + usesLen) + '\n'];
|
||||
cmdUses.forEach(cmd=>{
|
||||
const name = cmd.command.data.name;
|
||||
const uses = cmd.uses.toString();
|
||||
rows.push(`${name+' '.repeat(nameLen-name.length)}${' '.repeat(usesLen-uses.length)+uses}\n`);
|
||||
rows.push(`${name.padEnd(nameLen)}${uses.padStart(usesLen)}\n`);
|
||||
});
|
||||
if (rows.join('').length > 1024) {
|
||||
let field = '';
|
||||
rows.forEach(r=>{
|
||||
if (field.length+r.length > 1024) {
|
||||
embed.addFields({name: '\u200b', value: `\`\`\`\n${field}\`\`\``});
|
||||
field = r;
|
||||
}
|
||||
});
|
||||
embed.addFields({name: '\u200b', value: `\`\`\`\n${field}\`\`\``});
|
||||
} else embed.addFields({name: '\u200b', value: `\`\`\`\n${rows.join('')}\`\`\``});
|
||||
|
||||
const fieldChunks = [];
|
||||
let field = '';
|
||||
rows.forEach(r=>{
|
||||
if (field.length+r.length > 1024) {
|
||||
fieldChunks.push(field);
|
||||
field = r;
|
||||
} else field += r;
|
||||
});
|
||||
fieldChunks.push(field);
|
||||
fieldChunks.forEach(field=>embed.addFields({name: '\u200b', value: `\`\`\`\n${field}\`\`\``}));
|
||||
|
||||
const pkg = JSON.parse(readFileSync('package.json', 'utf8'));
|
||||
embed.addFields(
|
||||
|
@ -2,10 +2,10 @@ import {createCanvas, Canvas, SKRSContext2D} from '@napi-rs/canvas';
|
||||
import {Config} from 'src/interfaces';
|
||||
import ConfigHelper from '../helpers/ConfigHelper.js';
|
||||
export default class CanvasBuilder {
|
||||
private readonly canvas: Canvas;
|
||||
private readonly ctx: SKRSContext2D;
|
||||
private readonly config: Config;
|
||||
private readonly palette = {
|
||||
private static readonly canvas: Canvas = createCanvas(1500, 750);
|
||||
private static readonly ctx: SKRSContext2D = this.canvas.getContext('2d');
|
||||
private static readonly config: Config = ConfigHelper.readConfig();
|
||||
private static readonly palette = {
|
||||
// Color palette for the graph -- The variables are named exactly what it shows in graph to make it easier to be referenced to.
|
||||
oddHorizontal: '#555B63',
|
||||
evenHorizontal: '#3E4245',
|
||||
@ -16,13 +16,7 @@ export default class CanvasBuilder {
|
||||
greenLine: '#57F287'
|
||||
};
|
||||
|
||||
constructor() {
|
||||
this.canvas = createCanvas(1500, 750);
|
||||
this.ctx = this.canvas.getContext('2d');
|
||||
this.config = ConfigHelper.readConfig() as Config;
|
||||
}
|
||||
|
||||
public async generateGraph(data:number[], type:'players'|'leaderboard'):Promise<Canvas> {
|
||||
public static async generateGraph(data:number[], type:'players'|'leaderboard'):Promise<Canvas> {
|
||||
// Handle negative
|
||||
for (const [i, change] of data.entries()) if (change < 0) data[i] = data[i - 1] || data[i + 1] || 0;
|
||||
|
@ -6,14 +6,17 @@ export default class GuildBanAdd {
|
||||
const banLog = (await member.guild.fetchAuditLogs({ limit: 1, type: Discord.AuditLogEvent.MemberBanAdd })).entries.first();
|
||||
if (!banLog) return console.log(`Member was banned from ${member.guild.name} but no audit log for this member.`)
|
||||
const {executor, target, reason } = banLog;
|
||||
const members_joindate = client.memberJoinDates.get(member.user.id);
|
||||
if (target.id === member.user.id) {
|
||||
const embed = new client.embed().setColor(client.config.embedColorRed).setTimestamp().setThumbnail(member.user.displayAvatarURL({size: 2048}))
|
||||
.setTitle(`Member Banned: ${target.username}`).addFields(
|
||||
{name: '🔹 Moderator', value: `<@${executor.id}>\n\`${executor.id}\``},
|
||||
{name: '🔹 Server Join Date', value: members_joindate ? `<t:${members_joindate}>\n<t:${members_joindate}:R>` : '*Unknown timestamp*'},
|
||||
{name: '🔹 Reason', value: reason === null ? 'Reason unspecified': reason}
|
||||
);
|
||||
if (!await client.userLevels.fetchUser(member.user.id)) embed.setFooter({text: 'Rank data has been wiped.'});
|
||||
(client.channels.resolve(client.config.dcServer.channels.logs) as Discord.TextChannel).send({embeds: [embed]})
|
||||
(client.channels.resolve(client.config.dcServer.channels.logs) as Discord.TextChannel).send({embeds: [embed]});
|
||||
client.memberJoinDates.delete(member.user.id);
|
||||
} else console.log(`User was banned from "${member.guild.name}" but no audit log could be fetched.`)
|
||||
}
|
||||
}
|
||||
|
@ -4,10 +4,8 @@ export default class GuildMemberRemove {
|
||||
static async run(client:TClient, member:Discord.GuildMember) {
|
||||
if (!client.config.botSwitches.logs) return;
|
||||
if (!member.joinedTimestamp || member.guild?.id != client.config.dcServer.id) return;
|
||||
if (client.guilds.cache.get(client.config.dcServer.id).bans.cache.has(member.id)) {
|
||||
(client.channels.resolve(client.config.dcServer.channels.logs) as Discord.TextChannel).send(`**${member.user.username}**'s join date is <t:${Math.round(member.joinedTimestamp/1000)}>`)
|
||||
return await client.userLevels.deleteUser(member.id);
|
||||
};
|
||||
client.memberJoinDates.set(member.user.id, `${Math.round(member.joinedTimestamp/1000)}`);
|
||||
if (client.guilds.cache.get(client.config.dcServer.id).bans.cache.has(member.id)) return await client.userLevels.deleteUser(member.id);
|
||||
let isBot = 'Bot';
|
||||
if (!member.user.bot) isBot = 'Member';
|
||||
const levelData = await client.userLevels.fetchUser(member.id);
|
||||
|
@ -13,7 +13,7 @@ export default class MessageCreate {
|
||||
if (!message.inGuild()) return (client.channels.resolve(client.config.dcServer.channels.logs) as Discord.TextChannel).send({content: `${this.randomEmotes[Math.floor(Math.random()*this.randomEmotes.length)]} ${MessageTool.formatMention(client.config.whitelist[0], 'user')}\n**${message.author.username}** (\`${message.author.id}\`) sent me a DM, their message is:\`\`\`${message.content}\`\`\``, allowedMentions: {parse: ['users']}});
|
||||
let automodded: boolean;
|
||||
|
||||
if (client.config.botSwitches.automod && !message.member.roles.cache.has(client.config.dcServer.roles.dcmod) && !message.member.roles.cache.has(client.config.dcServer.roles.admin) && message.guildId === client.config.dcServer.id) {
|
||||
if (client.config.botSwitches.automod && !message.member?.roles.cache.has(client.config.dcServer.roles.dcmod) && !message.member?.roles.cache.has(client.config.dcServer.roles.admin) && message.guildId === client.config.dcServer.id) {
|
||||
const automodFailReason = 'msg got possibly deleted by another bot.';
|
||||
const automodRules = {
|
||||
phishingDetection: {
|
||||
@ -76,10 +76,9 @@ export default class MessageCreate {
|
||||
guildBoost: ['Thanks for boosting our server!', 'Thanks for the boost!', 'We appreciate the boost!', `Thank you for the kind boost, <@${message.author.id}>!`],
|
||||
}
|
||||
const GeneralChatID = ConfigHelper.isDevMode() ? '929807948748832801' : '468835415093411863';
|
||||
Response.create(message, GeneralChatID, 'morning');
|
||||
Response.create(message, GeneralChatID, 'afternoon');
|
||||
Response.create(message, GeneralChatID, 'evening');
|
||||
Response.create(message, GeneralChatID, 'night');
|
||||
|
||||
const times_of_day = ['morning', 'afternoon', 'evening', 'night'];
|
||||
for (let i = 0; i < times_of_day.length; i++) Response.create(message, GeneralChatID, times_of_day[i]);
|
||||
|
||||
CmdTrigger.registerCmds(client, message, 'register');
|
||||
CmdTrigger.MFPwTrigger(message, 'farmpw');
|
||||
|
@ -3,7 +3,7 @@ import TClient from '../client.js';
|
||||
import Logger from '../helpers/Logger.js';
|
||||
import {disabledChannels} from '../index.js';
|
||||
export default class MessageDelete {
|
||||
static run(client:TClient, msg:Discord.Message){
|
||||
static run(client:TClient, msg:Discord.Message|Discord.PartialMessage){
|
||||
if (!client.config.botSwitches.logs) return;
|
||||
if (msg.guild?.id != client.config.dcServer.id || msg.partial || msg.author.bot || disabledChannels.includes(msg.channelId)) return;
|
||||
if (Discord.DiscordAPIError.name === '10008') return Logger.console('log', 'MsgDelete', 'Caught an unexpected error returned by Discord API. (Unknown Message)');
|
||||
|
@ -1,7 +1,7 @@
|
||||
import Discord from 'discord.js';
|
||||
import TClient from '../client.js';
|
||||
export default class MessageDeleteBulk {
|
||||
static run(client:TClient, messages:Discord.Collection<string, Discord.Message<boolean>>, channel:Discord.GuildTextBasedChannel){
|
||||
static run(client:TClient, messages:Discord.Collection<string, Discord.Message<boolean>|Discord.PartialMessage>, channel:Discord.GuildTextBasedChannel){
|
||||
if (!client.config.botSwitches.logs || channel.guildId != client.config.dcServer.id) return;
|
||||
if (messages.some(msg=>{
|
||||
msg.author?.username === undefined ?? null;
|
||||
|
@ -3,9 +3,9 @@ import TClient from '../client.js';
|
||||
import MessageTool from '../helpers/MessageTool.js';
|
||||
import {disabledChannels, rawSwitches} from '../index.js';
|
||||
export default class MessageUpdate {
|
||||
static async run(client:TClient, oldMsg:Discord.Message, newMsg:Discord.Message){
|
||||
static async run(client:TClient, oldMsg:Discord.Message|Discord.PartialMessage, newMsg:Discord.Message){
|
||||
if (!client.config.botSwitches.logs) return;
|
||||
if (oldMsg.guild?.id != client.config.dcServer.id || oldMsg.author === null || oldMsg?.author.bot || oldMsg.partial || newMsg.partial || !newMsg.member || disabledChannels.includes(newMsg.channelId)) return;
|
||||
if (oldMsg.guild?.id != client.config.dcServer.id || oldMsg.author === null || oldMsg?.author.bot || newMsg.partial || !newMsg.member || disabledChannels.includes(newMsg.channelId)) return;
|
||||
if (await client.prohibitedWords.findWord(newMsg.content.toLowerCase().replaceAll(/[!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?\n?0-9]|[]|ing\b/g, '').split(' ').join('')) && (!MessageTool.isStaff(newMsg.member))) newMsg.delete();
|
||||
if (!rawSwitches.MESSAGE_UPDATE || (rawSwitches.MESSAGE_UPDATE && newMsg.content !== oldMsg.content)) {
|
||||
rawSwitches.MESSAGE_UPDATE = true;
|
||||
|
@ -1,18 +1,17 @@
|
||||
import Discord from 'discord.js';
|
||||
import ConfigHelper from './ConfigHelper.js';
|
||||
const config = ConfigHelper.readConfig();
|
||||
type RoleKeys = keyof typeof config.dcServer.roles;
|
||||
|
||||
export default class MessageTool {
|
||||
static embedStruct(color:Discord.ColorResolvable, title:string, description?:string|null, image?:string|null) {
|
||||
public static embedStruct(color:Discord.ColorResolvable, title:string, description?:string|null, image?:string|null) {
|
||||
const embed = new Discord.EmbedBuilder().setColor(color).setTitle(title);
|
||||
if (description) embed.setDescription(description);
|
||||
if (image) embed.setImage(image);
|
||||
return embed
|
||||
}
|
||||
static concatMessage =(...messages:string[])=>messages.join('\n');
|
||||
static formatMention =(mention:string, type:'user'|'channel'|'role')=>`<${type === 'role' ? '@&' : type === 'channel' ? '#' : '@'}${mention}>`;
|
||||
static isStaff =(guildMember:Discord.GuildMember)=>config.dcServer.staffRoles.map((x:string)=>config.dcServer.roles[x]).some((x:string)=>guildMember.roles.cache.has(x));
|
||||
static youNeedRole =(interaction:Discord.CommandInteraction, role:RoleKeys)=>interaction.reply(`You do not have ${this.formatMention(config.dcServer.roles[role], 'role')} role to use this command.`);
|
||||
static isModerator =(guildMember:Discord.GuildMember)=>config.dcServer.staffRoles.filter((x:string)=>/^admin|^dcmod/.test(x)).map((x:string)=>config.dcServer.roles[x]).some((x:string)=>guildMember.roles.cache.has(x));
|
||||
public static concatMessage =(...messages:string[])=>messages.join('\n');
|
||||
public static formatMention =(mention:string, type:'user'|'channel'|'role')=>`<${type === 'role' ? '@&' : type === 'channel' ? '#' : '@'}${mention}>`;
|
||||
public static isStaff =(guildMember:Discord.GuildMember)=>config.dcServer.staffRoles.map((x:string)=>config.dcServer.roles[x]).some((x:string)=>guildMember.roles.cache.has(x));
|
||||
public static youNeedRole =(interaction:Discord.CommandInteraction, role:keyof typeof config.dcServer.roles)=>interaction.reply(`You do not have ${this.formatMention(config.dcServer.roles[role], 'role')} role to use this command.`);
|
||||
public static isModerator =(guildMember:Discord.GuildMember)=>config.dcServer.staffRoles.filter((x:string)=>/^admin|^dcmod/.test(x)).map((x:string)=>config.dcServer.roles[x]).some((x:string)=>guildMember.roles.cache.has(x));
|
||||
}
|
||||
|
33
src/index.ts
33
src/index.ts
@ -9,27 +9,13 @@ import MPModule, {refreshTimerSecs} from './modules/MPModule.js';
|
||||
import UsernameHelper from './helpers/UsernameHelper.js';
|
||||
import {Punishment, RawGatewayPacket, RawMessageDelete, RawMessageUpdate} from 'src/interfaces';
|
||||
import {readFileSync} from 'node:fs';
|
||||
import {execSync} from 'node:child_process';
|
||||
export const disabledChannels = ['548032776830582794', '541677709487505408', '949380187668242483'];
|
||||
|
||||
// Error handler
|
||||
function _(error:Error, type:string) {
|
||||
if (JSON.parse(readFileSync('src/errorBlocklist.json', 'utf8')).includes(error.message)) return;
|
||||
console.error(error);
|
||||
(client.channels.resolve(client.config.dcServer.channels.errors) as Discord.TextChannel | null)?.send({embeds: [new client.embed().setColor('#560000').setTitle('Error caught!').setFooter({text: `Error type: ${type}`}).setDescription(`**Error:**\n\`\`\`${error.message}\`\`\`**Stack:**\n\`\`\`${`${UsernameHelper(error.stack)}`.slice(0, 2500)}\`\`\``)]})
|
||||
|
||||
if (error.message.includes('could not fdatasync file')) {
|
||||
client.users.createDM(client.config.whitelist[1]).then(u=>u.send({
|
||||
embeds: [new client.embed()
|
||||
.setColor(client.config.embedColorYellow)
|
||||
.setTitle('Database error')
|
||||
.setDescription('I couldn\'t write to the database due to filesystem issues, shutting down...')
|
||||
.setFields({name: 'Error message', value: `\`\`\`${error.message}\`\`\``})
|
||||
.setFooter({text: `Error type: ${type}`})
|
||||
]
|
||||
}));
|
||||
setTimeout(()=>execSync('pm2 stop 0', {shell: 'bash'}), 5500);
|
||||
}
|
||||
(client.channels.resolve(client.config.dcServer.channels.errors) as Discord.TextChannel | null)?.send({embeds: [new client.embed().setColor('#560000').setTitle('Error caught!').setFooter({text: `Error type: ${type}`}).setDescription(`**Error:**\n\`\`\`${error.message}\`\`\`**Stack:**\n\`\`\`${`${UsernameHelper(error.stack)}`.slice(0, 2500)}\`\`\``)]});
|
||||
}
|
||||
process.on('unhandledRejection', (error: Error)=>_(error, 'unhandledRejection'));
|
||||
process.on('uncaughtException', (error: Error)=>_(error, 'uncaughtException'));
|
||||
@ -106,24 +92,15 @@ client.on('raw', async (packet:RawGatewayPacket<RawMessageUpdate>)=>{
|
||||
if (typeof packet.d.content === 'undefined') return;
|
||||
|
||||
const channel = client.channels.cache.get(packet.d.channel_id) as Discord.TextBasedChannel;
|
||||
const old_message = await channel.messages.fetch(packet.d.id);
|
||||
const new_message = await channel.messages.fetch(packet.d.id);
|
||||
const message = await channel.messages.fetch(packet.d.id);
|
||||
|
||||
client.emit('messageUpdate', old_message, new_message);
|
||||
client.emit('messageUpdate', message, message);
|
||||
});
|
||||
|
||||
client.on('raw', async (packet:RawGatewayPacket<RawMessageDelete>)=>{
|
||||
if (rawSwitches[packet.t]) return;
|
||||
if (packet.t !== 'MESSAGE_DELETE' || packet.d.guild_id != client.config.dcServer.id || disabledChannels.includes(packet.d.channel_id)) return;
|
||||
(client.channels.resolve(client.config.dcServer.channels.logs) as Discord.TextChannel).send({
|
||||
embeds: [new client.embed()
|
||||
.setColor(client.config.embedColorRed)
|
||||
.setTitle('Message deleted')
|
||||
.addFields(
|
||||
{name: 'This was received over raw API event', value: '\u200b'},
|
||||
{name: 'Channel', value: `<#${packet.d.channel_id}>`},
|
||||
).setTimestamp()
|
||||
]
|
||||
});
|
||||
|
||||
Logger.console('log', 'RawEvent:Del', `Message was deleted in #${(client.channels.resolve(packet.d.channel_id) as Discord.TextChannel).name}`);
|
||||
rawSwitches[packet.t] = true;
|
||||
});
|
||||
|
@ -2,6 +2,6 @@
|
||||
|
||||
docker compose -f docker-compose.bot.yml down && \
|
||||
docker compose -f docker-compose.bot.yml build && \
|
||||
docker compose -f docker-compose.bot.yml up -d --remove-orphans
|
||||
docker compose -f docker-compose.bot.yml up -d
|
||||
|
||||
exit 0
|
||||
|
220
yarn.lock
220
yarn.lock
@ -44,8 +44,8 @@ __metadata:
|
||||
linkType: hard
|
||||
|
||||
"@discordjs/rest@npm:^2.1.0":
|
||||
version: 2.1.0
|
||||
resolution: "@discordjs/rest@npm:2.1.0"
|
||||
version: 2.2.0
|
||||
resolution: "@discordjs/rest@npm:2.2.0"
|
||||
dependencies:
|
||||
"@discordjs/collection": "npm:^2.0.0"
|
||||
"@discordjs/util": "npm:^1.0.2"
|
||||
@ -56,7 +56,7 @@ __metadata:
|
||||
magic-bytes.js: "npm:^1.5.0"
|
||||
tslib: "npm:^2.6.2"
|
||||
undici: "npm:5.27.2"
|
||||
checksum: 10/3e3fbdaac6ef5f614e3d4213244ae4e293c456dc1c5d4d3d41cd67c33ce32907dc6c54a4d0c89bccd3e910dbf348e7b75b177deea24386208523d9f2498376cf
|
||||
checksum: 10/213245a3137b6cf1636d904fd105300df9b0e352c28f0e96323046dd8c62da59f4d60503e82b8a500bc07398054f2f479bff5c99d2fa66cf1cef77f4a98e0f98
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@ -85,9 +85,9 @@ __metadata:
|
||||
linkType: hard
|
||||
|
||||
"@fastify/busboy@npm:^2.0.0":
|
||||
version: 2.0.0
|
||||
resolution: "@fastify/busboy@npm:2.0.0"
|
||||
checksum: 10/6a2366d06b82aac1069b8323792f76f7a8fca02533cb3745fcd218d8f0f953dc4dbef057287237414658cd43f8dede0846ef33398999e3dbe54ddaeefec71c0a
|
||||
version: 2.1.0
|
||||
resolution: "@fastify/busboy@npm:2.1.0"
|
||||
checksum: 10/f22c1e5c52dc350ddf9ba8be9f87b48d3ea5af00a37fd0a0d1e3e4b37f94d96763e514c68a350c7f570260fdd2f08b55ee090cdd879f92a03249eb0e3fd19113
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@ -241,64 +241,56 @@ __metadata:
|
||||
linkType: hard
|
||||
|
||||
"@octokit/core@npm:^5.0.0":
|
||||
version: 5.0.0
|
||||
resolution: "@octokit/core@npm:5.0.0"
|
||||
version: 5.1.0
|
||||
resolution: "@octokit/core@npm:5.1.0"
|
||||
dependencies:
|
||||
"@octokit/auth-token": "npm:^4.0.0"
|
||||
"@octokit/graphql": "npm:^7.0.0"
|
||||
"@octokit/request": "npm:^8.0.2"
|
||||
"@octokit/request-error": "npm:^5.0.0"
|
||||
"@octokit/types": "npm:^11.0.0"
|
||||
"@octokit/types": "npm:^12.0.0"
|
||||
before-after-hook: "npm:^2.2.0"
|
||||
universal-user-agent: "npm:^6.0.0"
|
||||
checksum: 10/e12bec95c7fc2d286774c8749a67c46a6256ff95a8235294084dccc5a37418911ce7ee2cd72071cf5b333cf2148b0e480665fe09c1b5ba93299408ff3b821e43
|
||||
checksum: 10/8062e86a3088f24a691b36d2c3e9f33e864cefcb5f544b0633650358bce280708b111551cbe855ecf6a5190d6fc4fec1220117c329a2c27525940dd97b868614
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@octokit/endpoint@npm:^9.0.0":
|
||||
version: 9.0.0
|
||||
resolution: "@octokit/endpoint@npm:9.0.0"
|
||||
version: 9.0.4
|
||||
resolution: "@octokit/endpoint@npm:9.0.4"
|
||||
dependencies:
|
||||
"@octokit/types": "npm:^11.0.0"
|
||||
is-plain-object: "npm:^5.0.0"
|
||||
"@octokit/types": "npm:^12.0.0"
|
||||
universal-user-agent: "npm:^6.0.0"
|
||||
checksum: 10/ec160fe1a0d5244ef380b1f4fce9586bcf82ee5f24f92f128aec898255eb148620f5622fcd0dc876678b0f84dc8e7210469108afc150c0080916b7c16fbfe49e
|
||||
checksum: 10/7df35c96f2b5628fe5b3f44a72614be9b439779c06b4dd1bb72283b3cb2ea53e59e1f9a108798efe5404b6856f4380a4c5be12d93255d854f0683cd6e22f3a27
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@octokit/graphql@npm:^7.0.0":
|
||||
version: 7.0.1
|
||||
resolution: "@octokit/graphql@npm:7.0.1"
|
||||
version: 7.0.2
|
||||
resolution: "@octokit/graphql@npm:7.0.2"
|
||||
dependencies:
|
||||
"@octokit/request": "npm:^8.0.1"
|
||||
"@octokit/types": "npm:^11.0.0"
|
||||
"@octokit/types": "npm:^12.0.0"
|
||||
universal-user-agent: "npm:^6.0.0"
|
||||
checksum: 10/1c62aa5cfa71bcc5f3bc6159aaa0b26af84cfe2c0eca6edbf60ea9b49df95eaa24e7be4a60d7f85de6b9f6859345c9e3a3296ff45d6e817cf604a4028eb5d44d
|
||||
checksum: 10/f5dcc51fed5304f65dab83fcea4c2a569107d3b71e8d084199dc44f0d0cfc852c9e1f341b06ae66601f9da4af3aad416b0c62dcd0567ac7568f072d8d90d502e
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@octokit/openapi-types@npm:^18.0.0":
|
||||
version: 18.0.0
|
||||
resolution: "@octokit/openapi-types@npm:18.0.0"
|
||||
checksum: 10/5d4aa6abab9b67585bc8496afca4c6377ea1ffccfa17acacd325cefb5fd825799e1d292b498b34023093088b65571c201f4f7e3ba1d3248352f247a1801f6570
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@octokit/openapi-types@npm:^19.0.0":
|
||||
version: 19.0.0
|
||||
resolution: "@octokit/openapi-types@npm:19.0.0"
|
||||
checksum: 10/87962fee2e9981d3e81c6786a6c0663095cde1cf7e5ef7d3fa5f6fa89f9b625f70cdf99d3dedcb0755b66926c3521a9e4c8ac9ece4fcf29a04820adba7325099
|
||||
"@octokit/openapi-types@npm:^19.1.0":
|
||||
version: 19.1.0
|
||||
resolution: "@octokit/openapi-types@npm:19.1.0"
|
||||
checksum: 10/3abedc09baa91bb4de00a2b82bf519401c2b6388913b7caa98541002c9e9612eba8256926323b1e40782ac700309a3373bb8c13520af325cef1accc40cb4566b
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@octokit/plugin-paginate-rest@npm:^9.0.0":
|
||||
version: 9.0.0
|
||||
resolution: "@octokit/plugin-paginate-rest@npm:9.0.0"
|
||||
version: 9.1.5
|
||||
resolution: "@octokit/plugin-paginate-rest@npm:9.1.5"
|
||||
dependencies:
|
||||
"@octokit/types": "npm:^12.0.0"
|
||||
"@octokit/types": "npm:^12.4.0"
|
||||
peerDependencies:
|
||||
"@octokit/core": ">=5"
|
||||
checksum: 10/1fcf2358d260f91ac995ceec725584fadda3a17cd895459942c78aa69c43969d1bb79e80b1cce80870dc28d018f1eaa39aeb1d4f1076e90b8b65378675fa9e02
|
||||
checksum: 10/5f1793ebebc9e2feaf8574beb2308b6fe9d0fec69d3fc3c93ed7ce8083d34e7ae7452121bd88b27e9ba91da29d648f8ffbf19d6f02787f8273a8bb0e3fbc2b9f
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@ -312,37 +304,36 @@ __metadata:
|
||||
linkType: hard
|
||||
|
||||
"@octokit/plugin-rest-endpoint-methods@npm:^10.0.0":
|
||||
version: 10.0.0
|
||||
resolution: "@octokit/plugin-rest-endpoint-methods@npm:10.0.0"
|
||||
version: 10.3.0
|
||||
resolution: "@octokit/plugin-rest-endpoint-methods@npm:10.3.0"
|
||||
dependencies:
|
||||
"@octokit/types": "npm:^12.0.0"
|
||||
"@octokit/types": "npm:^12.4.0"
|
||||
peerDependencies:
|
||||
"@octokit/core": ">=5"
|
||||
checksum: 10/2984df2c818624d393ea4ebbb9fb79c2f44e34facdc213221a8f6c41320dff50cd5cabb17af361c2b2a497fdec48a673abaec667196a77845cdb2b2d3e8426b3
|
||||
checksum: 10/be202aca31a513e9e06eda680ae761d05a944a2900523c2041a8ac6bc43e7a5bab0f76bcba09ef96ed48e3b1fabe4104a174b2f839dfb7a2a6f3d632023b4c6a
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@octokit/request-error@npm:^5.0.0":
|
||||
version: 5.0.0
|
||||
resolution: "@octokit/request-error@npm:5.0.0"
|
||||
version: 5.0.1
|
||||
resolution: "@octokit/request-error@npm:5.0.1"
|
||||
dependencies:
|
||||
"@octokit/types": "npm:^11.0.0"
|
||||
"@octokit/types": "npm:^12.0.0"
|
||||
deprecation: "npm:^2.0.0"
|
||||
once: "npm:^1.4.0"
|
||||
checksum: 10/de7ed2934035650c67b619130c407c6eec7fc80c9c47c27131feaace76fa01c64e35338cb19d4b3838f5f53f3d174a5f0933e1dc7921b952411b0457b599dc71
|
||||
checksum: 10/a21a4614c46cb173e4ba73fa048576204f1ddc541dee3e7c938ef36088566e3b25e04ca1f96f375ec2e3cc29b7ba970b3b078a89a20bc50cdcdbed879db94573
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@octokit/request@npm:^8.0.1, @octokit/request@npm:^8.0.2":
|
||||
version: 8.1.1
|
||||
resolution: "@octokit/request@npm:8.1.1"
|
||||
version: 8.2.0
|
||||
resolution: "@octokit/request@npm:8.2.0"
|
||||
dependencies:
|
||||
"@octokit/endpoint": "npm:^9.0.0"
|
||||
"@octokit/request-error": "npm:^5.0.0"
|
||||
"@octokit/types": "npm:^11.1.0"
|
||||
is-plain-object: "npm:^5.0.0"
|
||||
"@octokit/types": "npm:^12.0.0"
|
||||
universal-user-agent: "npm:^6.0.0"
|
||||
checksum: 10/62fd236ef88de3bc7ecb652414751eb3934f589727e938736cb1b76545384d6db225abeae12371a1d6017bff2ae82948bf529af6b746131bdb3a270bfb177ac1
|
||||
checksum: 10/553ba8b99ea6fe2d3b66b2be6df06f7fe62a0b81e441d334ef25388cf0fcdab4a888fcfe2c1fb1ada262c233bcf7169da3ad5e03f024060ea5723f7753b0de3e
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@ -358,21 +349,12 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@octokit/types@npm:^11.0.0, @octokit/types@npm:^11.1.0":
|
||||
version: 11.1.0
|
||||
resolution: "@octokit/types@npm:11.1.0"
|
||||
"@octokit/types@npm:^12.0.0, @octokit/types@npm:^12.4.0":
|
||||
version: 12.5.0
|
||||
resolution: "@octokit/types@npm:12.5.0"
|
||||
dependencies:
|
||||
"@octokit/openapi-types": "npm:^18.0.0"
|
||||
checksum: 10/ebd510c14c4b26df127b76b4ed6b4b9a97cd6ec7a047532060f8346bfb29a68414c7189ee2b98f5386bcd7fa1a8c29af8e8460e5a7373cf6bf38a11775c8e26d
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@octokit/types@npm:^12.0.0":
|
||||
version: 12.0.0
|
||||
resolution: "@octokit/types@npm:12.0.0"
|
||||
dependencies:
|
||||
"@octokit/openapi-types": "npm:^19.0.0"
|
||||
checksum: 10/68faa94efaa132d96a4f0d68a82f74c0d6cda2bb644007d9fa5c6d3a5a724981dd72e82ce0d7631df1b04502c470fce311b39becb170e03382521a31ad2aecfa
|
||||
"@octokit/openapi-types": "npm:^19.1.0"
|
||||
checksum: 10/a2c8e736e368c781b9389a41fe4ec2cf81563674cf8d74bcc28bf1901dfc4b0c092101c7b333309933b8c14a5a3d1de9ca7eaec93451c41b708b4936e0960894
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@ -433,29 +415,36 @@ __metadata:
|
||||
linkType: hard
|
||||
|
||||
"@sapphire/async-queue@npm:^1.5.0":
|
||||
version: 1.5.0
|
||||
resolution: "@sapphire/async-queue@npm:1.5.0"
|
||||
checksum: 10/d22feb63a226486b4a463df145e7e8a94d7149b0772d485e6d315348c8dd4318c7a1724b0961cc023cae4070c0d7f73cbb914310ccbee330007c9bb54a04ae5f
|
||||
version: 1.5.2
|
||||
resolution: "@sapphire/async-queue@npm:1.5.2"
|
||||
checksum: 10/55e0785997ec34479509c134a3ffc5e9dc0c183b56b1cb95b0505539972a538b0bff8922c1d051ebeee227b000f79f1f499f1897229a117644833375093aa7b3
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@sapphire/shapeshift@npm:^3.9.3":
|
||||
version: 3.9.3
|
||||
resolution: "@sapphire/shapeshift@npm:3.9.3"
|
||||
version: 3.9.6
|
||||
resolution: "@sapphire/shapeshift@npm:3.9.6"
|
||||
dependencies:
|
||||
fast-deep-equal: "npm:^3.1.3"
|
||||
lodash: "npm:^4.17.21"
|
||||
checksum: 10/9fce0135d4b6b2acbab83af078dcc5d9780c83c2cea9094178f19128d78ca7e7fa0d90f5b1c4ed4ab345194eb138415e4c902a1014eff2c5d68b77e75f5774e9
|
||||
checksum: 10/9d7ab3b3341514363598e48666ec32ec631e0f3b408eb851d4397e479f93c70a471610949d30b9450beaf212df721ffa7c4da3ed3d0fbaffebcb1dfe73ab3f4c
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@sapphire/snowflake@npm:3.5.1, @sapphire/snowflake@npm:^3.5.1":
|
||||
"@sapphire/snowflake@npm:3.5.1":
|
||||
version: 3.5.1
|
||||
resolution: "@sapphire/snowflake@npm:3.5.1"
|
||||
checksum: 10/12d09f0e4f52f86bdc330d70e4a3042f212d787c2d40e7bc41769218c8d08649786109aa78d777262a658a8f29f12ef5bacc6188d46fd1dd35a4e1f29d378723
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@sapphire/snowflake@npm:^3.5.1":
|
||||
version: 3.5.3
|
||||
resolution: "@sapphire/snowflake@npm:3.5.3"
|
||||
checksum: 10/f306626f76a6e9bdc7de9130c1baf7ddcd8681d7d03b2ab6f2404081f71c94085d4001e8a62ae2c2372b3b54d2d52ec21d43695f2c73fb101caabc2d3bf524aa
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@sequelize/core@npm:7.0.0-alpha.37":
|
||||
version: 7.0.0-alpha.37
|
||||
resolution: "@sequelize/core@npm:7.0.0-alpha.37"
|
||||
@ -532,12 +521,12 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@types/node@npm:*, @types/node@npm:20.11.17":
|
||||
version: 20.11.17
|
||||
resolution: "@types/node@npm:20.11.17"
|
||||
"@types/node@npm:*, @types/node@npm:20.11.19":
|
||||
version: 20.11.19
|
||||
resolution: "@types/node@npm:20.11.19"
|
||||
dependencies:
|
||||
undici-types: "npm:~5.26.4"
|
||||
checksum: 10/3342df87258d1c56154bcd4b85180f48675427b235971e6e6e2e037353f5a2ae9aaa05ba5df0fe1e2d2f1022c8d856fd39056b9d7f50ea30c0ca3214137cae1d
|
||||
checksum: 10/c7f4705d6c84aa21679ad180c33c13ca9567f650e66e14bcee77c7c43d14619c7cd3b4d7b2458947143030b7b1930180efa6d12d999b45366abff9fed7a17472
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@ -559,7 +548,7 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@types/ws@npm:8.5.9, @types/ws@npm:^8.5.9":
|
||||
"@types/ws@npm:8.5.9":
|
||||
version: 8.5.9
|
||||
resolution: "@types/ws@npm:8.5.9"
|
||||
dependencies:
|
||||
@ -568,10 +557,19 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@types/ws@npm:^8.5.9":
|
||||
version: 8.5.10
|
||||
resolution: "@types/ws@npm:8.5.10"
|
||||
dependencies:
|
||||
"@types/node": "npm:*"
|
||||
checksum: 10/9b414dc5e0b6c6f1ea4b1635b3568c58707357f68076df9e7cd33194747b7d1716d5189c0dbdd68c8d2521b148e88184cf881bac7429eb0e5c989b001539ed31
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@vladfrangu/async_event_emitter@npm:^2.2.2":
|
||||
version: 2.2.2
|
||||
resolution: "@vladfrangu/async_event_emitter@npm:2.2.2"
|
||||
checksum: 10/1c1fcee04aecfa3cceb05e9bcd3a8aae053ce0512e79e7f878a5d2b8458a926aa3e6da553be0a431e7acb58d9aec3df435a845653a642b864c6b67e2a44ec40c
|
||||
version: 2.2.4
|
||||
resolution: "@vladfrangu/async_event_emitter@npm:2.2.4"
|
||||
checksum: 10/06de49380dc47fe712768b0e49286e54a114de962da36ef021d4b03fcff7ec8338b46179d8b3eba4c0e02b2926bbf1e6ea0f9c6c08f6f081361947a7f6719ce9
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@ -628,7 +626,7 @@ __metadata:
|
||||
"@sequelize/core": "npm:7.0.0-alpha.37"
|
||||
"@toast/tokenservice-client": "npm:1.0.12"
|
||||
"@types/ms": "npm:0.7.34"
|
||||
"@types/node": "npm:20.11.17"
|
||||
"@types/node": "npm:20.11.19"
|
||||
"@types/node-cron": "npm:3.0.11"
|
||||
"@types/pg": "npm:8.11.0"
|
||||
ansi-colors: "npm:4.1.3"
|
||||
@ -642,7 +640,7 @@ __metadata:
|
||||
postgres-array: "npm:3.0.2"
|
||||
redis: "npm:4.6.13"
|
||||
simple-git: "npm:3.22.0"
|
||||
systeminformation: "npm:5.21.24"
|
||||
systeminformation: "npm:5.21.25"
|
||||
typescript: "npm:5.3.3"
|
||||
undici: "npm:6.6.2"
|
||||
languageName: unknown
|
||||
@ -805,13 +803,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"is-plain-object@npm:^5.0.0":
|
||||
version: 5.0.0
|
||||
resolution: "is-plain-object@npm:5.0.0"
|
||||
checksum: 10/e32d27061eef62c0847d303125440a38660517e586f2f3db7c9d179ae5b6674ab0f469d519b2e25c147a1a3bc87156d0d5f4d8821e0ce4a9ee7fe1fcf11ce45c
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"lodash.snakecase@npm:4.1.1":
|
||||
version: 4.1.1
|
||||
resolution: "lodash.snakecase@npm:4.1.1"
|
||||
@ -836,9 +827,9 @@ __metadata:
|
||||
linkType: hard
|
||||
|
||||
"magic-bytes.js@npm:^1.5.0":
|
||||
version: 1.5.0
|
||||
resolution: "magic-bytes.js@npm:1.5.0"
|
||||
checksum: 10/ffb86aec8f4d05446355433392f5a67882c9cbcd46bc1d53ece4f46f73938ec16a35ad4d53decda661185c92e3007a94243bf48809bc73f111a8a28b63eeee19
|
||||
version: 1.8.0
|
||||
resolution: "magic-bytes.js@npm:1.8.0"
|
||||
checksum: 10/781c932f649f99f334de61d18cd8dd36a0613f8c524756dcfea657d34e114161ef704ae9bf04287f0c1a5341c1a9bd766907199dfb5e916d1e336de9ff103544
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@ -972,17 +963,17 @@ __metadata:
|
||||
linkType: hard
|
||||
|
||||
"pg-types@npm:^4.0.1":
|
||||
version: 4.0.1
|
||||
resolution: "pg-types@npm:4.0.1"
|
||||
version: 4.0.2
|
||||
resolution: "pg-types@npm:4.0.2"
|
||||
dependencies:
|
||||
pg-int8: "npm:1.0.1"
|
||||
pg-numeric: "npm:1.0.2"
|
||||
postgres-array: "npm:~3.0.1"
|
||||
postgres-bytea: "npm:~3.0.0"
|
||||
postgres-date: "npm:~2.0.1"
|
||||
postgres-date: "npm:~2.1.0"
|
||||
postgres-interval: "npm:^3.0.0"
|
||||
postgres-range: "npm:^1.1.1"
|
||||
checksum: 10/2c686ef361856ff9695a40cf34d7bb59bcf2218bd1f121d7fc8b77a75cc4106c09519e9520a82aac8fce4540dec81f695458b8e43bfc420ba74eb9b5005b5619
|
||||
checksum: 10/f4d529da864d4169afab300eb8629a84a6a06aa70c471160a7e46c34b6d4dd0e61cbd57d10d98c3a36e98f474e2ff85d41e4b1c953a321146b4bae09372c58d3
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@ -1063,10 +1054,10 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"postgres-date@npm:~2.0.1":
|
||||
version: 2.0.1
|
||||
resolution: "postgres-date@npm:2.0.1"
|
||||
checksum: 10/908eacec35faf9b6fa4248074e7c8db0fc4ac6a2e0a00eacef9fb9cf44a25fc6f100af7cda09f5d89d076c87923b59e940a309560d86aded4753985c97255be1
|
||||
"postgres-date@npm:~2.1.0":
|
||||
version: 2.1.0
|
||||
resolution: "postgres-date@npm:2.1.0"
|
||||
checksum: 10/faa1c70dfad0e35bd4aa7cb6088fcd4e4f039aa25dc42150129178fc2a0baa7e37eca0bf18e4142a40dea18d1955459b08783f78ec487ef27b4b93ab5e854597
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@ -1087,9 +1078,9 @@ __metadata:
|
||||
linkType: hard
|
||||
|
||||
"postgres-range@npm:^1.1.1":
|
||||
version: 1.1.3
|
||||
resolution: "postgres-range@npm:1.1.3"
|
||||
checksum: 10/356a46d97eab301cca0dbf7a65be6f68c4a7e33d304909e5ca840038b1210390e1d33fcc3b566c42020f7b97e9de189bc5286d1ec8d7ba2445ed3377c576ce9e
|
||||
version: 1.1.4
|
||||
resolution: "postgres-range@npm:1.1.4"
|
||||
checksum: 10/035759f17b44bf9ba7e71a30402ed2ca1e2b7fabb3ad794b08169a5b453d38d06905a6dfb51fe41a3f6d9fac4e183dac9e769b95053053db933be16785edce1f
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@ -1180,12 +1171,12 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"systeminformation@npm:5.21.24":
|
||||
version: 5.21.24
|
||||
resolution: "systeminformation@npm:5.21.24"
|
||||
"systeminformation@npm:5.21.25":
|
||||
version: 5.21.25
|
||||
resolution: "systeminformation@npm:5.21.25"
|
||||
bin:
|
||||
systeminformation: lib/cli.js
|
||||
checksum: 10/3796b8474c25420f2fb7dc91b55e5f30050f9eaa01351ed6cfb56569d9789e19245985a9cd65e4b9adcdf13baa5148f2a722e1792d940e8e9ab32872226a53cd
|
||||
checksum: 10/5b56205879652cfe5e6147a97a0eba450a8d83b8ad304e5e998a9829a16124c7d43969740413857cb2a24bccb1588160dd026649c7eae3fd35cdb9b92c62ab86
|
||||
conditions: (os=darwin | os=linux | os=win32 | os=freebsd | os=openbsd | os=netbsd | os=sunos | os=android)
|
||||
languageName: node
|
||||
linkType: hard
|
||||
@ -1280,9 +1271,9 @@ __metadata:
|
||||
linkType: hard
|
||||
|
||||
"universal-user-agent@npm:^6.0.0":
|
||||
version: 6.0.0
|
||||
resolution: "universal-user-agent@npm:6.0.0"
|
||||
checksum: 10/5092bbc80dd0d583cef0b62c17df0043193b74f425112ea6c1f69bc5eda21eeec7a08d8c4f793a277eb2202ffe9b44bec852fa3faff971234cd209874d1b79ef
|
||||
version: 6.0.1
|
||||
resolution: "universal-user-agent@npm:6.0.1"
|
||||
checksum: 10/fdc8e1ae48a05decfc7ded09b62071f571c7fe0bd793d700704c80cea316101d4eac15cc27ed2bb64f4ce166d2684777c3198b9ab16034f547abea0d3aa1c93c
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@ -1327,7 +1318,7 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"ws@npm:8.14.2, ws@npm:^8.14.2":
|
||||
"ws@npm:8.14.2":
|
||||
version: 8.14.2
|
||||
resolution: "ws@npm:8.14.2"
|
||||
peerDependencies:
|
||||
@ -1342,6 +1333,21 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"ws@npm:^8.14.2":
|
||||
version: 8.16.0
|
||||
resolution: "ws@npm:8.16.0"
|
||||
peerDependencies:
|
||||
bufferutil: ^4.0.1
|
||||
utf-8-validate: ">=5.0.2"
|
||||
peerDependenciesMeta:
|
||||
bufferutil:
|
||||
optional: true
|
||||
utf-8-validate:
|
||||
optional: true
|
||||
checksum: 10/7c511c59e979bd37b63c3aea4a8e4d4163204f00bd5633c053b05ed67835481995f61a523b0ad2b603566f9a89b34cb4965cb9fab9649fbfebd8f740cea57f17
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"xtend@npm:^4.0.0":
|
||||
version: 4.0.2
|
||||
resolution: "xtend@npm:4.0.2"
|
||||
|
Loading…
Reference in New Issue
Block a user