feat(tag): autocomplete in options

This commit is contained in:
EvolutionX
2022-08-03 08:49:07 +05:30
parent 6ff9cdd982
commit 5b7727ee63
4 changed files with 131 additions and 108 deletions

176
package-lock.json generated
View File

@@ -9,7 +9,7 @@
"version": "1.0.0",
"license": "MIT",
"dependencies": {
"@sern/handler": "^1.1.7-beta",
"@sern/handler": "^1.1.9-beta",
"discord.js": "^14.0.3",
"dotenv": "^16.0.1",
"trie-search": "^1.3.6"
@@ -20,12 +20,12 @@
}
},
"node_modules/@discordjs/builders": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/@discordjs/builders/-/builders-1.0.0.tgz",
"integrity": "sha512-8y91ZfpOHubiGJu5tVyGI9tQCEyHZDTeqUWVcJd0dq7B96xIf84S0L4fwmD1k9zTe1eqEFSk0gc7BpY+FKn7Ww==",
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@discordjs/builders/-/builders-1.1.0.tgz",
"integrity": "sha512-EO8TSltiIc9Z1wE854wAFvv5AccqEtvjFmao9PPoxQhRaJ0hEb7FwWRTCA1jGg4ZWI3hcp4m+RET5ufZQz3rOg==",
"dependencies": {
"@sapphire/shapeshift": "^3.5.1",
"discord-api-types": "^0.36.2",
"discord-api-types": "^0.36.3",
"fast-deep-equal": "^3.1.3",
"ts-mixer": "^6.0.1",
"tslib": "^2.4.0"
@@ -35,25 +35,25 @@
}
},
"node_modules/@discordjs/collection": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/@discordjs/collection/-/collection-1.0.0.tgz",
"integrity": "sha512-nAxDQYE5dNAzEGQ7HU20sujDsG5vLowUKCEqZkKUIlrXERZFTt/60zKUj/g4+AVCGeq+pXC5hivMaNtiC+PY5Q==",
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/@discordjs/collection/-/collection-1.0.1.tgz",
"integrity": "sha512-5V/wswzR3r2RVYXLxxg4TvrAnBhVCNgHTXhC+OUtLoriJ072rPMHo+Iw1SS1vrCckp8Es40XM411+WkNRPaXFw==",
"engines": {
"node": ">=16.9.0"
}
},
"node_modules/@discordjs/rest": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/@discordjs/rest/-/rest-1.0.0.tgz",
"integrity": "sha512-uDAvnE0P2a8axMdD4C51EGjvCRQ2HZk2Yxf6vHWZgIqG87D8DGKMPwmquIxrrB07MjV+rwci2ObU+mGhGP+bJg==",
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/@discordjs/rest/-/rest-1.0.1.tgz",
"integrity": "sha512-w08CTKVzzYYvKxEjXKOs9AdS7KQ1J502TrPfF8eCZ2lF6AfKuMP/32YgDakiwIyYTDjEQS/v0nKLSFcncHRMtg==",
"dependencies": {
"@discordjs/collection": "^1.0.0",
"@discordjs/collection": "^1.0.1",
"@sapphire/async-queue": "^1.3.2",
"@sapphire/snowflake": "^3.2.2",
"discord-api-types": "^0.36.2",
"file-type": "^17.1.2",
"discord-api-types": "^0.36.3",
"file-type": "^17.1.4",
"tslib": "^2.4.0",
"undici": "^5.7.0"
"undici": "^5.8.0"
},
"engines": {
"node": ">=16.9.0"
@@ -91,11 +91,11 @@
}
},
"node_modules/@sern/handler": {
"version": "1.1.7-beta",
"resolved": "https://registry.npmjs.org/@sern/handler/-/handler-1.1.7-beta.tgz",
"integrity": "sha512-PbwZ61XYTmWJvzYL/AMP+es++KUhyx+qGMzJqwGbuyZcgWnJJV0M6w2bnUFBR5QfKNuGf+88g/ahgjDgSvs7ow==",
"version": "1.1.9-beta",
"resolved": "https://registry.npmjs.org/@sern/handler/-/handler-1.1.9-beta.tgz",
"integrity": "sha512-L1E2A3RpKIFdBYs2O+WX5q/a5/iwIx2G4wy6Cey/C1dvlUifozc7/f1aMBhxGSMv6hVuyffzWPFejSiws6qsQw==",
"dependencies": {
"discord.js": "^14.0.3",
"discord.js": "^14.1.2",
"rxjs": "^7.5.6",
"ts-pattern": "^4.0.2",
"ts-results": "^3.3.0"
@@ -120,21 +120,21 @@
}
},
"node_modules/discord-api-types": {
"version": "0.36.2",
"resolved": "https://registry.npmjs.org/discord-api-types/-/discord-api-types-0.36.2.tgz",
"integrity": "sha512-TunPAvzwneK/m5fr4hxH3bMsrtI22nr9yjfHyo5NBGMjpsAauGNiGCmwoFf0oO3jSd2mZiKUvZwCKDaB166u2Q=="
"version": "0.36.3",
"resolved": "https://registry.npmjs.org/discord-api-types/-/discord-api-types-0.36.3.tgz",
"integrity": "sha512-bz/NDyG0KBo/tY14vSkrwQ/n3HKPf87a0WFW/1M9+tXYK+vp5Z5EksawfCWo2zkAc6o7CClc0eff1Pjrqznlwg=="
},
"node_modules/discord.js": {
"version": "14.0.3",
"resolved": "https://registry.npmjs.org/discord.js/-/discord.js-14.0.3.tgz",
"integrity": "sha512-wH/VQl4CqN8/+dcXEtYis1iurqxGlDpEe0O4CqH5FGqZGIjVpTdtK0STXXx7bVNX8MT/0GvLZLkmO/5gLDWZVg==",
"version": "14.1.2",
"resolved": "https://registry.npmjs.org/discord.js/-/discord.js-14.1.2.tgz",
"integrity": "sha512-apdWNLkjAkeEnuNpB8H6rS/4OgrXQlSAjuuzeodjCOdIXy3OwOjD314V/HiSttcAlr9+r3ONhaT5qvbDad5SIg==",
"dependencies": {
"@discordjs/builders": "^1.0.0",
"@discordjs/collection": "^1.0.0",
"@discordjs/rest": "^1.0.0",
"@discordjs/builders": "^1.1.0",
"@discordjs/collection": "^1.0.1",
"@discordjs/rest": "^1.0.1",
"@sapphire/snowflake": "^3.2.2",
"@types/ws": "^8.5.3",
"discord-api-types": "^0.36.2",
"discord-api-types": "^0.36.3",
"fast-deep-equal": "^3.1.3",
"lodash.snakecase": "^4.1.1",
"tslib": "^2.4.0",
@@ -159,12 +159,12 @@
"integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
},
"node_modules/file-type": {
"version": "17.1.2",
"resolved": "https://registry.npmjs.org/file-type/-/file-type-17.1.2.tgz",
"integrity": "sha512-3thBUSfa9YEUEGO/NAAiQGvjujZxZiJTF6xNwyDn6kB0NcEtwMn5ttkGG9jGwm/Nt/t8U1bpBNqyBNZCz4F4ig==",
"version": "17.1.5",
"resolved": "https://registry.npmjs.org/file-type/-/file-type-17.1.5.tgz",
"integrity": "sha512-GMZRKCpcCQgqV0L/8ZqlMZ5lLzH2GLYnAwnqen6fr8b0CHzQPP+R/vXHBOsa0m/R74gCZP3sQDpu6fUeIvyFEQ==",
"dependencies": {
"readable-web-to-node-stream": "^3.0.2",
"strtok3": "^7.0.0-alpha.7",
"strtok3": "^7.0.0-alpha.9",
"token-types": "^5.0.0-alpha.2"
},
"engines": {
@@ -225,11 +225,11 @@
"integrity": "sha512-7lYL8bLopMoy4CTICbxygAUq6CdRJ36vFc80DucPueUee+d5NBRxz3FdT9Pes/HEx5mPoT9jwnsEJWz1N7uq7Q=="
},
"node_modules/peek-readable": {
"version": "5.0.0-alpha.5",
"resolved": "https://registry.npmjs.org/peek-readable/-/peek-readable-5.0.0-alpha.5.tgz",
"integrity": "sha512-pJohF/tDwV3ntnT5+EkUo4E700q/j/OCDuPxtM+5/kFGjyOai/sK4/We4Cy1MB2OiTQliWU5DxPvYIKQAdPqAA==",
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/peek-readable/-/peek-readable-5.0.0.tgz",
"integrity": "sha512-YtCKvLUOvwtMGmrniQPdO7MwPjgkFBtFIrmfSbYmYuq3tKDV/mcfAhBth1+C3ru7uXIZasc/pHnb+YDYNkkj4A==",
"engines": {
"node": "^12.20.0 || ^14.13.1 || >=16.0.0"
"node": ">=14.16"
},
"funding": {
"type": "github",
@@ -300,15 +300,15 @@
}
},
"node_modules/strtok3": {
"version": "7.0.0-alpha.8",
"resolved": "https://registry.npmjs.org/strtok3/-/strtok3-7.0.0-alpha.8.tgz",
"integrity": "sha512-u+k19v+rTxBjGYxncRQjGvZYwYvEd0uP3D+uHKe/s4WB1eXS5ZwpZsTlBu5xSS4zEd89mTXECXg6WW3FSeV8cA==",
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/strtok3/-/strtok3-7.0.0.tgz",
"integrity": "sha512-pQ+V+nYQdC5H3Q7qBZAz/MO6lwGhoC2gOAjuouGf/VO0m7vQRh8QNMl2Uf6SwAtzZ9bOw3UIeBukEGNJl5dtXQ==",
"dependencies": {
"@tokenizer/token": "^0.3.0",
"peek-readable": "^5.0.0-alpha.5"
"peek-readable": "^5.0.0"
},
"engines": {
"node": "^12.20.0 || ^14.13.1 || >=16.0.0"
"node": ">=14.16"
},
"funding": {
"type": "github",
@@ -316,15 +316,15 @@
}
},
"node_modules/token-types": {
"version": "5.0.0-alpha.2",
"resolved": "https://registry.npmjs.org/token-types/-/token-types-5.0.0-alpha.2.tgz",
"integrity": "sha512-EsG9UxAW4M6VATrEEjhPFTKEUi1OiJqTUMIZOGBN49fGxYjZB36k0p7to3HZSmWRoHm1QfZgrg3e02fpqAt5fQ==",
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/token-types/-/token-types-5.0.0.tgz",
"integrity": "sha512-cza79xW1bo4pa6/AAZoOaZTlgNCgG3oCG7LQiGrfRFVl+XZvqiyc0+ncvlz+3XDIDNf9WcaT3Hcy6n/e1Tuc9A==",
"dependencies": {
"@tokenizer/token": "^0.3.0",
"ieee754": "^1.2.1"
},
"engines": {
"node": "^12.20.0 || ^14.13.1 || >=16.0.0"
"node": ">=14.16"
},
"funding": {
"type": "github",
@@ -408,34 +408,34 @@
},
"dependencies": {
"@discordjs/builders": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/@discordjs/builders/-/builders-1.0.0.tgz",
"integrity": "sha512-8y91ZfpOHubiGJu5tVyGI9tQCEyHZDTeqUWVcJd0dq7B96xIf84S0L4fwmD1k9zTe1eqEFSk0gc7BpY+FKn7Ww==",
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@discordjs/builders/-/builders-1.1.0.tgz",
"integrity": "sha512-EO8TSltiIc9Z1wE854wAFvv5AccqEtvjFmao9PPoxQhRaJ0hEb7FwWRTCA1jGg4ZWI3hcp4m+RET5ufZQz3rOg==",
"requires": {
"@sapphire/shapeshift": "^3.5.1",
"discord-api-types": "^0.36.2",
"discord-api-types": "^0.36.3",
"fast-deep-equal": "^3.1.3",
"ts-mixer": "^6.0.1",
"tslib": "^2.4.0"
}
},
"@discordjs/collection": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/@discordjs/collection/-/collection-1.0.0.tgz",
"integrity": "sha512-nAxDQYE5dNAzEGQ7HU20sujDsG5vLowUKCEqZkKUIlrXERZFTt/60zKUj/g4+AVCGeq+pXC5hivMaNtiC+PY5Q=="
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/@discordjs/collection/-/collection-1.0.1.tgz",
"integrity": "sha512-5V/wswzR3r2RVYXLxxg4TvrAnBhVCNgHTXhC+OUtLoriJ072rPMHo+Iw1SS1vrCckp8Es40XM411+WkNRPaXFw=="
},
"@discordjs/rest": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/@discordjs/rest/-/rest-1.0.0.tgz",
"integrity": "sha512-uDAvnE0P2a8axMdD4C51EGjvCRQ2HZk2Yxf6vHWZgIqG87D8DGKMPwmquIxrrB07MjV+rwci2ObU+mGhGP+bJg==",
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/@discordjs/rest/-/rest-1.0.1.tgz",
"integrity": "sha512-w08CTKVzzYYvKxEjXKOs9AdS7KQ1J502TrPfF8eCZ2lF6AfKuMP/32YgDakiwIyYTDjEQS/v0nKLSFcncHRMtg==",
"requires": {
"@discordjs/collection": "^1.0.0",
"@discordjs/collection": "^1.0.1",
"@sapphire/async-queue": "^1.3.2",
"@sapphire/snowflake": "^3.2.2",
"discord-api-types": "^0.36.2",
"file-type": "^17.1.2",
"discord-api-types": "^0.36.3",
"file-type": "^17.1.4",
"tslib": "^2.4.0",
"undici": "^5.7.0"
"undici": "^5.8.0"
}
},
"@sapphire/async-queue": {
@@ -458,11 +458,11 @@
"integrity": "sha512-ula2O0kpSZtX9rKXNeQMrHwNd7E4jPDJYUXmEGTFdMRfyfMw+FPyh04oKMjAiDuOi64bYgVkOV3MjK+loImFhQ=="
},
"@sern/handler": {
"version": "1.1.7-beta",
"resolved": "https://registry.npmjs.org/@sern/handler/-/handler-1.1.7-beta.tgz",
"integrity": "sha512-PbwZ61XYTmWJvzYL/AMP+es++KUhyx+qGMzJqwGbuyZcgWnJJV0M6w2bnUFBR5QfKNuGf+88g/ahgjDgSvs7ow==",
"version": "1.1.9-beta",
"resolved": "https://registry.npmjs.org/@sern/handler/-/handler-1.1.9-beta.tgz",
"integrity": "sha512-L1E2A3RpKIFdBYs2O+WX5q/a5/iwIx2G4wy6Cey/C1dvlUifozc7/f1aMBhxGSMv6hVuyffzWPFejSiws6qsQw==",
"requires": {
"discord.js": "^14.0.3",
"discord.js": "^14.1.2",
"rxjs": "^7.5.6",
"ts-pattern": "^4.0.2",
"ts-results": "^3.3.0"
@@ -487,21 +487,21 @@
}
},
"discord-api-types": {
"version": "0.36.2",
"resolved": "https://registry.npmjs.org/discord-api-types/-/discord-api-types-0.36.2.tgz",
"integrity": "sha512-TunPAvzwneK/m5fr4hxH3bMsrtI22nr9yjfHyo5NBGMjpsAauGNiGCmwoFf0oO3jSd2mZiKUvZwCKDaB166u2Q=="
"version": "0.36.3",
"resolved": "https://registry.npmjs.org/discord-api-types/-/discord-api-types-0.36.3.tgz",
"integrity": "sha512-bz/NDyG0KBo/tY14vSkrwQ/n3HKPf87a0WFW/1M9+tXYK+vp5Z5EksawfCWo2zkAc6o7CClc0eff1Pjrqznlwg=="
},
"discord.js": {
"version": "14.0.3",
"resolved": "https://registry.npmjs.org/discord.js/-/discord.js-14.0.3.tgz",
"integrity": "sha512-wH/VQl4CqN8/+dcXEtYis1iurqxGlDpEe0O4CqH5FGqZGIjVpTdtK0STXXx7bVNX8MT/0GvLZLkmO/5gLDWZVg==",
"version": "14.1.2",
"resolved": "https://registry.npmjs.org/discord.js/-/discord.js-14.1.2.tgz",
"integrity": "sha512-apdWNLkjAkeEnuNpB8H6rS/4OgrXQlSAjuuzeodjCOdIXy3OwOjD314V/HiSttcAlr9+r3ONhaT5qvbDad5SIg==",
"requires": {
"@discordjs/builders": "^1.0.0",
"@discordjs/collection": "^1.0.0",
"@discordjs/rest": "^1.0.0",
"@discordjs/builders": "^1.1.0",
"@discordjs/collection": "^1.0.1",
"@discordjs/rest": "^1.0.1",
"@sapphire/snowflake": "^3.2.2",
"@types/ws": "^8.5.3",
"discord-api-types": "^0.36.2",
"discord-api-types": "^0.36.3",
"fast-deep-equal": "^3.1.3",
"lodash.snakecase": "^4.1.1",
"tslib": "^2.4.0",
@@ -520,12 +520,12 @@
"integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
},
"file-type": {
"version": "17.1.2",
"resolved": "https://registry.npmjs.org/file-type/-/file-type-17.1.2.tgz",
"integrity": "sha512-3thBUSfa9YEUEGO/NAAiQGvjujZxZiJTF6xNwyDn6kB0NcEtwMn5ttkGG9jGwm/Nt/t8U1bpBNqyBNZCz4F4ig==",
"version": "17.1.5",
"resolved": "https://registry.npmjs.org/file-type/-/file-type-17.1.5.tgz",
"integrity": "sha512-GMZRKCpcCQgqV0L/8ZqlMZ5lLzH2GLYnAwnqen6fr8b0CHzQPP+R/vXHBOsa0m/R74gCZP3sQDpu6fUeIvyFEQ==",
"requires": {
"readable-web-to-node-stream": "^3.0.2",
"strtok3": "^7.0.0-alpha.7",
"strtok3": "^7.0.0-alpha.9",
"token-types": "^5.0.0-alpha.2"
}
},
@@ -563,9 +563,9 @@
"integrity": "sha512-7lYL8bLopMoy4CTICbxygAUq6CdRJ36vFc80DucPueUee+d5NBRxz3FdT9Pes/HEx5mPoT9jwnsEJWz1N7uq7Q=="
},
"peek-readable": {
"version": "5.0.0-alpha.5",
"resolved": "https://registry.npmjs.org/peek-readable/-/peek-readable-5.0.0-alpha.5.tgz",
"integrity": "sha512-pJohF/tDwV3ntnT5+EkUo4E700q/j/OCDuPxtM+5/kFGjyOai/sK4/We4Cy1MB2OiTQliWU5DxPvYIKQAdPqAA=="
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/peek-readable/-/peek-readable-5.0.0.tgz",
"integrity": "sha512-YtCKvLUOvwtMGmrniQPdO7MwPjgkFBtFIrmfSbYmYuq3tKDV/mcfAhBth1+C3ru7uXIZasc/pHnb+YDYNkkj4A=="
},
"readable-stream": {
"version": "3.6.0",
@@ -607,18 +607,18 @@
}
},
"strtok3": {
"version": "7.0.0-alpha.8",
"resolved": "https://registry.npmjs.org/strtok3/-/strtok3-7.0.0-alpha.8.tgz",
"integrity": "sha512-u+k19v+rTxBjGYxncRQjGvZYwYvEd0uP3D+uHKe/s4WB1eXS5ZwpZsTlBu5xSS4zEd89mTXECXg6WW3FSeV8cA==",
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/strtok3/-/strtok3-7.0.0.tgz",
"integrity": "sha512-pQ+V+nYQdC5H3Q7qBZAz/MO6lwGhoC2gOAjuouGf/VO0m7vQRh8QNMl2Uf6SwAtzZ9bOw3UIeBukEGNJl5dtXQ==",
"requires": {
"@tokenizer/token": "^0.3.0",
"peek-readable": "^5.0.0-alpha.5"
"peek-readable": "^5.0.0"
}
},
"token-types": {
"version": "5.0.0-alpha.2",
"resolved": "https://registry.npmjs.org/token-types/-/token-types-5.0.0-alpha.2.tgz",
"integrity": "sha512-EsG9UxAW4M6VATrEEjhPFTKEUi1OiJqTUMIZOGBN49fGxYjZB36k0p7to3HZSmWRoHm1QfZgrg3e02fpqAt5fQ==",
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/token-types/-/token-types-5.0.0.tgz",
"integrity": "sha512-cza79xW1bo4pa6/AAZoOaZTlgNCgG3oCG7LQiGrfRFVl+XZvqiyc0+ncvlz+3XDIDNf9WcaT3Hcy6n/e1Tuc9A==",
"requires": {
"@tokenizer/token": "^0.3.0",
"ieee754": "^1.2.1"

View File

@@ -5,8 +5,8 @@
"main": "dist/src/index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start" : "tsc && node .",
"compile" : "tsc"
"start": "tsc && node .",
"compile": "tsc"
},
"keywords": [
"typescript",
@@ -15,7 +15,7 @@
],
"license": "MIT",
"dependencies": {
"@sern/handler": "^1.1.7-beta",
"@sern/handler": "^1.1.9-beta",
"discord.js": "^14.0.3",
"dotenv": "^16.0.1",
"trie-search": "^1.3.6"

View File

@@ -1,11 +1,12 @@
import { commandModule, CommandType } from '@sern/handler';
import { ActionRowBuilder, ApplicationCommandOptionType, ModalBuilder, TextInputBuilder, TextInputStyle } from 'discord.js';
import { existsSync, writeFileSync } from 'fs';
import { ownerOnly } from '../plugins/ownerOnly';
import { publish } from '../plugins/publish';
import type { TagData } from './handlers/tagCreate';
export default commandModule({
type: CommandType.Slash,
plugins: [publish(['941002690211766332'])],
plugins: [publish(['941002690211766332']), ownerOnly()],
options: [
{
name: 'create',
@@ -21,22 +22,22 @@ export default commandModule({
name: 'tag',
description: 'The tag to edit',
type: ApplicationCommandOptionType.String,
autocomplete: false,
autocomplete: true,
required: true,
// command: {
// onEvent: [],
// execute(ctx) {
// return ctx.respond([{ name: 'No tags found', value: '' }])
// const filePath = `./tags.json`;
// if (!existsSync(filePath)) {
// return ctx.respond([{ name: 'No tags found', value: '' }])
// } else {
// const file: TagData[] = require(`${process.cwd()}\\tags.json`);
// const tags = file.map(t => t.name);
// return ctx.respond(tags.map(t => ({ name: t, value: t })));
// }
// },
// }
command: {
onEvent: [],
execute(ctx) {
const filePath = `./tags.json`;
const focus = ctx.options.getFocused();
if (!existsSync(filePath)) {
return ctx.respond([{ name: 'No tags found', value: '' }])
} else {
const file: TagData[] = require(`${process.cwd()}\\tags.json`);
const tags = file.map(t => t.name);
return ctx.respond(tags.filter(t => focus.length ? t.toLowerCase().includes(focus.toLowerCase()) : true).map(t => ({ name: t, value: t })));
}
},
}
}
],
},
@@ -49,8 +50,22 @@ export default commandModule({
name: 'tag',
description: 'The tag to delete',
type: ApplicationCommandOptionType.String,
autocomplete: false,
autocomplete: true,
required: true,
command: {
onEvent: [],
execute(ctx) {
const filePath = `./tags.json`;
const focus = ctx.options.getFocused();
if (!existsSync(filePath)) {
return ctx.respond([{ name: 'No tags found', value: '' }])
} else {
const file: TagData[] = require(`${process.cwd()}\\tags.json`);
const tags = file.map(t => t.name);
return ctx.respond(tags.filter(t => focus.length ? t.toLowerCase().includes(focus.toLowerCase()) : true).map(t => ({ name: t, value: t })));
}
},
}
}
]
}

View File

@@ -7,5 +7,13 @@
"b",
"c"
]
},
{
"name": "Upgrade DJS",
"content": "Please update you djs version with compatible version of sern Handler.",
"keywords": [
"djs",
"upgrade"
]
}
]