feat: add support for application emojis features (#220)

* feat: add support for new Discord application emojis features

* feat: add support for new Discord application emojis features

* feat: applications emojis routes

* chore: switch typings provider

* fix: unnecesary type
This commit is contained in:
Tony Supremacy 2024-07-19 13:45:08 -06:00 committed by GitHub
parent 38c2b4ee9f
commit 04e17789e8
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 73 additions and 58 deletions

2
.gitignore vendored
View File

@ -1,4 +1,4 @@
node_modules
lib/
dist/
__test__
__test__

View File

@ -1,4 +1,2 @@
#!/usr/bin/env sh
. "$(dirname -- "$0")/_/husky.sh"
npx tsc --noEmit && npx lint-staged

View File

@ -20,7 +20,7 @@
"author": "MARCROCK22",
"license": "Apache-2.0",
"dependencies": {
"discord-api-types": "^0.37.92",
"discord-api-types": "github:tiramisulabs/discord-api-types",
"magic-bytes.js": "^1.10.0",
"ts-mixer": "^6.0.4",
"ws": "^8.18.0"
@ -34,9 +34,9 @@
"@biomejs/biome": "1.8.1",
"@commitlint/cli": "^19.3.0",
"@commitlint/config-conventional": "^19.2.2",
"@types/node": "^20.14.10",
"@types/ws": "^8.5.10",
"husky": "^9.0.11",
"@types/node": "^20.14.11",
"@types/ws": "^8.5.11",
"husky": "^9.1.1",
"lint-staged": "^15.2.7",
"typescript": "^5.5.3"
},

95
pnpm-lock.yaml generated
View File

@ -9,8 +9,8 @@ importers:
.:
dependencies:
discord-api-types:
specifier: ^0.37.92
version: 0.37.92
specifier: github:tiramisulabs/discord-api-types
version: https://codeload.github.com/tiramisulabs/discord-api-types/tar.gz/fb7d551a671718f4e1b7b4010574c0f3a4d0a858
magic-bytes.js:
specifier: ^1.10.0
version: 1.10.0
@ -39,19 +39,19 @@ importers:
version: 1.8.1
'@commitlint/cli':
specifier: ^19.3.0
version: 19.3.0(@types/node@20.14.10)(typescript@5.5.3)
version: 19.3.0(@types/node@20.14.11)(typescript@5.5.3)
'@commitlint/config-conventional':
specifier: ^19.2.2
version: 19.2.2
'@types/node':
specifier: ^20.14.10
version: 20.14.10
specifier: ^20.14.11
version: 20.14.11
'@types/ws':
specifier: ^8.5.10
version: 8.5.10
specifier: ^8.5.11
version: 8.5.11
husky:
specifier: ^9.0.11
version: 9.0.11
specifier: ^9.1.1
version: 9.1.1
lint-staged:
specifier: ^15.2.7
version: 15.2.7
@ -201,18 +201,18 @@ packages:
'@types/conventional-commits-parser@5.0.0':
resolution: {integrity: sha512-loB369iXNmAZglwWATL+WRe+CRMmmBPtpolYzIebFaX4YA3x+BEfLqhUAV9WanycKI3TG1IMr5bMJDajDKLlUQ==}
'@types/node@20.14.10':
resolution: {integrity: sha512-MdiXf+nDuMvY0gJKxyfZ7/6UFsETO7mGKF54MVD/ekJS6HdFtpZFBgrh6Pseu64XTb2MLyFPlbW6hj8HYRQNOQ==}
'@types/node@20.14.11':
resolution: {integrity: sha512-kprQpL8MMeszbz6ojB5/tU8PLN4kesnN8Gjzw349rDlNgsSzg90lAVj3llK99Dh7JON+t9AuscPPFW6mPbTnSA==}
'@types/ws@8.5.10':
resolution: {integrity: sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==}
'@types/ws@8.5.11':
resolution: {integrity: sha512-4+q7P5h3SpJxaBft0Dzpbr6lmMaqh0Jr2tbhJZ/luAwvD7ohSCniYkwz/pLxuT2h0EOa6QADgJj1Ko+TzRfZ+w==}
JSONStream@1.3.5:
resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==}
hasBin: true
ajv@8.16.0:
resolution: {integrity: sha512-F0twR8U1ZU67JIEtekUcLkXkoO5mMMmgGD8sK/xUFzJ805jxHQl92hImFAqqXMyMYjSPOyUPAwHYhB72g5sTXw==}
ajv@8.17.1:
resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==}
ansi-escapes@6.2.1:
resolution: {integrity: sha512-4nJ3yixlEthEJ9Rk4vPcdBRkZvQZlYyu8j4/Mqz5sgIkddmEnH2Yj2ZrnP9S3tQOvSNRUIgVNF/1yPpRAGNRig==}
@ -362,8 +362,9 @@ packages:
resolution: {integrity: sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==}
engines: {node: '>=0.10'}
discord-api-types@0.37.92:
resolution: {integrity: sha512-7xnedbQRLRef/O+4jKPyIFwl6YqoyihOG3OSneiRmVJMBk30ph2YuZGcHjeX1Kk/a3yQWeyCKe4RZJB3iECcxg==}
discord-api-types@https://codeload.github.com/tiramisulabs/discord-api-types/tar.gz/fb7d551a671718f4e1b7b4010574c0f3a4d0a858:
resolution: {tarball: https://codeload.github.com/tiramisulabs/discord-api-types/tar.gz/fb7d551a671718f4e1b7b4010574c0f3a4d0a858}
version: 0.37.92
dot-prop@5.3.0:
resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==}
@ -400,6 +401,9 @@ packages:
fast-deep-equal@3.1.3:
resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
fast-uri@3.0.1:
resolution: {integrity: sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw==}
fill-range@7.1.1:
resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
engines: {node: '>=8'}
@ -446,8 +450,8 @@ packages:
resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==}
engines: {node: '>=16.17.0'}
husky@9.0.11:
resolution: {integrity: sha512-AB6lFlbwwyIqMdHYhwPe+kjOC3Oc5P3nThEoW/AaO2BX3vJDjWPFxYLxokUZOo6RNX20He3AaT8sESs9NJcmEw==}
husky@9.1.1:
resolution: {integrity: sha512-fCqlqLXcBnXa/TJXmT93/A36tJsjdJkibQ1MuIiFyCCYUlpYpIaj2mv1w+3KR6Rzu1IC3slFTje5f6DUp2A2rg==}
engines: {node: '>=18'}
hasBin: true
@ -674,10 +678,6 @@ packages:
engines: {node: '>=0.10'}
hasBin: true
punycode@2.3.1:
resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
engines: {node: '>=6'}
readdirp@3.6.0:
resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
engines: {node: '>=8.10.0'}
@ -713,8 +713,8 @@ packages:
rfdc@1.4.1:
resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==}
semver@7.6.2:
resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==}
semver@7.6.3:
resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==}
engines: {node: '>=10'}
hasBin: true
@ -809,9 +809,6 @@ packages:
resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==}
engines: {node: '>=18'}
uri-js@4.4.1:
resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
which@2.0.2:
resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
engines: {node: '>= 8'}
@ -909,11 +906,11 @@ snapshots:
'@biomejs/cli-win32-x64@1.8.1':
optional: true
'@commitlint/cli@19.3.0(@types/node@20.14.10)(typescript@5.5.3)':
'@commitlint/cli@19.3.0(@types/node@20.14.11)(typescript@5.5.3)':
dependencies:
'@commitlint/format': 19.3.0
'@commitlint/lint': 19.2.2
'@commitlint/load': 19.2.0(@types/node@20.14.10)(typescript@5.5.3)
'@commitlint/load': 19.2.0(@types/node@20.14.11)(typescript@5.5.3)
'@commitlint/read': 19.2.1
'@commitlint/types': 19.0.3
execa: 8.0.1
@ -930,7 +927,7 @@ snapshots:
'@commitlint/config-validator@19.0.3':
dependencies:
'@commitlint/types': 19.0.3
ajv: 8.16.0
ajv: 8.17.1
'@commitlint/ensure@19.0.3':
dependencies:
@ -951,7 +948,7 @@ snapshots:
'@commitlint/is-ignored@19.2.2':
dependencies:
'@commitlint/types': 19.0.3
semver: 7.6.2
semver: 7.6.3
'@commitlint/lint@19.2.2':
dependencies:
@ -960,7 +957,7 @@ snapshots:
'@commitlint/rules': 19.0.3
'@commitlint/types': 19.0.3
'@commitlint/load@19.2.0(@types/node@20.14.10)(typescript@5.5.3)':
'@commitlint/load@19.2.0(@types/node@20.14.11)(typescript@5.5.3)':
dependencies:
'@commitlint/config-validator': 19.0.3
'@commitlint/execute-rule': 19.0.0
@ -968,7 +965,7 @@ snapshots:
'@commitlint/types': 19.0.3
chalk: 5.3.0
cosmiconfig: 9.0.0(typescript@5.5.3)
cosmiconfig-typescript-loader: 5.0.0(@types/node@20.14.10)(cosmiconfig@9.0.0(typescript@5.5.3))(typescript@5.5.3)
cosmiconfig-typescript-loader: 5.0.0(@types/node@20.14.11)(cosmiconfig@9.0.0(typescript@5.5.3))(typescript@5.5.3)
lodash.isplainobject: 4.0.6
lodash.merge: 4.6.2
lodash.uniq: 4.5.0
@ -1025,27 +1022,27 @@ snapshots:
'@types/conventional-commits-parser@5.0.0':
dependencies:
'@types/node': 20.14.10
'@types/node': 20.14.11
'@types/node@20.14.10':
'@types/node@20.14.11':
dependencies:
undici-types: 5.26.5
'@types/ws@8.5.10':
'@types/ws@8.5.11':
dependencies:
'@types/node': 20.14.10
'@types/node': 20.14.11
JSONStream@1.3.5:
dependencies:
jsonparse: 1.3.1
through: 2.3.8
ajv@8.16.0:
ajv@8.17.1:
dependencies:
fast-deep-equal: 3.1.3
fast-uri: 3.0.1
json-schema-traverse: 1.0.0
require-from-string: 2.0.2
uri-js: 4.4.1
ansi-escapes@6.2.1: {}
@ -1157,9 +1154,9 @@ snapshots:
meow: 12.1.1
split2: 4.2.0
cosmiconfig-typescript-loader@5.0.0(@types/node@20.14.10)(cosmiconfig@9.0.0(typescript@5.5.3))(typescript@5.5.3):
cosmiconfig-typescript-loader@5.0.0(@types/node@20.14.11)(cosmiconfig@9.0.0(typescript@5.5.3))(typescript@5.5.3):
dependencies:
'@types/node': 20.14.10
'@types/node': 20.14.11
cosmiconfig: 9.0.0(typescript@5.5.3)
jiti: 1.21.6
typescript: 5.5.3
@ -1188,7 +1185,7 @@ snapshots:
denque@2.1.0:
optional: true
discord-api-types@0.37.92: {}
discord-api-types@https://codeload.github.com/tiramisulabs/discord-api-types/tar.gz/fb7d551a671718f4e1b7b4010574c0f3a4d0a858: {}
dot-prop@5.3.0:
dependencies:
@ -1224,6 +1221,8 @@ snapshots:
fast-deep-equal@3.1.3: {}
fast-uri@3.0.1: {}
fill-range@7.1.1:
dependencies:
to-regex-range: 5.0.1
@ -1262,7 +1261,7 @@ snapshots:
human-signals@5.0.0: {}
husky@9.0.11: {}
husky@9.1.1: {}
import-fresh@3.3.0:
dependencies:
@ -1466,8 +1465,6 @@ snapshots:
pidtree@0.6.0: {}
punycode@2.3.1: {}
readdirp@3.6.0:
dependencies:
picomatch: 2.3.1
@ -1496,7 +1493,7 @@ snapshots:
rfdc@1.4.1: {}
semver@7.6.2: {}
semver@7.6.3: {}
shebang-command@2.0.0:
dependencies:
@ -1573,10 +1570,6 @@ snapshots:
unicorn-magic@0.1.0: {}
uri-js@4.4.1:
dependencies:
punycode: 2.3.1
which@2.0.2:
dependencies:
isexe: 2.0.0

View File

@ -23,6 +23,13 @@ import type {
RESTPutAPIApplicationRoleConnectionMetadataJSONBody,
RESTPutAPIApplicationRoleConnectionMetadataResult,
RESTPutAPIGuildApplicationCommandsPermissionsResult,
RESTGetAPIApplicationEmojiResult,
RESTGetAPIApplicationEmojisResult,
RESTPostAPIApplicationEmojiJSONBody,
RESTPatchAPIApplicationEmojiJSONBody,
RESTPostAPIApplicationEmojiResult,
RESTPatchAPIApplicationEmojiResult,
RESTDeleteAPIApplicationEmojiResult,
} from 'discord-api-types/v10';
import type { ProxyRequestMethod } from '../Router';
import type { RestArguments } from '../api';
@ -93,5 +100,22 @@ export interface ApplicationRoutes {
): Promise<RESTPutAPIApplicationRoleConnectionMetadataResult>;
};
};
emojis: {
(
id: string,
): {
get(args?: RestArguments<ProxyRequestMethod.Get>): Promise<RESTGetAPIApplicationEmojiResult>;
patch(
args?: RestArguments<ProxyRequestMethod.Patch, RESTPatchAPIApplicationEmojiJSONBody>,
): Promise<RESTPatchAPIApplicationEmojiResult>;
delete(args?: RestArguments<ProxyRequestMethod.Delete>): Promise<RESTDeleteAPIApplicationEmojiResult>;
};
get(
args?: RestArguments<ProxyRequestMethod.Get, Pick<RESTGetAPIApplicationEmojiResult, 'id'>>,
): Promise<RESTGetAPIApplicationEmojisResult>;
post(
args?: RestArguments<ProxyRequestMethod.Post, RESTPostAPIApplicationEmojiJSONBody>,
): Promise<RESTPostAPIApplicationEmojiResult>;
};
};
}