From 6d445cde22c6cc88a6a39f758e5e03c7bdc2f9ba Mon Sep 17 00:00:00 2001 From: ITOH <72305210+itohatweb@users.noreply.github.com> Date: Thu, 22 Apr 2021 21:43:28 +0200 Subject: [PATCH 01/45] add automatic toCamel --- src/rest/run_method.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/rest/run_method.ts b/src/rest/run_method.ts index c5007d49e..f4cf90ccc 100644 --- a/src/rest/run_method.ts +++ b/src/rest/run_method.ts @@ -1,4 +1,5 @@ import { API_VERSION, BASE_URL, IMAGE_BASE_URL } from "../util/constants.ts"; +import { snakeKeysToCamelCase } from "../util/utils.ts"; import { rest } from "./rest.ts"; // deno-lint-ignore no-explicit-any @@ -47,7 +48,7 @@ export async function runMethod( method, reject, respond: (data: { status: number; body?: string }) => - resolve(JSON.parse(data.body || "{}")), + resolve(snakeKeysToCamelCase(JSON.parse(data.body || "{}"))), }, { bucketId, From a665c2d53065918a82bb8129e5a57f43c36ddb50 Mon Sep 17 00:00:00 2001 From: ITOH <72305210+itohatweb@users.noreply.github.com> Date: Fri, 23 Apr 2021 23:12:27 +0200 Subject: [PATCH 02/45] Update create_channel.ts --- src/helpers/channels/create_channel.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/helpers/channels/create_channel.ts b/src/helpers/channels/create_channel.ts index da902252f..9d675ed60 100644 --- a/src/helpers/channels/create_channel.ts +++ b/src/helpers/channels/create_channel.ts @@ -2,7 +2,7 @@ import { eventHandlers } from "../../bot.ts"; import { cacheHandlers } from "../../cache.ts"; import { rest } from "../../rest/rest.ts"; import { structures } from "../../structures/mod.ts"; -import { DiscordChannel } from "../../types/channels/channel.ts"; +import { Channel } from "../../types/channels/channel.ts"; import { DiscordChannelTypes } from "../../types/channels/channel_types.ts"; import { CreateGuildChannel, @@ -38,7 +38,7 @@ export async function createChannel( // BITRATES ARE IN THOUSANDS SO IF USER PROVIDES 32 WE CONVERT TO 32000 if (options?.bitrate && options.bitrate < 1000) options.bitrate *= 1000; - const result = (await rest.runMethod( + const result = await rest.runMethod( "post", endpoints.GUILD_CHANNELS(guildId), { @@ -51,7 +51,7 @@ export async function createChannel( type: options?.type || DiscordChannelTypes.GUILD_TEXT, reason, }, - )) as DiscordChannel; + ); const discordenoChannel = await structures.createDiscordenoChannel(result); await cacheHandlers.set("channels", discordenoChannel.id, discordenoChannel); From 27c569050efb782d9a500092bcc8a6e56ecda72a Mon Sep 17 00:00:00 2001 From: ITOH <72305210+itohatweb@users.noreply.github.com> Date: Fri, 23 Apr 2021 23:12:30 +0200 Subject: [PATCH 03/45] Update delete_channel_overwrite.ts --- src/helpers/channels/delete_channel_overwrite.ts | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/helpers/channels/delete_channel_overwrite.ts b/src/helpers/channels/delete_channel_overwrite.ts index da9f04a4f..ea92593cb 100644 --- a/src/helpers/channels/delete_channel_overwrite.ts +++ b/src/helpers/channels/delete_channel_overwrite.ts @@ -10,10 +10,8 @@ export async function deleteChannelOverwrite( ): Promise { await requireBotGuildPermissions(guildId, ["MANAGE_ROLES"]); - const result = await rest.runMethod( + return await rest.runMethod( "delete", endpoints.CHANNEL_OVERWRITE(channelId, overwriteId), ); - - return result; } From 832905a0e9b41a96f653d93ae40fa214a03cb467 Mon Sep 17 00:00:00 2001 From: ITOH <72305210+itohatweb@users.noreply.github.com> Date: Fri, 23 Apr 2021 23:12:33 +0200 Subject: [PATCH 04/45] Update delete_channel.ts --- src/helpers/channels/delete_channel.ts | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/helpers/channels/delete_channel.ts b/src/helpers/channels/delete_channel.ts index cd384bbfa..d934c8944 100644 --- a/src/helpers/channels/delete_channel.ts +++ b/src/helpers/channels/delete_channel.ts @@ -23,11 +23,9 @@ export async function deleteChannel( throw new Error(Errors.UPDATES_CHANNEL_CANNOT_BE_DELETED); } - const result = await rest.runMethod( + return await rest.runMethod( "delete", endpoints.CHANNEL_BASE(channelId), { reason }, ); - - return result; } From 0d7590349bc4b38968eeabc399bde15369da2d09 Mon Sep 17 00:00:00 2001 From: ITOH <72305210+itohatweb@users.noreply.github.com> Date: Fri, 23 Apr 2021 23:12:35 +0200 Subject: [PATCH 05/45] Update edit_channel_overwrite.ts --- src/helpers/channels/edit_channel_overwrite.ts | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/helpers/channels/edit_channel_overwrite.ts b/src/helpers/channels/edit_channel_overwrite.ts index e6caad9b0..17f271528 100644 --- a/src/helpers/channels/edit_channel_overwrite.ts +++ b/src/helpers/channels/edit_channel_overwrite.ts @@ -15,7 +15,7 @@ export async function editChannelOverwrite( ): Promise { await requireBotGuildPermissions(guildId, ["MANAGE_ROLES"]); - const result = await rest.runMethod( + return await rest.runMethod( "put", endpoints.CHANNEL_OVERWRITE(channelId, overwriteId), { @@ -24,6 +24,4 @@ export async function editChannelOverwrite( type: options.type, }, ); - - return result; } From 7f8e67f5c63e6e4a6f600885ab462c03cc9dc7ab Mon Sep 17 00:00:00 2001 From: ITOH <72305210+itohatweb@users.noreply.github.com> Date: Fri, 23 Apr 2021 23:27:30 +0200 Subject: [PATCH 06/45] Update edit_channel.ts --- src/helpers/channels/edit_channel.ts | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/helpers/channels/edit_channel.ts b/src/helpers/channels/edit_channel.ts index d6e06fda2..dfb064c7d 100644 --- a/src/helpers/channels/edit_channel.ts +++ b/src/helpers/channels/edit_channel.ts @@ -1,6 +1,7 @@ import { eventHandlers } from "../../bot.ts"; import { rest } from "../../rest/rest.ts"; import { ModifyChannel } from "../../types/channels/modify_channel.ts"; +import { Channel } from "../../types/mod.ts"; import { endpoints } from "../../util/constants.ts"; import { calculateBits, @@ -58,7 +59,7 @@ export async function editChannel( }), }; - const result = await rest.runMethod( + return await rest.runMethod( "patch", endpoints.CHANNEL_BASE(channelId), { @@ -66,8 +67,6 @@ export async function editChannel( reason, }, ); - - return result; } interface EditChannelRequest { From 82b896d177af21cae61de5f63633ac16b518d930 Mon Sep 17 00:00:00 2001 From: ITOH <72305210+itohatweb@users.noreply.github.com> Date: Fri, 23 Apr 2021 23:27:32 +0200 Subject: [PATCH 07/45] Update follow_channel.ts --- src/helpers/channels/follow_channel.ts | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/helpers/channels/follow_channel.ts b/src/helpers/channels/follow_channel.ts index b8c9e7e27..550bf9d0f 100644 --- a/src/helpers/channels/follow_channel.ts +++ b/src/helpers/channels/follow_channel.ts @@ -1,5 +1,5 @@ import { rest } from "../../rest/rest.ts"; -import { DiscordFollowedChannel } from "../../types/channels/followed_channel.ts"; +import { FollowedChannel } from "../../types/channels/followed_channel.ts"; import { endpoints } from "../../util/constants.ts"; import { requireBotChannelPermissions } from "../../util/permissions.ts"; @@ -10,10 +10,13 @@ export async function followChannel( ) { await requireBotChannelPermissions(targetChannelId, ["MANAGE_WEBHOOKS"]); - const data = - (await rest.runMethod("post", endpoints.CHANNEL_FOLLOW(sourceChannelId), { + const data = await rest.runMethod( + "post", + endpoints.CHANNEL_FOLLOW(sourceChannelId), + { webhook_channel_id: targetChannelId, - })) as DiscordFollowedChannel; + }, + ); - return data.webhook_id; + return data.webhookId; } From f733a36051ecdcca8074d223d0c5a07fc2fbca3b Mon Sep 17 00:00:00 2001 From: ITOH <72305210+itohatweb@users.noreply.github.com> Date: Fri, 23 Apr 2021 23:27:33 +0200 Subject: [PATCH 08/45] Update get_channel.ts --- src/helpers/channels/get_channel.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/helpers/channels/get_channel.ts b/src/helpers/channels/get_channel.ts index e0023133a..9c27334aa 100644 --- a/src/helpers/channels/get_channel.ts +++ b/src/helpers/channels/get_channel.ts @@ -1,7 +1,7 @@ import { cacheHandlers } from "../../cache.ts"; import { rest } from "../../rest/rest.ts"; import { structures } from "../../structures/mod.ts"; -import { DiscordChannel } from "../../types/channels/channel.ts"; +import { Channel } from "../../types/channels/channel.ts"; import { endpoints } from "../../util/constants.ts"; /** Fetches a single channel object from the api. @@ -9,14 +9,14 @@ import { endpoints } from "../../util/constants.ts"; * ⚠️ **If you need this, you are probably doing something wrong. This is not intended for use. Your channels will be cached in your guild.** */ export async function getChannel(channelId: string, addToCache = true) { - const result = (await rest.runMethod( + const result = await rest.runMethod( "get", endpoints.CHANNEL_BASE(channelId), - )) as DiscordChannel; + ); const discordenoChannel = await structures.createDiscordenoChannel( result, - result.guild_id, + result.guildId, ); if (addToCache) { await cacheHandlers.set( From ecc04182719033eebe8cad960165f5a12e540e84 Mon Sep 17 00:00:00 2001 From: ITOH <72305210+itohatweb@users.noreply.github.com> Date: Fri, 23 Apr 2021 23:27:35 +0200 Subject: [PATCH 09/45] Update get_channel_webhooks.ts --- src/helpers/channels/get_channel_webhooks.ts | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/src/helpers/channels/get_channel_webhooks.ts b/src/helpers/channels/get_channel_webhooks.ts index bdea2baf5..69fcc7825 100644 --- a/src/helpers/channels/get_channel_webhooks.ts +++ b/src/helpers/channels/get_channel_webhooks.ts @@ -1,23 +1,19 @@ import { rest } from "../../rest/rest.ts"; -import { DiscordWebhook, Webhook } from "../../types/webhooks/webhook.ts"; +import { Webhook } from "../../types/webhooks/webhook.ts"; import { Collection } from "../../util/collection.ts"; import { endpoints } from "../../util/constants.ts"; import { requireBotChannelPermissions } from "../../util/permissions.ts"; -import { snakeKeysToCamelCase } from "../../util/utils.ts"; /** Gets the webhooks for this channel. Requires MANAGE_WEBHOOKS */ export async function getChannelWebhooks(channelId: string) { await requireBotChannelPermissions(channelId, ["MANAGE_WEBHOOKS"]); - const result = (await rest.runMethod( + const result = await rest.runMethod( "get", endpoints.CHANNEL_WEBHOOKS(channelId), - )) as DiscordWebhook[]; + ); return new Collection( - result.map((webhook) => [ - webhook.id, - snakeKeysToCamelCase(webhook), - ]), + result.map((webhook) => [webhook.id, webhook]), ); } From 7f847621769b3f35b1329dc36b2d1a8d1bda0b53 Mon Sep 17 00:00:00 2001 From: ITOH <72305210+itohatweb@users.noreply.github.com> Date: Fri, 23 Apr 2021 23:27:37 +0200 Subject: [PATCH 10/45] Update get_channels.ts --- src/helpers/channels/get_channels.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/helpers/channels/get_channels.ts b/src/helpers/channels/get_channels.ts index df7543b7e..c0271fb41 100644 --- a/src/helpers/channels/get_channels.ts +++ b/src/helpers/channels/get_channels.ts @@ -1,7 +1,7 @@ import { cacheHandlers } from "../../cache.ts"; import { rest } from "../../rest/rest.ts"; import { structures } from "../../structures/mod.ts"; -import { DiscordChannel } from "../../types/channels/channel.ts"; +import { Channel } from "../../types/channels/channel.ts"; import { Collection } from "../../util/collection.ts"; import { endpoints } from "../../util/constants.ts"; @@ -10,10 +10,10 @@ import { endpoints } from "../../util/constants.ts"; * ⚠️ **If you need this, you are probably doing something wrong. This is not intended for use. Your channels will be cached in your guild.** */ export async function getChannels(guildId: string, addToCache = true) { - const result = (await rest.runMethod( + const result = await rest.runMethod( "get", endpoints.GUILD_CHANNELS(guildId), - )) as DiscordChannel[]; + ); return new Collection( ( From 3812025506df85dfdd67c5e6522598adda17374b Mon Sep 17 00:00:00 2001 From: ITOH <72305210+itohatweb@users.noreply.github.com> Date: Fri, 23 Apr 2021 23:27:39 +0200 Subject: [PATCH 11/45] Update get_pins.ts --- src/helpers/channels/get_pins.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/helpers/channels/get_pins.ts b/src/helpers/channels/get_pins.ts index c09237216..18b878b03 100644 --- a/src/helpers/channels/get_pins.ts +++ b/src/helpers/channels/get_pins.ts @@ -1,14 +1,14 @@ import { rest } from "../../rest/rest.ts"; import { structures } from "../../structures/mod.ts"; -import { DiscordMessage } from "../../types/messages/message.ts"; +import { Message } from "../../types/messages/message.ts"; import { endpoints } from "../../util/constants.ts"; /** Get pinned messages in this channel. */ export async function getPins(channelId: string) { - const result = (await rest.runMethod( + const result = await rest.runMethod( "get", endpoints.CHANNEL_PINS(channelId), - )) as DiscordMessage[]; + ); return Promise.all( result.map((res) => structures.createDiscordenoMessage(res)), From 281416de3606a07db1b47fd15dc752e00cb1792a Mon Sep 17 00:00:00 2001 From: ITOH <72305210+itohatweb@users.noreply.github.com> Date: Fri, 23 Apr 2021 23:27:41 +0200 Subject: [PATCH 12/45] Update start_typing.ts --- src/helpers/channels/start_typing.ts | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/helpers/channels/start_typing.ts b/src/helpers/channels/start_typing.ts index c5cf0144b..013ad46e2 100644 --- a/src/helpers/channels/start_typing.ts +++ b/src/helpers/channels/start_typing.ts @@ -10,7 +10,7 @@ import { botHasChannelPermissions } from "../../util/permissions.ts"; * However, if a bot is responding to a command and expects the computation to take a few seconds, * this endpoint may be called to let the user know that the bot is processing their message. */ -export async function startTyping(channelId: string): Promise { +export async function startTyping(channelId: string) { const channel = await cacheHandlers.get("channels", channelId); // If the channel is cached, we can do extra checks/safety if (channel) { @@ -35,10 +35,8 @@ export async function startTyping(channelId: string): Promise { } } - const result = await rest.runMethod( + return await rest.runMethod( "post", endpoints.CHANNEL_TYPING(channelId), ); - - return result; } From e9a46f03ccc057b56993b1aabde38f9c737a8822 Mon Sep 17 00:00:00 2001 From: ITOH <72305210+itohatweb@users.noreply.github.com> Date: Fri, 23 Apr 2021 23:27:43 +0200 Subject: [PATCH 13/45] Update swap_channels.ts --- src/helpers/channels/swap_channels.ts | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/helpers/channels/swap_channels.ts b/src/helpers/channels/swap_channels.ts index 9c6801c36..c55b903d3 100644 --- a/src/helpers/channels/swap_channels.ts +++ b/src/helpers/channels/swap_channels.ts @@ -6,16 +6,14 @@ import { endpoints } from "../../util/constants.ts"; export async function swapChannels( guildId: string, channelPositions: ModifyGuildChannelPositions[], -): Promise { +) { if (channelPositions.length < 2) { throw "You must provide at least two channels to be swapped."; } - const result = await rest.runMethod( + return await rest.runMethod( "patch", endpoints.GUILD_CHANNELS(guildId), channelPositions, ); - - return result; } From 36dc14523b34620b150acdd0f790db49d03b1b81 Mon Sep 17 00:00:00 2001 From: ITOH <72305210+itohatweb@users.noreply.github.com> Date: Fri, 23 Apr 2021 23:27:45 +0200 Subject: [PATCH 14/45] Update create_slash_command.ts --- src/helpers/commands/create_slash_command.ts | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/helpers/commands/create_slash_command.ts b/src/helpers/commands/create_slash_command.ts index 8baa84490..2da719f56 100644 --- a/src/helpers/commands/create_slash_command.ts +++ b/src/helpers/commands/create_slash_command.ts @@ -1,6 +1,7 @@ import { applicationId } from "../../bot.ts"; import { rest } from "../../rest/rest.ts"; import { CreateGlobalApplicationCommand } from "../../types/interactions/create_global_application_command.ts"; +import { ApplicationCommand } from "../../types/mod.ts"; import { endpoints } from "../../util/constants.ts"; import { camelKeysToSnakeCase, @@ -24,13 +25,11 @@ export async function createSlashCommand( ) { validateSlashCommands([options], true); - const result = await rest.runMethod( + return await rest.runMethod( "post", guildId ? endpoints.COMMANDS_GUILD(applicationId, guildId) : endpoints.COMMANDS(applicationId), camelKeysToSnakeCase(options), ); - - return result; } From f1b5d2770046abad01e8f40406945c9d41ac86bf Mon Sep 17 00:00:00 2001 From: ITOH <72305210+itohatweb@users.noreply.github.com> Date: Fri, 23 Apr 2021 23:27:47 +0200 Subject: [PATCH 15/45] Update delete_slash_command.ts --- src/helpers/commands/delete_slash_command.ts | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/helpers/commands/delete_slash_command.ts b/src/helpers/commands/delete_slash_command.ts index 0b9580e15..9f4c889d7 100644 --- a/src/helpers/commands/delete_slash_command.ts +++ b/src/helpers/commands/delete_slash_command.ts @@ -6,13 +6,11 @@ import { endpoints } from "../../util/constants.ts"; export async function deleteSlashCommand( id: string, guildId?: string, -): Promise { - const result = await rest.runMethod( +) { + return await rest.runMethod( "delete", guildId ? endpoints.COMMANDS_GUILD_ID(applicationId, guildId, id) : endpoints.COMMANDS_ID(applicationId, id), ); - - return result; } From 2d1177290ada6d57cf032b898a44f02db9710a62 Mon Sep 17 00:00:00 2001 From: ITOH <72305210+itohatweb@users.noreply.github.com> Date: Fri, 23 Apr 2021 23:27:49 +0200 Subject: [PATCH 16/45] Update delete_slash_response.ts --- src/helpers/commands/delete_slash_response.ts | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/helpers/commands/delete_slash_response.ts b/src/helpers/commands/delete_slash_response.ts index 14523c3a5..c0972f1cf 100644 --- a/src/helpers/commands/delete_slash_response.ts +++ b/src/helpers/commands/delete_slash_response.ts @@ -6,8 +6,8 @@ import { endpoints } from "../../util/constants.ts"; export async function deleteSlashResponse( token: string, messageId?: string, -): Promise { - const result = await rest.runMethod( +) { + return await rest.runMethod( "delete", messageId ? endpoints.INTERACTION_ID_TOKEN_MESSAGE_ID( @@ -17,6 +17,4 @@ export async function deleteSlashResponse( ) : endpoints.INTERACTION_ORIGINAL_ID_TOKEN(applicationId, token), ); - - return result; } From 9831ccf76e259e79f52a8bd3e385cd6cb3cb65ce Mon Sep 17 00:00:00 2001 From: ITOH <72305210+itohatweb@users.noreply.github.com> Date: Fri, 23 Apr 2021 23:27:51 +0200 Subject: [PATCH 17/45] Update edit_slash_response.ts --- src/helpers/commands/edit_slash_response.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/helpers/commands/edit_slash_response.ts b/src/helpers/commands/edit_slash_response.ts index 099b61b30..e046c8e9f 100644 --- a/src/helpers/commands/edit_slash_response.ts +++ b/src/helpers/commands/edit_slash_response.ts @@ -69,7 +69,7 @@ export async function editSlashResponse( ); // If the original message was edited, this will not return a message - if (!options.messageId) return result; + if (!options.messageId) return result as undefined; const message = await structures.createDiscordenoMessage( result as DiscordMessage, From f27d58681150cabcd9416186d5c2499c9b3ab427 Mon Sep 17 00:00:00 2001 From: ITOH <72305210+itohatweb@users.noreply.github.com> Date: Fri, 23 Apr 2021 23:27:52 +0200 Subject: [PATCH 18/45] Update get_slash_command.ts --- src/helpers/commands/get_slash_command.ts | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/helpers/commands/get_slash_command.ts b/src/helpers/commands/get_slash_command.ts index 72c61b3f6..d207c577b 100644 --- a/src/helpers/commands/get_slash_command.ts +++ b/src/helpers/commands/get_slash_command.ts @@ -5,12 +5,10 @@ import { endpoints } from "../../util/constants.ts"; /** Fetchs the global command for the given Id. If a guildId is provided, the guild command will be fetched. */ export async function getSlashCommand(commandId: string, guildId?: string) { - const result = await rest.runMethod( + return await rest.runMethod( "get", guildId ? endpoints.COMMANDS_GUILD_ID(applicationId, guildId, commandId) : endpoints.COMMANDS_ID(applicationId, commandId), ); - - return result as ApplicationCommand; } From 653e608d0ef03ba26d688e84229d821eb6313c37 Mon Sep 17 00:00:00 2001 From: ITOH <72305210+itohatweb@users.noreply.github.com> Date: Fri, 23 Apr 2021 23:27:56 +0200 Subject: [PATCH 19/45] Update get_slash_commands.ts --- src/helpers/commands/get_slash_commands.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/helpers/commands/get_slash_commands.ts b/src/helpers/commands/get_slash_commands.ts index 3337baf49..4b4de42d1 100644 --- a/src/helpers/commands/get_slash_commands.ts +++ b/src/helpers/commands/get_slash_commands.ts @@ -6,12 +6,12 @@ import { endpoints } from "../../util/constants.ts"; /** Fetch all of the global commands for your application. */ export async function getSlashCommands(guildId?: string) { - const result = (await rest.runMethod( + const result = await rest.runMethod( "get", guildId ? endpoints.COMMANDS_GUILD(applicationId, guildId) : endpoints.COMMANDS(applicationId), - )) as ApplicationCommand[]; + ); return new Collection(result.map((command) => [command.name, command])); } From 7ee20b0b3e33ca4ee9e9620f8c1632a668f9476b Mon Sep 17 00:00:00 2001 From: ITOH <72305210+itohatweb@users.noreply.github.com> Date: Fri, 23 Apr 2021 23:31:37 +0200 Subject: [PATCH 20/45] Update upsert_slash_command.ts --- src/helpers/commands/upsert_slash_command.ts | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/helpers/commands/upsert_slash_command.ts b/src/helpers/commands/upsert_slash_command.ts index 66c064780..2fb71ae7c 100644 --- a/src/helpers/commands/upsert_slash_command.ts +++ b/src/helpers/commands/upsert_slash_command.ts @@ -1,6 +1,7 @@ import { applicationId } from "../../bot.ts"; import { rest } from "../../rest/rest.ts"; import { EditGlobalApplicationCommand } from "../../types/interactions/edit_global_application_command.ts"; +import { ApplicationCommand } from "../../types/mod.ts"; import { endpoints } from "../../util/constants.ts"; import { validateSlashCommands } from "../../util/utils.ts"; @@ -14,13 +15,11 @@ export async function upsertSlashCommand( ) { validateSlashCommands([options]); - const result = await rest.runMethod( + return await rest.runMethod( "patch", guildId ? endpoints.COMMANDS_GUILD_ID(applicationId, guildId, commandId) : endpoints.COMMANDS_ID(applicationId, commandId), options, ); - - return result; } From 5451c1ad952da967c95050644066427bf6a743de Mon Sep 17 00:00:00 2001 From: ITOH <72305210+itohatweb@users.noreply.github.com> Date: Fri, 23 Apr 2021 23:31:38 +0200 Subject: [PATCH 21/45] Update upsert_slash_commands.ts --- src/helpers/commands/upsert_slash_commands.ts | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/helpers/commands/upsert_slash_commands.ts b/src/helpers/commands/upsert_slash_commands.ts index ce0bdeee2..bf2b78343 100644 --- a/src/helpers/commands/upsert_slash_commands.ts +++ b/src/helpers/commands/upsert_slash_commands.ts @@ -1,6 +1,7 @@ import { applicationId } from "../../bot.ts"; import { rest } from "../../rest/rest.ts"; import { EditGlobalApplicationCommand } from "../../types/interactions/edit_global_application_command.ts"; +import { ApplicationCommand } from "../../types/mod.ts"; import { endpoints } from "../../util/constants.ts"; import { validateSlashCommands } from "../../util/utils.ts"; @@ -15,13 +16,11 @@ export async function upsertSlashCommands( ) { validateSlashCommands(options); - const result = await rest.runMethod( + return await rest.runMethod( "put", guildId ? endpoints.COMMANDS_GUILD(applicationId, guildId) : endpoints.COMMANDS(applicationId), options, ); - - return result; } From 7a774540eb57a57377a9ce2a6078702a01849e7a Mon Sep 17 00:00:00 2001 From: ITOH <72305210+itohatweb@users.noreply.github.com> Date: Fri, 23 Apr 2021 23:31:40 +0200 Subject: [PATCH 22/45] Update add_discovery_subcategory.ts --- src/helpers/discovery/add_discovery_subcategory.ts | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/helpers/discovery/add_discovery_subcategory.ts b/src/helpers/discovery/add_discovery_subcategory.ts index f57296503..93a124c91 100644 --- a/src/helpers/discovery/add_discovery_subcategory.ts +++ b/src/helpers/discovery/add_discovery_subcategory.ts @@ -1,11 +1,9 @@ import { rest } from "../../rest/rest.ts"; import { AddGuildDiscoverySubcategory, - DiscordAddGuildDiscoverySubcategory, } from "../../types/discovery/add_guild_discovery_subcategory.ts"; import { endpoints } from "../../util/constants.ts"; import { requireBotGuildPermissions } from "../../util/permissions.ts"; -import { snakeKeysToCamelCase } from "../../util/utils.ts"; /** Add a discovery subcategory to the guild. Requires the `MANAGE_GUILD` permission. */ export async function addDiscoverySubcategory( @@ -14,10 +12,8 @@ export async function addDiscoverySubcategory( ) { await requireBotGuildPermissions(guildId, ["MANAGE_GUILD"]); - const result = await rest.runMethod( + return await rest.runMethod( "post", endpoints.DISCOVERY_SUBCATEGORY(guildId, categoryId), ); - - return snakeKeysToCamelCase(result); } From a35415784247a6c343543a7454349cc9c19e6318 Mon Sep 17 00:00:00 2001 From: ITOH <72305210+itohatweb@users.noreply.github.com> Date: Fri, 23 Apr 2021 23:31:43 +0200 Subject: [PATCH 23/45] Update edit_discovery.ts --- src/helpers/discovery/edit_discovery.ts | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/src/helpers/discovery/edit_discovery.ts b/src/helpers/discovery/edit_discovery.ts index 8c8c16d1b..9976e04cd 100644 --- a/src/helpers/discovery/edit_discovery.ts +++ b/src/helpers/discovery/edit_discovery.ts @@ -1,15 +1,9 @@ import { rest } from "../../rest/rest.ts"; -import { - DiscordDiscoveryMetadata, - DiscoveryMetadata, -} from "../../types/discovery/discovery_metadata.ts"; +import { DiscoveryMetadata } from "../../types/discovery/discovery_metadata.ts"; import { ModifyGuildDiscoveryMetadata } from "../../types/discovery/modify_guild_discovery_metadata.ts"; import { endpoints } from "../../util/constants.ts"; import { requireBotGuildPermissions } from "../../util/permissions.ts"; -import { - camelKeysToSnakeCase, - snakeKeysToCamelCase, -} from "../../util/utils.ts"; +import { camelKeysToSnakeCase } from "../../util/utils.ts"; /** Modify the discovery metadata for the guild. Requires the MANAGE_GUILD permission. Returns the updated discovery metadata object on success. */ export async function editDiscovery( @@ -18,11 +12,9 @@ export async function editDiscovery( ) { await requireBotGuildPermissions(guildId, ["MANAGE_GUILD"]); - const result = await rest.runMethod( + return await rest.runMethod( "patch", endpoints.DISCOVERY_MODIFY(guildId), camelKeysToSnakeCase(data), ); - - return snakeKeysToCamelCase(result); } From cc2af6f90057a33ea1e59f2ff15e92079beae033 Mon Sep 17 00:00:00 2001 From: ITOH <72305210+itohatweb@users.noreply.github.com> Date: Fri, 23 Apr 2021 23:31:47 +0200 Subject: [PATCH 24/45] Update get_discovery_categories.ts --- src/helpers/discovery/get_discovery_categories.ts | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/src/helpers/discovery/get_discovery_categories.ts b/src/helpers/discovery/get_discovery_categories.ts index 4c390a616..8ec9858f5 100644 --- a/src/helpers/discovery/get_discovery_categories.ts +++ b/src/helpers/discovery/get_discovery_categories.ts @@ -1,25 +1,18 @@ import { rest } from "../../rest/rest.ts"; -import { - DiscordDiscoveryCategory, - DiscoveryCategory, -} from "../../types/discovery/discovery_category.ts"; +import { DiscoveryCategory } from "../../types/discovery/discovery_category.ts"; import { Collection } from "../../util/collection.ts"; import { endpoints } from "../../util/constants.ts"; -import { snakeKeysToCamelCase } from "../../util/utils.ts"; /** Returns an array of discovery category objects that can be used when editing guilds */ export async function getDiscoveryCategories() { - const result = await rest.runMethod( + const result = await rest.runMethod( "get", endpoints.DISCOVERY_CATEGORIES, ); return new Collection( result.map( - (category) => [ - category.id, - snakeKeysToCamelCase(category), - ], + (category) => [category.id, category], ), ); } From 160a9573239ae877cccf0912c0220fe9797924eb Mon Sep 17 00:00:00 2001 From: ITOH <72305210+itohatweb@users.noreply.github.com> Date: Fri, 23 Apr 2021 23:31:48 +0200 Subject: [PATCH 25/45] Update create_emoji.ts --- src/helpers/emojis/create_emoji.ts | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/helpers/emojis/create_emoji.ts b/src/helpers/emojis/create_emoji.ts index 5e4554ab8..2b55f7ec4 100644 --- a/src/helpers/emojis/create_emoji.ts +++ b/src/helpers/emojis/create_emoji.ts @@ -3,7 +3,7 @@ import { CreateGuildEmoji } from "../../types/emojis/create_guild_emoji.ts"; import { Emoji } from "../../types/emojis/emoji.ts"; import { endpoints } from "../../util/constants.ts"; import { requireBotGuildPermissions } from "../../util/permissions.ts"; -import { snakeKeysToCamelCase, urlToBase64 } from "../../util/utils.ts"; +import { urlToBase64 } from "../../util/utils.ts"; /** Create an emoji in the server. Emojis and animated emojis have a maximum file size of 256kb. Attempting to upload an emoji larger than this limit will fail and return 400 Bad Request and an error message, but not a JSON status code. If a URL is provided to the image parameter, Discordeno will automatically convert it to a base64 string internally. */ export async function createEmoji( @@ -18,11 +18,9 @@ export async function createEmoji( image = await urlToBase64(image); } - const result = await rest.runMethod("post", endpoints.GUILD_EMOJIS(guildId), { + return await rest.runMethod("post", endpoints.GUILD_EMOJIS(guildId), { ...options, name, image, }); - - return snakeKeysToCamelCase(result); } From 8ab3b7906112d51f7f4ae75b57a06793cc7121fa Mon Sep 17 00:00:00 2001 From: ITOH <72305210+itohatweb@users.noreply.github.com> Date: Sat, 24 Apr 2021 19:37:19 +0200 Subject: [PATCH 26/45] Update send_interaction_response.ts --- src/helpers/commands/send_interaction_response.ts | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/helpers/commands/send_interaction_response.ts b/src/helpers/commands/send_interaction_response.ts index 775036da8..3bb2132cb 100644 --- a/src/helpers/commands/send_interaction_response.ts +++ b/src/helpers/commands/send_interaction_response.ts @@ -17,9 +17,13 @@ export async function sendInteractionResponse( ) { // If its already been executed, we need to send a followup response if (cache.executedSlashCommands.has(token)) { - return rest.runMethod("post", endpoints.WEBHOOK(applicationId, token), { - ...options, - }); + return await rest.runMethod( + "post", + endpoints.WEBHOOK(applicationId, token), + { + ...options, + }, + ); } // Expire in 15 minutes @@ -45,11 +49,9 @@ export async function sendInteractionResponse( options.data = { ...options.data, allowedMentions: { parse: [] } }; } - const result = await rest.runMethod( + return await rest.runMethod( "post", endpoints.INTERACTION_ID_TOKEN(id, token), options, ); - - return result; } From 87c097fc2a3ca1bc6d469e16ebfe91d024d9b25b Mon Sep 17 00:00:00 2001 From: ITOH <72305210+itohatweb@users.noreply.github.com> Date: Sat, 24 Apr 2021 19:37:22 +0200 Subject: [PATCH 27/45] Update delete_emoji.ts --- src/helpers/emojis/delete_emoji.ts | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/helpers/emojis/delete_emoji.ts b/src/helpers/emojis/delete_emoji.ts index 97783b41c..40b43eaa3 100644 --- a/src/helpers/emojis/delete_emoji.ts +++ b/src/helpers/emojis/delete_emoji.ts @@ -7,14 +7,12 @@ export async function deleteEmoji( guildId: string, id: string, reason?: string, -): Promise { +) { await requireBotGuildPermissions(guildId, ["MANAGE_EMOJIS"]); - const result = await rest.runMethod( + return await rest.runMethod( "delete", endpoints.GUILD_EMOJI(guildId, id), { reason }, ); - - return result; } From 9b0a1d06ce105627a2396fd836f4040cc6ce3372 Mon Sep 17 00:00:00 2001 From: ITOH <72305210+itohatweb@users.noreply.github.com> Date: Sat, 24 Apr 2021 19:37:25 +0200 Subject: [PATCH 28/45] Update edit_emoji.ts --- src/helpers/emojis/edit_emoji.ts | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/helpers/emojis/edit_emoji.ts b/src/helpers/emojis/edit_emoji.ts index 803dc8ea5..28ee8e15a 100644 --- a/src/helpers/emojis/edit_emoji.ts +++ b/src/helpers/emojis/edit_emoji.ts @@ -1,5 +1,6 @@ import { rest } from "../../rest/rest.ts"; import { ModifyGuildEmoji } from "../../types/emojis/modify_guild_emoji.ts"; +import { Emoji } from "../../types/mod.ts"; import { endpoints } from "../../util/constants.ts"; import { requireBotGuildPermissions } from "../../util/permissions.ts"; @@ -11,7 +12,7 @@ export async function editEmoji( ) { await requireBotGuildPermissions(guildId, ["MANAGE_EMOJIS"]); - const result = await rest.runMethod( + return await rest.runMethod( "patch", endpoints.GUILD_EMOJI(guildId, id), { @@ -19,6 +20,4 @@ export async function editEmoji( roles: options.roles, }, ); - - return result; } From cab507c71baeff7c60d23967825234b51c652ffb Mon Sep 17 00:00:00 2001 From: ITOH <72305210+itohatweb@users.noreply.github.com> Date: Sat, 24 Apr 2021 19:37:27 +0200 Subject: [PATCH 29/45] Update get_emoji.ts --- src/helpers/emojis/get_emoji.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/helpers/emojis/get_emoji.ts b/src/helpers/emojis/get_emoji.ts index c99baa1d0..09f2a3cdd 100644 --- a/src/helpers/emojis/get_emoji.ts +++ b/src/helpers/emojis/get_emoji.ts @@ -14,16 +14,16 @@ export async function getEmoji( emojiId: string, addToCache = true, ) { - const result = (await rest.runMethod( + const result = await rest.runMethod( "get", endpoints.GUILD_EMOJI(guildId, emojiId), - )) as Emoji; + ); if (addToCache) { const guild = await cacheHandlers.get("guilds", guildId); if (!guild) throw new Error(Errors.GUILD_NOT_FOUND); guild.emojis.set(emojiId, result); - cacheHandlers.set( + await cacheHandlers.set( "guilds", guildId, guild, From cd14328c19d74b9701415fc1ca57bf1b89d16efc Mon Sep 17 00:00:00 2001 From: ITOH <72305210+itohatweb@users.noreply.github.com> Date: Sat, 24 Apr 2021 19:37:29 +0200 Subject: [PATCH 30/45] Update get_emojis.ts --- src/helpers/emojis/get_emojis.ts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/helpers/emojis/get_emojis.ts b/src/helpers/emojis/get_emojis.ts index 140244d0c..da1d8cfa1 100644 --- a/src/helpers/emojis/get_emojis.ts +++ b/src/helpers/emojis/get_emojis.ts @@ -12,8 +12,10 @@ import { endpoints } from "../../util/constants.ts"; * ⚠️ **If you need this, you are probably doing something wrong. Always use cache.guilds.get()?.emojis */ export async function getEmojis(guildId: string, addToCache = true) { - const result = - (await rest.runMethod("get", endpoints.GUILD_EMOJIS(guildId))) as Emoji[]; + const result = await rest.runMethod( + "get", + endpoints.GUILD_EMOJIS(guildId), + ); if (addToCache) { const guild = await cacheHandlers.get("guilds", guildId); @@ -27,7 +29,7 @@ export async function getEmojis(guildId: string, addToCache = true) { guild.emojis.set(emoji.id!, emoji); }); - cacheHandlers.set("guilds", guildId, guild); + await cacheHandlers.set("guilds", guildId, guild); } return new Collection(result.map((e) => [e.id!, e])); From ad22bd32701d499da9d01fceb3ea8a214667f563 Mon Sep 17 00:00:00 2001 From: ITOH <72305210+itohatweb@users.noreply.github.com> Date: Sat, 24 Apr 2021 19:37:38 +0200 Subject: [PATCH 31/45] Update create_guild.ts --- src/helpers/guilds/create_guild.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/helpers/guilds/create_guild.ts b/src/helpers/guilds/create_guild.ts index f4a5678cd..40c28f3fa 100644 --- a/src/helpers/guilds/create_guild.ts +++ b/src/helpers/guilds/create_guild.ts @@ -3,17 +3,17 @@ import { cacheHandlers } from "../../cache.ts"; import { rest } from "../../rest/rest.ts"; import { structures } from "../../structures/mod.ts"; import { CreateGuild } from "../../types/guilds/create_guild.ts"; -import { DiscordGuild } from "../../types/guilds/guild.ts"; +import { Guild } from "../../types/guilds/guild.ts"; import { endpoints } from "../../util/constants.ts"; import { getMember } from "../members/get_member.ts"; /** Create a new guild. Returns a guild object on success. Fires a Guild Create Gateway event. This endpoint can be used only by bots in less than 10 guilds. */ export async function createGuild(options: CreateGuild) { - const result = (await rest.runMethod( + const result = await rest.runMethod( "post", endpoints.GUILDS, options, - )) as DiscordGuild; + ); const guild = await structures.createDiscordenoGuild(result, 0); // MANUALLY CACHE THE GUILD From c0251e4b41e83702c28954f5cfe3445040f9b42e Mon Sep 17 00:00:00 2001 From: ITOH <72305210+itohatweb@users.noreply.github.com> Date: Sat, 24 Apr 2021 19:37:40 +0200 Subject: [PATCH 32/45] Update delete_server.ts --- src/helpers/guilds/delete_server.ts | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/helpers/guilds/delete_server.ts b/src/helpers/guilds/delete_server.ts index 43a1085eb..8dcf42eaf 100644 --- a/src/helpers/guilds/delete_server.ts +++ b/src/helpers/guilds/delete_server.ts @@ -3,8 +3,9 @@ import { endpoints } from "../../util/constants.ts"; /** Delete a guild permanently. User must be owner. Returns 204 No Content on success. Fires a Guild Delete Gateway event. */ -export async function deleteServer(guildId: string): Promise { - const result = await rest.runMethod("delete", endpoints.GUILDS_BASE(guildId)); - - return result; +export async function deleteServer(guildId: string) { + return await rest.runMethod( + "delete", + endpoints.GUILDS_BASE(guildId), + ); } From 033512951e5d65ab851795f3580b5addce8403d5 Mon Sep 17 00:00:00 2001 From: ITOH <72305210+itohatweb@users.noreply.github.com> Date: Sat, 24 Apr 2021 19:37:42 +0200 Subject: [PATCH 33/45] Update edit_guild.ts --- src/helpers/guilds/edit_guild.ts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/helpers/guilds/edit_guild.ts b/src/helpers/guilds/edit_guild.ts index 77e9367ce..20df19c47 100644 --- a/src/helpers/guilds/edit_guild.ts +++ b/src/helpers/guilds/edit_guild.ts @@ -1,6 +1,6 @@ import { rest } from "../../rest/rest.ts"; import { structures } from "../../structures/mod.ts"; -import { DiscordGuild } from "../../types/guilds/guild.ts"; +import { Guild } from "../../types/guilds/guild.ts"; import { ModifyGuild } from "../../types/guilds/modify_guild.ts"; import { endpoints } from "../../util/constants.ts"; import { requireBotGuildPermissions } from "../../util/permissions.ts"; @@ -22,11 +22,12 @@ export async function editGuild(guildId: string, options: ModifyGuild) { options.splash = await urlToBase64(options.splash); } - const result = await rest.runMethod( + const result = await rest.runMethod( "patch", endpoints.GUILDS_BASE(guildId), options, - ) as DiscordGuild; + ); + // TODO: use ws.botGatewayData to calculate the shard ID return structures.createDiscordenoGuild(result, -1); } From a1d0986edf1265b52b46ace59b5ee662dc8c1783 Mon Sep 17 00:00:00 2001 From: ITOH <72305210+itohatweb@users.noreply.github.com> Date: Sat, 24 Apr 2021 19:37:45 +0200 Subject: [PATCH 34/45] Update edit_welcome_screen.ts --- src/helpers/guilds/edit_welcome_screen.ts | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/src/helpers/guilds/edit_welcome_screen.ts b/src/helpers/guilds/edit_welcome_screen.ts index 5ad2a95b6..ae2dae039 100644 --- a/src/helpers/guilds/edit_welcome_screen.ts +++ b/src/helpers/guilds/edit_welcome_screen.ts @@ -2,20 +2,15 @@ import { rest } from "../../rest/rest.ts"; import { ModifyGuildWelcomeScreen } from "../../types/guilds/modify_guild_welcome_screen.ts"; import { WelcomeScreen } from "../../types/mod.ts"; import { endpoints } from "../../util/constants.ts"; -import { - camelKeysToSnakeCase, - snakeKeysToCamelCase, -} from "../../util/utils.ts"; +import { camelKeysToSnakeCase } from "../../util/utils.ts"; export async function editWelcomeScreen( guildId: string, options: ModifyGuildWelcomeScreen, ) { - const result = await rest.runMethod( + return await rest.runMethod( "patch", endpoints.GUILD_WELCOME_SCREEN(guildId), camelKeysToSnakeCase(options), ); - - return snakeKeysToCamelCase(result); } From 933a5c70ebb2736a2b2872fa34e9ab9611a37b91 Mon Sep 17 00:00:00 2001 From: ITOH <72305210+itohatweb@users.noreply.github.com> Date: Sat, 24 Apr 2021 19:38:06 +0200 Subject: [PATCH 35/45] guilds --- src/helpers/guilds/edit_widget.ts | 5 +-- src/helpers/guilds/get_audit_logs.ts | 9 ++--- .../guilds/get_available_voice_regions.ts | 4 +-- src/helpers/guilds/get_ban.ts | 5 +-- src/helpers/guilds/get_bans.ts | 9 +++-- src/helpers/guilds/get_guild.ts | 33 +++++++++++++++---- src/helpers/guilds/get_guild_preview.ts | 8 ++--- src/helpers/guilds/get_vainty_url.ts | 13 +++----- src/helpers/guilds/get_welcome_screen.ts | 5 +-- src/helpers/guilds/get_widget.ts | 3 +- src/helpers/guilds/get_widget_settings.ts | 7 ++-- src/helpers/guilds/leave_guild.ts | 9 ++--- 12 files changed, 57 insertions(+), 53 deletions(-) diff --git a/src/helpers/guilds/edit_widget.ts b/src/helpers/guilds/edit_widget.ts index 8d0e0cf93..9259cf32d 100644 --- a/src/helpers/guilds/edit_widget.ts +++ b/src/helpers/guilds/edit_widget.ts @@ -2,7 +2,6 @@ import { rest } from "../../rest/rest.ts"; import { GuildWidget } from "../../types/guilds/guild_widget.ts"; import { endpoints } from "../../util/constants.ts"; import { requireBotGuildPermissions } from "../../util/permissions.ts"; -import { snakeKeysToCamelCase } from "../../util/utils.ts"; /** Modify a guild widget object for the guild. Requires the MANAGE_GUILD permission. */ export async function editWidget( @@ -12,7 +11,7 @@ export async function editWidget( ) { await requireBotGuildPermissions(guildId, ["MANAGE_GUILD"]); - const result = await rest.runMethod( + return await rest.runMethod( "patch", endpoints.GUILD_WIDGET(guildId), { @@ -20,6 +19,4 @@ export async function editWidget( channel_id: channelId, }, ); - - return snakeKeysToCamelCase(result); } diff --git a/src/helpers/guilds/get_audit_logs.ts b/src/helpers/guilds/get_audit_logs.ts index 795e4bd7c..95b5b3aae 100644 --- a/src/helpers/guilds/get_audit_logs.ts +++ b/src/helpers/guilds/get_audit_logs.ts @@ -3,10 +3,7 @@ import { AuditLog } from "../../types/audit_log/audit_log.ts"; import { GetGuildAuditLog } from "../../types/audit_log/get_guild_audit_log.ts"; import { endpoints } from "../../util/constants.ts"; import { requireBotGuildPermissions } from "../../util/permissions.ts"; -import { - camelKeysToSnakeCase, - snakeKeysToCamelCase, -} from "../../util/utils.ts"; +import { camelKeysToSnakeCase } from "../../util/utils.ts"; /** Returns the audit logs for the guild. Requires VIEW AUDIT LOGS permission */ export async function getAuditLogs( @@ -15,7 +12,7 @@ export async function getAuditLogs( ) { await requireBotGuildPermissions(guildId, ["VIEW_AUDIT_LOG"]); - const result = await rest.runMethod( + return await rest.runMethod( "get", endpoints.GUILD_AUDIT_LOGS(guildId), camelKeysToSnakeCase({ @@ -25,6 +22,4 @@ export async function getAuditLogs( : 50, }), ); - - return snakeKeysToCamelCase(result); } diff --git a/src/helpers/guilds/get_available_voice_regions.ts b/src/helpers/guilds/get_available_voice_regions.ts index 944973477..5570e4916 100644 --- a/src/helpers/guilds/get_available_voice_regions.ts +++ b/src/helpers/guilds/get_available_voice_regions.ts @@ -4,7 +4,5 @@ import { endpoints } from "../../util/constants.ts"; /** Returns an array of voice regions that can be used when creating servers. */ export async function getAvailableVoiceRegions() { - const result = await rest.runMethod("get", endpoints.VOICE_REGIONS); - - return result as VoiceRegion; + return await rest.runMethod("get", endpoints.VOICE_REGIONS); } diff --git a/src/helpers/guilds/get_ban.ts b/src/helpers/guilds/get_ban.ts index 7abe6d3b0..3fddcd1a8 100644 --- a/src/helpers/guilds/get_ban.ts +++ b/src/helpers/guilds/get_ban.ts @@ -2,16 +2,13 @@ import { rest } from "../../rest/rest.ts"; import { Ban } from "../../types/guilds/ban.ts"; import { endpoints } from "../../util/constants.ts"; import { requireBotGuildPermissions } from "../../util/permissions.ts"; -import { snakeKeysToCamelCase } from "../../util/utils.ts"; /** Returns a ban object for the given user or a 404 not found if the ban cannot be found. Requires the BAN_MEMBERS permission. */ export async function getBan(guildId: string, memberId: string) { await requireBotGuildPermissions(guildId, ["BAN_MEMBERS"]); - const result = await rest.runMethod( + return await rest.runMethod( "get", endpoints.GUILD_BAN(guildId, memberId), ); - - return snakeKeysToCamelCase(result); } diff --git a/src/helpers/guilds/get_bans.ts b/src/helpers/guilds/get_bans.ts index 1fdef4fcd..c9497f8b4 100644 --- a/src/helpers/guilds/get_bans.ts +++ b/src/helpers/guilds/get_bans.ts @@ -1,20 +1,19 @@ import { rest } from "../../rest/rest.ts"; -import { Ban, DiscordBan } from "../../types/guilds/ban.ts"; +import { Ban } from "../../types/guilds/ban.ts"; import { Collection } from "../../util/collection.ts"; import { endpoints } from "../../util/constants.ts"; import { requireBotGuildPermissions } from "../../util/permissions.ts"; -import { snakeKeysToCamelCase } from "../../util/utils.ts"; /** Returns a list of ban objects for the users banned from this guild. Requires the BAN_MEMBERS permission. */ export async function getBans(guildId: string) { await requireBotGuildPermissions(guildId, ["BAN_MEMBERS"]); - const results = (await rest.runMethod( + const results = await rest.runMethod( "get", endpoints.GUILD_BANS(guildId), - )) as DiscordBan[]; + ); return new Collection( - results.map((res) => [res.user.id, snakeKeysToCamelCase(res)]), + results.map((res) => [res.user.id, res]), ); } diff --git a/src/helpers/guilds/get_guild.ts b/src/helpers/guilds/get_guild.ts index 5652b979b..82b6e5c54 100644 --- a/src/helpers/guilds/get_guild.ts +++ b/src/helpers/guilds/get_guild.ts @@ -1,7 +1,9 @@ +import { cacheHandlers } from "../../cache.ts"; import { rest } from "../../rest/rest.ts"; +import { structures } from "../../structures/mod.ts"; import { Guild } from "../../types/guilds/guild.ts"; import { endpoints } from "../../util/constants.ts"; -import { snakeKeysToCamelCase } from "../../util/utils.ts"; +import { ws } from "../../ws/ws.ts"; /** * ⚠️ **If you need this, you are probably doing something wrong. Always use cache.guilds.get() @@ -10,10 +12,29 @@ import { snakeKeysToCamelCase } from "../../util/utils.ts"; * This function fetches a guild's data. This is not the same data as a GUILD_CREATE. * So it does not cache the guild, you must do it manually. * */ -export async function getGuild(guildId: string, counts = true) { - const result = await rest.runMethod("get", endpoints.GUILDS_BASE(guildId), { - with_counts: counts, - }); +export async function getGuild( + guildId: string, + options: { counts?: boolean; addToCache?: boolean } = { + counts: true, + addToCache: true, + }, +) { + const result = await rest.runMethod( + "get", + endpoints.GUILDS_BASE(guildId), + { + with_counts: options.counts, + }, + ); - return snakeKeysToCamelCase(result); + const structure = await structures.createDiscordenoGuild( + result, + (BigInt(guildId) >> 22n) % BigInt(ws.botGatewayData.shards), + ); + + if (options.addToCache) { + await cacheHandlers.set("guilds", guildId, structure); + } + + return structure; } diff --git a/src/helpers/guilds/get_guild_preview.ts b/src/helpers/guilds/get_guild_preview.ts index 274f20a28..40873cf0f 100644 --- a/src/helpers/guilds/get_guild_preview.ts +++ b/src/helpers/guilds/get_guild_preview.ts @@ -1,11 +1,11 @@ import { rest } from "../../rest/rest.ts"; import { GuildPreview } from "../../types/guilds/guild_preview.ts"; import { endpoints } from "../../util/constants.ts"; -import { snakeKeysToCamelCase } from "../../util/utils.ts"; /** Returns the guild preview object for the given id. If the bot is not in the guild, then the guild must be Discoverable. */ export async function getGuildPreview(guildId: string) { - const result = await rest.runMethod("get", endpoints.GUILD_PREVIEW(guildId)); - - return snakeKeysToCamelCase(result); + return await rest.runMethod( + "get", + endpoints.GUILD_PREVIEW(guildId), + ); } diff --git a/src/helpers/guilds/get_vainty_url.ts b/src/helpers/guilds/get_vainty_url.ts index 999c34884..0dee86af7 100644 --- a/src/helpers/guilds/get_vainty_url.ts +++ b/src/helpers/guilds/get_vainty_url.ts @@ -1,18 +1,15 @@ import { rest } from "../../rest/rest.ts"; import { InviteMetadata } from "../../types/invites/invite_metadata.ts"; import { endpoints } from "../../util/constants.ts"; -import { snakeKeysToCamelCase } from "../../util/utils.ts"; /** Returns the code and uses of the vanity url for this server if it is enabled else `code` will be null. Requires the `MANAGE_GUILD` permission. */ export async function getVanityURL(guildId: string) { - const result = await rest.runMethod( - "get", - endpoints.GUILD_VANITY_URL(guildId), - ); - - return snakeKeysToCamelCase< + return await rest.runMethod< (Partial & Pick) | { code: null; } - >(result); + >( + "get", + endpoints.GUILD_VANITY_URL(guildId), + ); } diff --git a/src/helpers/guilds/get_welcome_screen.ts b/src/helpers/guilds/get_welcome_screen.ts index 4163c4f71..36950e3eb 100644 --- a/src/helpers/guilds/get_welcome_screen.ts +++ b/src/helpers/guilds/get_welcome_screen.ts @@ -1,13 +1,10 @@ import { rest } from "../../rest/rest.ts"; import { WelcomeScreen } from "../../types/mod.ts"; import { endpoints } from "../../util/constants.ts"; -import { snakeKeysToCamelCase } from "../../util/utils.ts"; export async function getWelcomeScreen(guildId: string) { - const result = await rest.runMethod( + return await rest.runMethod( "get", endpoints.GUILD_WELCOME_SCREEN(guildId), ); - - return snakeKeysToCamelCase(result); } diff --git a/src/helpers/guilds/get_widget.ts b/src/helpers/guilds/get_widget.ts index f44197d37..c685b8088 100644 --- a/src/helpers/guilds/get_widget.ts +++ b/src/helpers/guilds/get_widget.ts @@ -11,5 +11,6 @@ export async function getWidget(guildId: string, options?: { force: boolean }) { if (!guild?.widgetEnabled) throw new Error(Errors.GUILD_WIDGET_NOT_ENABLED); } - return rest.runMethod("get", `${endpoints.GUILD_WIDGET(guildId)}.json`); + // TODO: add return type + return await rest.runMethod("get", `${endpoints.GUILD_WIDGET(guildId)}.json`); } diff --git a/src/helpers/guilds/get_widget_settings.ts b/src/helpers/guilds/get_widget_settings.ts index 8d28e8c9c..960fb83ec 100644 --- a/src/helpers/guilds/get_widget_settings.ts +++ b/src/helpers/guilds/get_widget_settings.ts @@ -7,7 +7,8 @@ import { requireBotGuildPermissions } from "../../util/permissions.ts"; export async function getWidgetSettings(guildId: string) { await requireBotGuildPermissions(guildId, ["MANAGE_GUILD"]); - const result = await rest.runMethod("get", endpoints.GUILD_WIDGET(guildId)); - - return result as GuildWidget; + return await rest.runMethod( + "get", + endpoints.GUILD_WIDGET(guildId), + ); } diff --git a/src/helpers/guilds/leave_guild.ts b/src/helpers/guilds/leave_guild.ts index 805b56885..9552ffe1a 100644 --- a/src/helpers/guilds/leave_guild.ts +++ b/src/helpers/guilds/leave_guild.ts @@ -2,8 +2,9 @@ import { rest } from "../../rest/rest.ts"; import { endpoints } from "../../util/constants.ts"; /** Leave a guild */ -export async function leaveGuild(guildId: string): Promise { - const result = await rest.runMethod("delete", endpoints.GUILD_LEAVE(guildId)); - - return result; +export async function leaveGuild(guildId: string) { + return await rest.runMethod( + "delete", + endpoints.GUILD_LEAVE(guildId), + ); } From 0c02b94143b3c5873ede08f04d97cb0eee51e8e6 Mon Sep 17 00:00:00 2001 From: ITOH <72305210+itohatweb@users.noreply.github.com> Date: Sat, 24 Apr 2021 19:38:16 +0200 Subject: [PATCH 36/45] integrations --- src/helpers/guilds/get_voice_regions.ts | 14 ++++---------- src/helpers/integrations/delete_integration.ts | 4 +--- src/helpers/integrations/get_integrations.ts | 5 ++--- 3 files changed, 7 insertions(+), 16 deletions(-) diff --git a/src/helpers/guilds/get_voice_regions.ts b/src/helpers/guilds/get_voice_regions.ts index 166c7fa2a..6ed926e52 100644 --- a/src/helpers/guilds/get_voice_regions.ts +++ b/src/helpers/guilds/get_voice_regions.ts @@ -1,22 +1,16 @@ import { rest } from "../../rest/rest.ts"; -import { - DiscordVoiceRegion, - VoiceRegion, -} from "../../types/voice/voice_region.ts"; +import { VoiceRegion } from "../../types/voice/voice_region.ts"; import { Collection } from "../../util/collection.ts"; import { endpoints } from "../../util/constants.ts"; -import { snakeKeysToCamelCase } from "../../util/utils.ts"; /** Returns a list of voice region objects for the guild. Unlike the similar /voice route, this returns VIP servers when the guild is VIP-enabled. */ export async function getVoiceRegions(guildId: string) { - const result = await rest.runMethod( + const result = await rest.runMethod( "get", endpoints.GUILD_REGIONS(guildId), - ) as DiscordVoiceRegion[]; - - const convertedRegions = snakeKeysToCamelCase(result); + ); return new Collection( - convertedRegions.map((region) => [region.id, region]), + result.map((region) => [region.id, region]), ); } diff --git a/src/helpers/integrations/delete_integration.ts b/src/helpers/integrations/delete_integration.ts index 375672b9e..cd92ab5e1 100644 --- a/src/helpers/integrations/delete_integration.ts +++ b/src/helpers/integrations/delete_integration.ts @@ -6,10 +6,8 @@ import { requireBotGuildPermissions } from "../../util/permissions.ts"; export async function deleteIntegration(guildId: string, id: string) { await requireBotGuildPermissions(guildId, ["MANAGE_GUILD"]); - const result = await rest.runMethod( + return await rest.runMethod( "delete", endpoints.GUILD_INTEGRATION(guildId, id), ); - - return result; } diff --git a/src/helpers/integrations/get_integrations.ts b/src/helpers/integrations/get_integrations.ts index 888dd8f96..f8c54d80d 100644 --- a/src/helpers/integrations/get_integrations.ts +++ b/src/helpers/integrations/get_integrations.ts @@ -1,4 +1,5 @@ import { rest } from "../../rest/rest.ts"; +import { Integration } from "../../types/mod.ts"; import { endpoints } from "../../util/constants.ts"; import { requireBotGuildPermissions } from "../../util/permissions.ts"; @@ -6,10 +7,8 @@ import { requireBotGuildPermissions } from "../../util/permissions.ts"; export async function getIntegrations(guildId: string) { await requireBotGuildPermissions(guildId, ["MANAGE_GUILD"]); - const result = await rest.runMethod( + return await rest.runMethod( "get", endpoints.GUILD_INTEGRATIONS(guildId), ); - - return result; } From 0feb6822d041ee51d293a503b59f185fdfa7c17f Mon Sep 17 00:00:00 2001 From: ITOH <72305210+itohatweb@users.noreply.github.com> Date: Sat, 24 Apr 2021 19:38:24 +0200 Subject: [PATCH 37/45] invites --- src/helpers/invites/create_invite.ts | 5 ++--- src/helpers/invites/delete_invite.ts | 7 ++----- src/helpers/invites/get_channel_invites.ts | 9 ++++----- src/helpers/invites/get_invite.ts | 7 ++----- src/helpers/invites/get_invites.ts | 9 ++++----- 5 files changed, 14 insertions(+), 23 deletions(-) diff --git a/src/helpers/invites/create_invite.ts b/src/helpers/invites/create_invite.ts index 09e13633d..0c7af679f 100644 --- a/src/helpers/invites/create_invite.ts +++ b/src/helpers/invites/create_invite.ts @@ -1,5 +1,6 @@ import { rest } from "../../rest/rest.ts"; import { CreateChannelInvite } from "../../types/invites/create_channel_invite.ts"; +import { Invite } from "../../types/mod.ts"; import { endpoints } from "../../util/constants.ts"; import { requireBotChannelPermissions } from "../../util/permissions.ts"; @@ -12,11 +13,9 @@ export async function createInvite( // TODO: add proper options validation - const result = await rest.runMethod( + return await rest.runMethod( "post", endpoints.CHANNEL_INVITES(channelId), options, ); - - return result; } diff --git a/src/helpers/invites/delete_invite.ts b/src/helpers/invites/delete_invite.ts index a0e9cead8..0891c89ed 100644 --- a/src/helpers/invites/delete_invite.ts +++ b/src/helpers/invites/delete_invite.ts @@ -1,13 +1,12 @@ import { cacheHandlers } from "../../cache.ts"; import { rest } from "../../rest/rest.ts"; -import { DiscordInvite, Invite } from "../../types/invites/invite.ts"; +import { Invite } from "../../types/invites/invite.ts"; import { Errors } from "../../types/misc/errors.ts"; import { endpoints } from "../../util/constants.ts"; import { botHasChannelPermissions, requireBotGuildPermissions, } from "../../util/permissions.ts"; -import { snakeKeysToCamelCase } from "../../util/utils.ts"; /** Deletes an invite for the given code. Requires `MANAGE_CHANNELS` or `MANAGE_GUILD` permission */ export async function deleteInvite(channelId: string, inviteCode: string) { @@ -23,10 +22,8 @@ export async function deleteInvite(channelId: string, inviteCode: string) { await requireBotGuildPermissions(channel!.guildId, ["MANAGE_GUILD"]); } - const result: DiscordInvite = await rest.runMethod( + return await rest.runMethod( "delete", endpoints.INVITE(inviteCode), ); - - return snakeKeysToCamelCase(result); } diff --git a/src/helpers/invites/get_channel_invites.ts b/src/helpers/invites/get_channel_invites.ts index f1a489693..4c9ce95c6 100644 --- a/src/helpers/invites/get_channel_invites.ts +++ b/src/helpers/invites/get_channel_invites.ts @@ -1,20 +1,19 @@ import { rest } from "../../rest/rest.ts"; -import { DiscordInvite, Invite } from "../../types/invites/invite.ts"; +import { Invite } from "../../types/invites/invite.ts"; import { Collection } from "../../util/collection.ts"; import { endpoints } from "../../util/constants.ts"; import { requireBotChannelPermissions } from "../../util/permissions.ts"; -import { snakeKeysToCamelCase } from "../../util/utils.ts"; /** Gets the invites for this channel. Requires MANAGE_CHANNEL */ export async function getChannelInvites(channelId: string) { await requireBotChannelPermissions(channelId, ["MANAGE_CHANNELS"]); - const result = (await rest.runMethod( + const result = await rest.runMethod( "get", endpoints.CHANNEL_INVITES(channelId), - )) as DiscordInvite[]; + ); return new Collection( - result.map((invite) => [invite.code, snakeKeysToCamelCase(invite)]), + result.map((invite) => [invite.code, invite]), ); } diff --git a/src/helpers/invites/get_invite.ts b/src/helpers/invites/get_invite.ts index 43f2cb35e..de91249fe 100644 --- a/src/helpers/invites/get_invite.ts +++ b/src/helpers/invites/get_invite.ts @@ -1,14 +1,11 @@ import { rest } from "../../rest/rest.ts"; -import { DiscordInvite, Invite } from "../../types/invites/invite.ts"; +import { Invite } from "../../types/invites/invite.ts"; import { endpoints } from "../../util/constants.ts"; -import { snakeKeysToCamelCase } from "../../util/utils.ts"; /** Returns an invite for the given code or throws an error if the invite doesn't exists. */ export async function getInvite(inviteCode: string) { - const result: DiscordInvite = await rest.runMethod( + return await rest.runMethod( "get", endpoints.INVITE(inviteCode), ); - - return snakeKeysToCamelCase(result); } diff --git a/src/helpers/invites/get_invites.ts b/src/helpers/invites/get_invites.ts index 778a243d6..c4a72e7d6 100644 --- a/src/helpers/invites/get_invites.ts +++ b/src/helpers/invites/get_invites.ts @@ -1,20 +1,19 @@ import { rest } from "../../rest/rest.ts"; -import { DiscordInvite, Invite } from "../../types/invites/invite.ts"; +import { Invite } from "../../types/invites/invite.ts"; import { Collection } from "../../util/collection.ts"; import { endpoints } from "../../util/constants.ts"; import { requireBotGuildPermissions } from "../../util/permissions.ts"; -import { snakeKeysToCamelCase } from "../../util/utils.ts"; /** Get all the invites for this guild. Requires MANAGE_GUILD permission */ export async function getInvites(guildId: string) { await requireBotGuildPermissions(guildId, ["MANAGE_GUILD"]); - const result = (await rest.runMethod( + const result = await rest.runMethod( "get", endpoints.GUILD_INVITES(guildId), - )) as DiscordInvite[]; + ); return new Collection( - result.map((invite) => [invite.code, snakeKeysToCamelCase(invite)]), + result.map((invite) => [invite.code, invite]), ); } From 03db98cd48cc63dfe9e0fb53dc7c157b3742129b Mon Sep 17 00:00:00 2001 From: ITOH <72305210+itohatweb@users.noreply.github.com> Date: Sat, 24 Apr 2021 19:38:38 +0200 Subject: [PATCH 38/45] members --- src/helpers/members/ban_member.ts | 6 ++---- src/helpers/members/edit_bot_nickname.ts | 10 +++++++--- src/helpers/members/edit_bot_profile.ts | 6 +++--- src/helpers/members/edit_member.ts | 14 ++++++-------- src/helpers/members/get_member.ts | 4 ++-- src/helpers/members/get_members.ts | 11 ++++------- src/helpers/members/kick_member.ts | 4 +--- src/helpers/members/prune_members.ts | 4 ++-- src/helpers/members/search_members.ts | 4 ++-- src/helpers/members/send_direct_message.ts | 16 ++++++++++------ src/helpers/members/unban_member.ts | 4 +--- 11 files changed, 40 insertions(+), 43 deletions(-) diff --git a/src/helpers/members/ban_member.ts b/src/helpers/members/ban_member.ts index cb01fa8c9..c1257cf08 100644 --- a/src/helpers/members/ban_member.ts +++ b/src/helpers/members/ban_member.ts @@ -1,5 +1,5 @@ -import { CreateGuildBan } from "../../types/guilds/create_guild_ban.ts"; import { rest } from "../../rest/rest.ts"; +import { CreateGuildBan } from "../../types/guilds/create_guild_ban.ts"; import { endpoints } from "../../util/constants.ts"; import { requireBotGuildPermissions } from "../../util/permissions.ts"; import { camelKeysToSnakeCase } from "../../util/utils.ts"; @@ -12,13 +12,11 @@ export async function ban( ) { await requireBotGuildPermissions(guildId, ["BAN_MEMBERS"]); - const result = await rest.runMethod( + return await rest.runMethod( "put", endpoints.GUILD_BAN(guildId, id), camelKeysToSnakeCase(options), ); - - return result; } // aliases diff --git a/src/helpers/members/edit_bot_nickname.ts b/src/helpers/members/edit_bot_nickname.ts index 5b182cfcd..f9b41bb3c 100644 --- a/src/helpers/members/edit_bot_nickname.ts +++ b/src/helpers/members/edit_bot_nickname.ts @@ -9,9 +9,13 @@ export async function editBotNickname( ) { await requireBotGuildPermissions(guildId, ["CHANGE_NICKNAME"]); - const response = await rest.runMethod("patch", endpoints.USER_NICK(guildId), { - nick: nickname, - }) as { nick: string }; + const response = await rest.runMethod<{ nick: string }>( + "patch", + endpoints.USER_NICK(guildId), + { + nick: nickname, + }, + ); return response.nick; } diff --git a/src/helpers/members/edit_bot_profile.ts b/src/helpers/members/edit_bot_profile.ts index 062d0433f..2e4fd6c7c 100644 --- a/src/helpers/members/edit_bot_profile.ts +++ b/src/helpers/members/edit_bot_profile.ts @@ -1,5 +1,6 @@ import { rest } from "../../rest/rest.ts"; import { Errors } from "../../types/misc/errors.ts"; +import { User } from "../../types/mod.ts"; import { endpoints } from "../../util/constants.ts"; import { urlToBase64 } from "../../util/utils.ts"; @@ -26,10 +27,9 @@ export async function editBotProfile(username?: string, botAvatarURL?: string) { } const avatar = botAvatarURL ? await urlToBase64(botAvatarURL) : undefined; - const result = await rest.runMethod("patch", endpoints.USER_BOT, { + + return await rest.runMethod("patch", endpoints.USER_BOT, { username: username?.trim(), avatar, }); - - return result; } diff --git a/src/helpers/members/edit_member.ts b/src/helpers/members/edit_member.ts index 562bc47ed..915e17cb3 100644 --- a/src/helpers/members/edit_member.ts +++ b/src/helpers/members/edit_member.ts @@ -1,7 +1,7 @@ import { cacheHandlers } from "../../cache.ts"; import { rest } from "../../rest/rest.ts"; import { structures } from "../../structures/mod.ts"; -import { DiscordGuildMember } from "../../types/guilds/guild_member.ts"; +import { GuildMember } from "../../types/guilds/guild_member.ts"; import { Errors } from "../../types/misc/errors.ts"; import { ModifyGuildMember } from "../../types/mod.ts"; import { PermissionStrings } from "../../types/permissions/permission_strings.ts"; @@ -10,10 +10,7 @@ import { requireBotChannelPermissions, requireBotGuildPermissions, } from "../../util/permissions.ts"; -import { - camelKeysToSnakeCase, - snakeKeysToCamelCase, -} from "../../util/utils.ts"; +import { camelKeysToSnakeCase } from "../../util/utils.ts"; /** Edit the member */ export async function editMember( @@ -72,13 +69,14 @@ export async function editMember( await requireBotGuildPermissions(guildId, [...requiredPerms]); - const result = await rest.runMethod( + const result = await rest.runMethod( "patch", endpoints.GUILD_MEMBER(guildId, memberId), camelKeysToSnakeCase(options), - ) as DiscordGuildMember; + ); + const member = await structures.createDiscordenoMember( - snakeKeysToCamelCase(result), + result, guildId, ); diff --git a/src/helpers/members/get_member.ts b/src/helpers/members/get_member.ts index c59716433..8605fbe4c 100644 --- a/src/helpers/members/get_member.ts +++ b/src/helpers/members/get_member.ts @@ -1,7 +1,7 @@ import { cacheHandlers } from "../../cache.ts"; import { rest } from "../../rest/rest.ts"; import { structures } from "../../structures/mod.ts"; -import { DiscordGuildMemberWithUser } from "../../types/guilds/guild_member.ts"; +import { GuildMemberWithUser } from "../../types/guilds/guild_member.ts"; import { endpoints } from "../../util/constants.ts"; /** Returns a guild member object for the specified user. @@ -16,7 +16,7 @@ export async function getMember( const guild = await cacheHandlers.get("guilds", guildId); if (!guild && !options?.force) return; - const data: DiscordGuildMemberWithUser = (await rest.runMethod( + const data = (await rest.runMethod( "get", endpoints.GUILD_MEMBER(guildId, id), )); diff --git a/src/helpers/members/get_members.ts b/src/helpers/members/get_members.ts index 396eb844f..adb3fc607 100644 --- a/src/helpers/members/get_members.ts +++ b/src/helpers/members/get_members.ts @@ -4,10 +4,7 @@ import { rest } from "../../rest/rest.ts"; import { DiscordenoMember } from "../../structures/member.ts"; import { structures } from "../../structures/mod.ts"; import { DiscordGatewayIntents } from "../../types/gateway/gateway_intents.ts"; -import { - DiscordGuildMember, - DiscordGuildMemberWithUser, -} from "../../types/guilds/guild_member.ts"; +import { GuildMember } from "../../types/guilds/guild_member.ts"; import { ListGuildMembers } from "../../types/guilds/list_guild_members.ts"; import { Errors } from "../../types/misc/errors.ts"; import { Collection } from "../../util/collection.ts"; @@ -49,7 +46,7 @@ export async function getMembers(guildId: string, options?: ListGuildMembers) { ); } - const result: DiscordGuildMember[] = (await rest.runMethod( + const result = (await rest.runMethod( "get", `${endpoints.GUILD_MEMBERS(guildId)}?limit=${ membersLeft > 1000 ? 1000 : membersLeft @@ -59,7 +56,7 @@ export async function getMembers(guildId: string, options?: ListGuildMembers) { const discordenoMembers = await Promise.all( result.map(async (member) => { const discordenoMember = await structures.createDiscordenoMember( - member as DiscordGuildMemberWithUser, + member, guildId, ); @@ -71,7 +68,7 @@ export async function getMembers(guildId: string, options?: ListGuildMembers) { return discordenoMember; }), - ) as DiscordenoMember[]; + ); if (!discordenoMembers.length) break; diff --git a/src/helpers/members/kick_member.ts b/src/helpers/members/kick_member.ts index 3adee00f6..8dbefc72e 100644 --- a/src/helpers/members/kick_member.ts +++ b/src/helpers/members/kick_member.ts @@ -20,13 +20,11 @@ export async function kick(guildId: string, memberId: string, reason?: string) { await requireBotGuildPermissions(guildId, ["KICK_MEMBERS"]); - const result = await rest.runMethod( + return await rest.runMethod( "delete", endpoints.GUILD_MEMBER(guildId, memberId), { reason }, ); - - return result; } // aliases diff --git a/src/helpers/members/prune_members.ts b/src/helpers/members/prune_members.ts index 3527136d5..ae8fc190c 100644 --- a/src/helpers/members/prune_members.ts +++ b/src/helpers/members/prune_members.ts @@ -19,11 +19,11 @@ export async function pruneMembers( await requireBotGuildPermissions(guildId, ["KICK_MEMBERS"]); - const result = await rest.runMethod( + const result = await rest.runMethod<{ pruned: number }>( "post", endpoints.GUILD_PRUNE(guildId), camelKeysToSnakeCase(options), ); - return result; + return result.pruned; } diff --git a/src/helpers/members/search_members.ts b/src/helpers/members/search_members.ts index f9fb1b76b..12202aba2 100644 --- a/src/helpers/members/search_members.ts +++ b/src/helpers/members/search_members.ts @@ -2,7 +2,7 @@ import { cacheHandlers } from "../../cache.ts"; import { rest } from "../../rest/rest.ts"; import { DiscordenoMember } from "../../structures/member.ts"; import { structures } from "../../structures/mod.ts"; -import { DiscordGuildMemberWithUser } from "../../types/guilds/guild_member.ts"; +import { GuildMemberWithUser } from "../../types/guilds/guild_member.ts"; import { SearchGuildMembers } from "../../types/members/search_guild_members.ts"; import { Errors } from "../../types/misc/errors.ts"; import { Collection } from "../../util/collection.ts"; @@ -24,7 +24,7 @@ export async function searchMembers( } } - const result = await rest.runMethod( + const result = await rest.runMethod( "get", endpoints.GUILD_MEMBERS_SEARCH(guildId), { diff --git a/src/helpers/members/send_direct_message.ts b/src/helpers/members/send_direct_message.ts index 841e81856..ce01eaeda 100644 --- a/src/helpers/members/send_direct_message.ts +++ b/src/helpers/members/send_direct_message.ts @@ -1,7 +1,7 @@ import { cacheHandlers } from "../../cache.ts"; import { rest } from "../../rest/rest.ts"; import { structures } from "../../structures/mod.ts"; -import { DiscordChannel } from "../../types/channels/channel.ts"; +import { Channel } from "../../types/channels/channel.ts"; import { CreateMessage } from "../../types/messages/create_message.ts"; import { endpoints } from "../../util/constants.ts"; import { sendMessage } from "../messages/send_message.ts"; @@ -14,11 +14,15 @@ export async function sendDirectMessage( let dmChannel = await cacheHandlers.get("channels", memberId); if (!dmChannel) { // If not available in cache create a new one. - const dmChannelData = await rest.runMethod("post", endpoints.USER_DM, { - recipient_id: memberId, - }); + const dmChannelData = await rest.runMethod( + "post", + endpoints.USER_DM, + { + recipient_id: memberId, + }, + ); const discordenoChannel = await structures.createDiscordenoChannel( - dmChannelData as DiscordChannel, + dmChannelData, ); // Recreate the channel and add it undert he users id await cacheHandlers.set("channels", memberId, discordenoChannel); @@ -26,5 +30,5 @@ export async function sendDirectMessage( } // If it does exist try sending a message to this user - return sendMessage(dmChannel.id, content); + return await sendMessage(dmChannel.id, content); } diff --git a/src/helpers/members/unban_member.ts b/src/helpers/members/unban_member.ts index db79fe2fd..a6c429fb8 100644 --- a/src/helpers/members/unban_member.ts +++ b/src/helpers/members/unban_member.ts @@ -6,12 +6,10 @@ import { requireBotGuildPermissions } from "../../util/permissions.ts"; export async function unban(guildId: string, id: string) { await requireBotGuildPermissions(guildId, ["BAN_MEMBERS"]); - const result = await rest.runMethod( + return await rest.runMethod( "delete", endpoints.GUILD_BAN(guildId, id), ); - - return result; } // aliases From 6eec266c60b47d0afced67d75252dac7301ab12b Mon Sep 17 00:00:00 2001 From: ITOH <72305210+itohatweb@users.noreply.github.com> Date: Sat, 24 Apr 2021 19:38:53 +0200 Subject: [PATCH 39/45] messages --- src/helpers/messages/add_reaction.ts | 4 +--- src/helpers/messages/delete_message.ts | 4 +--- src/helpers/messages/edit_message.ts | 6 +++--- src/helpers/messages/get_message.ts | 8 ++++---- src/helpers/messages/get_messages.ts | 8 ++++---- src/helpers/messages/get_reactions.ts | 8 ++++---- src/helpers/messages/pin_message.ts | 4 +--- src/helpers/messages/publish_message.ts | 8 ++++---- src/helpers/messages/remove_all_reactions.ts | 4 +--- src/helpers/messages/remove_reaction.ts | 4 +--- src/helpers/messages/remove_reaction_emoji.ts | 4 +--- src/helpers/messages/remove_user_reaction.ts | 4 +--- src/helpers/messages/send_message.ts | 6 +++--- src/helpers/messages/unpin_message.ts | 4 +--- 14 files changed, 30 insertions(+), 46 deletions(-) diff --git a/src/helpers/messages/add_reaction.ts b/src/helpers/messages/add_reaction.ts index 1a5861abb..6c2fe402b 100644 --- a/src/helpers/messages/add_reaction.ts +++ b/src/helpers/messages/add_reaction.ts @@ -19,10 +19,8 @@ export async function addReaction( reaction = reaction.substring(3, reaction.length - 1); } - const result = await rest.runMethod( + return await rest.runMethod( "put", endpoints.CHANNEL_MESSAGE_REACTION_ME(channelId, messageId, reaction), ); - - return result; } diff --git a/src/helpers/messages/delete_message.ts b/src/helpers/messages/delete_message.ts index c053a1787..9b84ae248 100644 --- a/src/helpers/messages/delete_message.ts +++ b/src/helpers/messages/delete_message.ts @@ -20,11 +20,9 @@ export async function deleteMessage( if (delayMilliseconds) await delay(delayMilliseconds); - const result = await rest.runMethod( + return await rest.runMethod( "delete", endpoints.CHANNEL_MESSAGE(channelId, messageId), { reason }, ); - - return result; } diff --git a/src/helpers/messages/edit_message.ts b/src/helpers/messages/edit_message.ts index 220f605b8..860aa7616 100644 --- a/src/helpers/messages/edit_message.ts +++ b/src/helpers/messages/edit_message.ts @@ -3,7 +3,7 @@ import { rest } from "../../rest/rest.ts"; import { DiscordenoMessage } from "../../structures/message.ts"; import { structures } from "../../structures/mod.ts"; import { EditMessage } from "../../types/messages/edit_message.ts"; -import { DiscordMessage } from "../../types/messages/message.ts"; +import { Message } from "../../types/messages/message.ts"; import { Errors } from "../../types/misc/errors.ts"; import { PermissionStrings } from "../../types/permissions/permission_strings.ts"; import { endpoints } from "../../util/constants.ts"; @@ -28,11 +28,11 @@ export async function editMessage( throw new Error(Errors.MESSAGE_MAX_LENGTH); } - const result: DiscordMessage = await rest.runMethod( + const result = await rest.runMethod( "patch", endpoints.CHANNEL_MESSAGE(message.channelId, message.id), content, ); - return structures.createDiscordenoMessage(result); + return await structures.createDiscordenoMessage(result); } diff --git a/src/helpers/messages/get_message.ts b/src/helpers/messages/get_message.ts index 9c6c11a57..fc3f00cf6 100644 --- a/src/helpers/messages/get_message.ts +++ b/src/helpers/messages/get_message.ts @@ -1,7 +1,7 @@ import { cacheHandlers } from "../../cache.ts"; import { rest } from "../../rest/rest.ts"; import { structures } from "../../structures/mod.ts"; -import { DiscordMessage } from "../../types/messages/message.ts"; +import { Message } from "../../types/messages/message.ts"; import { endpoints } from "../../util/constants.ts"; import { requireBotChannelPermissions } from "../../util/permissions.ts"; @@ -14,10 +14,10 @@ export async function getMessage(channelId: string, id: string) { ]); } - const result = (await rest.runMethod( + const result = await rest.runMethod( "get", endpoints.CHANNEL_MESSAGE(channelId, id), - )) as DiscordMessage; + ); - return structures.createDiscordenoMessage(result); + return await structures.createDiscordenoMessage(result); } diff --git a/src/helpers/messages/get_messages.ts b/src/helpers/messages/get_messages.ts index 959504e9a..1429b495b 100644 --- a/src/helpers/messages/get_messages.ts +++ b/src/helpers/messages/get_messages.ts @@ -6,7 +6,7 @@ import { GetMessagesBefore, GetMessagesLimit, } from "../../types/messages/get_messages.ts"; -import { DiscordMessage } from "../../types/messages/message.ts"; +import { Message } from "../../types/messages/message.ts"; import { endpoints } from "../../util/constants.ts"; import { requireBotChannelPermissions } from "../../util/permissions.ts"; @@ -26,13 +26,13 @@ export async function getMessages( if (options?.limit && options.limit > 100) return; - const result = (await rest.runMethod( + const result = await rest.runMethod( "get", endpoints.CHANNEL_MESSAGES(channelId), options, - )) as DiscordMessage[]; + ); - return Promise.all( + return await Promise.all( result.map((res) => structures.createDiscordenoMessage(res)), ); } diff --git a/src/helpers/messages/get_reactions.ts b/src/helpers/messages/get_reactions.ts index 0506f5b48..bf10d2d6d 100644 --- a/src/helpers/messages/get_reactions.ts +++ b/src/helpers/messages/get_reactions.ts @@ -1,8 +1,8 @@ import { rest } from "../../rest/rest.ts"; -import { DiscordUser } from "../../types/users/user.ts"; +import { GetReactions } from "../../types/messages/message_get_reactions.ts"; +import { User } from "../../types/users/user.ts"; import { Collection } from "../../util/collection.ts"; import { endpoints } from "../../util/constants.ts"; -import { GetReactions } from "../../types/messages/message_get_reactions.ts"; /** Get a list of users that reacted with this emoji. */ export async function getReactions( @@ -11,11 +11,11 @@ export async function getReactions( reaction: string, options?: GetReactions, ) { - const users = (await rest.runMethod( + const users = await rest.runMethod( "get", endpoints.CHANNEL_MESSAGE_REACTION(channelId, messageId, reaction), options, - )) as DiscordUser[]; + ); return new Collection(users.map((user) => [user.id, user])); } diff --git a/src/helpers/messages/pin_message.ts b/src/helpers/messages/pin_message.ts index 3e3001142..f96cac8f0 100644 --- a/src/helpers/messages/pin_message.ts +++ b/src/helpers/messages/pin_message.ts @@ -6,12 +6,10 @@ import { requireBotChannelPermissions } from "../../util/permissions.ts"; export async function pin(channelId: string, messageId: string) { await requireBotChannelPermissions(channelId, ["MANAGE_MESSAGES"]); - const result = await rest.runMethod( + return await rest.runMethod( "put", endpoints.CHANNEL_PIN(channelId, messageId), ); - - return result; } // aliases diff --git a/src/helpers/messages/publish_message.ts b/src/helpers/messages/publish_message.ts index 277f06a22..7d9d2ca17 100644 --- a/src/helpers/messages/publish_message.ts +++ b/src/helpers/messages/publish_message.ts @@ -1,14 +1,14 @@ import { rest } from "../../rest/rest.ts"; import { structures } from "../../structures/mod.ts"; -import { DiscordMessage } from "../../types/messages/message.ts"; +import { Message } from "../../types/messages/message.ts"; import { endpoints } from "../../util/constants.ts"; /** Crosspost a message in a News Channel to following channels. */ export async function publishMessage(channelId: string, messageId: string) { - const data = (await rest.runMethod( + const data = await rest.runMethod( "post", endpoints.CHANNEL_MESSAGE_CROSSPOST(channelId, messageId), - )) as DiscordMessage; + ); - return structures.createDiscordenoMessage(data); + return await structures.createDiscordenoMessage(data); } diff --git a/src/helpers/messages/remove_all_reactions.ts b/src/helpers/messages/remove_all_reactions.ts index c228ddfde..a97b81d9e 100644 --- a/src/helpers/messages/remove_all_reactions.ts +++ b/src/helpers/messages/remove_all_reactions.ts @@ -6,10 +6,8 @@ import { requireBotChannelPermissions } from "../../util/permissions.ts"; export async function removeAllReactions(channelId: string, messageId: string) { await requireBotChannelPermissions(channelId, ["MANAGE_MESSAGES"]); - const result = await rest.runMethod( + return await rest.runMethod( "delete", endpoints.CHANNEL_MESSAGE_REACTIONS(channelId, messageId), ); - - return result; } diff --git a/src/helpers/messages/remove_reaction.ts b/src/helpers/messages/remove_reaction.ts index 087cf6659..b8bd2f707 100644 --- a/src/helpers/messages/remove_reaction.ts +++ b/src/helpers/messages/remove_reaction.ts @@ -13,10 +13,8 @@ export async function removeReaction( reaction = reaction.substring(3, reaction.length - 1); } - const result = await rest.runMethod( + return await rest.runMethod( "delete", endpoints.CHANNEL_MESSAGE_REACTION_ME(channelId, messageId, reaction), ); - - return result; } diff --git a/src/helpers/messages/remove_reaction_emoji.ts b/src/helpers/messages/remove_reaction_emoji.ts index 0ed789a82..85a68a0be 100644 --- a/src/helpers/messages/remove_reaction_emoji.ts +++ b/src/helpers/messages/remove_reaction_emoji.ts @@ -16,10 +16,8 @@ export async function removeReactionEmoji( reaction = reaction.substring(3, reaction.length - 1); } - const result = await rest.runMethod( + return await rest.runMethod( "delete", endpoints.CHANNEL_MESSAGE_REACTION(channelId, messageId, reaction), ); - - return result; } diff --git a/src/helpers/messages/remove_user_reaction.ts b/src/helpers/messages/remove_user_reaction.ts index 4ae4ffb2b..7f5b67dfd 100644 --- a/src/helpers/messages/remove_user_reaction.ts +++ b/src/helpers/messages/remove_user_reaction.ts @@ -17,7 +17,7 @@ export async function removeUserReaction( reaction = reaction.substring(3, reaction.length - 1); } - const result = await rest.runMethod( + return await rest.runMethod( "delete", endpoints.CHANNEL_MESSAGE_REACTION_USER( channelId, @@ -26,6 +26,4 @@ export async function removeUserReaction( userId, ), ); - - return result; } diff --git a/src/helpers/messages/send_message.ts b/src/helpers/messages/send_message.ts index 802e876c4..73d00246f 100644 --- a/src/helpers/messages/send_message.ts +++ b/src/helpers/messages/send_message.ts @@ -4,7 +4,7 @@ import { structures } from "../../structures/mod.ts"; import { DiscordChannelTypes } from "../../types/channels/channel_types.ts"; import { DiscordAllowedMentionsTypes } from "../../types/messages/allowed_mentions_types.ts"; import { CreateMessage } from "../../types/messages/create_message.ts"; -import { DiscordMessage } from "../../types/messages/message.ts"; +import { DiscordMessage, Message } from "../../types/messages/message.ts"; import { Errors } from "../../types/misc/errors.ts"; import { PermissionStrings } from "../../types/permissions/permission_strings.ts"; import { endpoints } from "../../util/constants.ts"; @@ -93,7 +93,7 @@ export async function sendMessage( } } - const result = (await rest.runMethod( + const result = await rest.runMethod( "post", endpoints.CHANNEL_MESSAGES(channelId), camelKeysToSnakeCase({ @@ -107,7 +107,7 @@ export async function sendMessage( } : {}), }), - )) as DiscordMessage; + ); return structures.createDiscordenoMessage(result); } diff --git a/src/helpers/messages/unpin_message.ts b/src/helpers/messages/unpin_message.ts index c2a5630bf..1af948620 100644 --- a/src/helpers/messages/unpin_message.ts +++ b/src/helpers/messages/unpin_message.ts @@ -9,12 +9,10 @@ export async function unpin( ): Promise { await requireBotChannelPermissions(channelId, ["MANAGE_MESSAGES"]); - const result = await rest.runMethod( + return await rest.runMethod( "delete", endpoints.CHANNEL_PIN(channelId, messageId), ); - - return result; } // aliases From d7015df65fb05a6f2b9167a40e5044159d7177b3 Mon Sep 17 00:00:00 2001 From: ITOH <72305210+itohatweb@users.noreply.github.com> Date: Sat, 24 Apr 2021 19:39:40 +0200 Subject: [PATCH 40/45] misc --- src/helpers/misc/get_gateway_bot.ts | 10 ++-------- src/helpers/misc/get_user.ts | 6 +----- 2 files changed, 3 insertions(+), 13 deletions(-) diff --git a/src/helpers/misc/get_gateway_bot.ts b/src/helpers/misc/get_gateway_bot.ts index 10aa515c2..d765780be 100644 --- a/src/helpers/misc/get_gateway_bot.ts +++ b/src/helpers/misc/get_gateway_bot.ts @@ -1,14 +1,8 @@ import { rest } from "../../rest/rest.ts"; -import { - DiscordGetGatewayBot, - GetGatewayBot, -} from "../../types/gateway/get_gateway_bot.ts"; +import { GetGatewayBot } from "../../types/gateway/get_gateway_bot.ts"; import { endpoints } from "../../util/constants.ts"; -import { snakeKeysToCamelCase } from "../../util/utils.ts"; /** Get the bots Gateway metadata that can help during the operation of large or sharded bots. */ export async function getGatewayBot() { - const result = await rest.runMethod("get", endpoints.GATEWAY_BOT); - - return snakeKeysToCamelCase(result as DiscordGetGatewayBot) as GetGatewayBot; + return await rest.runMethod("get", endpoints.GATEWAY_BOT); } diff --git a/src/helpers/misc/get_user.ts b/src/helpers/misc/get_user.ts index 254779a7f..9913acddc 100644 --- a/src/helpers/misc/get_user.ts +++ b/src/helpers/misc/get_user.ts @@ -1,12 +1,8 @@ import { rest } from "../../rest/rest.ts"; -import { DiscordUser } from "../../types/users/user.ts"; import { User } from "../../types/users/user.ts"; import { endpoints } from "../../util/constants.ts"; -import { snakeKeysToCamelCase } from "../../util/utils.ts"; /** This function will return the raw user payload in the rare cases you need to fetch a user directly from the API. */ export async function getUser(userId: string) { - const result: User = await rest.runMethod("get", endpoints.USER(userId)); - - return snakeKeysToCamelCase(result); + return await rest.runMethod("get", endpoints.USER(userId)); } From 5793351fefb81b5c6bed3c08143374581c661521 Mon Sep 17 00:00:00 2001 From: ITOH <72305210+itohatweb@users.noreply.github.com> Date: Sat, 24 Apr 2021 19:39:49 +0200 Subject: [PATCH 41/45] roles --- src/helpers/roles/add_role.ts | 4 +--- src/helpers/roles/create_role.ts | 5 +++-- src/helpers/roles/delete_role.ts | 4 +--- src/helpers/roles/edit_role.ts | 7 ++++--- src/helpers/roles/get_roles.ts | 11 ++++++----- src/helpers/roles/remove_role.ts | 4 +--- 6 files changed, 16 insertions(+), 19 deletions(-) diff --git a/src/helpers/roles/add_role.ts b/src/helpers/roles/add_role.ts index 6213823c3..6bf738ede 100644 --- a/src/helpers/roles/add_role.ts +++ b/src/helpers/roles/add_role.ts @@ -25,11 +25,9 @@ export async function addRole( await requireBotGuildPermissions(guildId, ["MANAGE_ROLES"]); - const result = await rest.runMethod( + return await rest.runMethod( "put", endpoints.GUILD_MEMBER_ROLE(guildId, memberId, roleId), { reason }, ); - - return result; } diff --git a/src/helpers/roles/create_role.ts b/src/helpers/roles/create_role.ts index b8cdf1079..0c107ccd7 100644 --- a/src/helpers/roles/create_role.ts +++ b/src/helpers/roles/create_role.ts @@ -2,7 +2,7 @@ import { cacheHandlers } from "../../cache.ts"; import { rest } from "../../rest/rest.ts"; import { structures } from "../../structures/mod.ts"; import { CreateGuildRole } from "../../types/guilds/create_guild_role.ts"; -import { DiscordRole } from "../../types/permissions/role.ts"; +import { Role } from "../../types/permissions/role.ts"; import { endpoints } from "../../util/constants.ts"; import { calculateBits, @@ -17,7 +17,7 @@ export async function createRole( ) { await requireBotGuildPermissions(guildId, ["MANAGE_ROLES"]); - const result: DiscordRole = await rest.runMethod( + const result = await rest.runMethod( "post", endpoints.GUILD_ROLES(guildId), { @@ -34,5 +34,6 @@ export async function createRole( const guild = await cacheHandlers.get("guilds", guildId); guild?.roles.set(role.id, role); + // TODO: ADD TO CACHE? return role; } diff --git a/src/helpers/roles/delete_role.ts b/src/helpers/roles/delete_role.ts index dd8c9300b..f9d134545 100644 --- a/src/helpers/roles/delete_role.ts +++ b/src/helpers/roles/delete_role.ts @@ -6,10 +6,8 @@ import { requireBotGuildPermissions } from "../../util/permissions.ts"; export async function deleteRole(guildId: string, id: string) { await requireBotGuildPermissions(guildId, ["MANAGE_ROLES"]); - const result = await rest.runMethod( + return await rest.runMethod( "delete", endpoints.GUILD_ROLE(guildId, id), ); - - return result; } diff --git a/src/helpers/roles/edit_role.ts b/src/helpers/roles/edit_role.ts index 351b6314a..61373b852 100644 --- a/src/helpers/roles/edit_role.ts +++ b/src/helpers/roles/edit_role.ts @@ -1,5 +1,6 @@ import { rest } from "../../rest/rest.ts"; -import { CreateGuildRole } from "../../types/mod.ts"; +import { structures } from "../../structures/mod.ts"; +import { CreateGuildRole, Role } from "../../types/mod.ts"; import { endpoints } from "../../util/constants.ts"; import { calculateBits, @@ -14,7 +15,7 @@ export async function editRole( ) { await requireBotGuildPermissions(guildId, ["MANAGE_ROLES"]); - const result = await rest.runMethod( + const result = await rest.runMethod( "patch", endpoints.GUILD_ROLE(guildId, id), { @@ -25,5 +26,5 @@ export async function editRole( }, ); - return result; + return await structures.createDiscordenoRole(result); } diff --git a/src/helpers/roles/get_roles.ts b/src/helpers/roles/get_roles.ts index 29b08998b..ace6fe351 100644 --- a/src/helpers/roles/get_roles.ts +++ b/src/helpers/roles/get_roles.ts @@ -1,9 +1,8 @@ import { rest } from "../../rest/rest.ts"; -import { DiscordRole, Role } from "../../types/permissions/role.ts"; +import { Role } from "../../types/permissions/role.ts"; import { Collection } from "../../util/collection.ts"; import { endpoints } from "../../util/constants.ts"; import { requireBotGuildPermissions } from "../../util/permissions.ts"; -import { snakeKeysToCamelCase } from "../../util/utils.ts"; /** Returns a list of role objects for the guild. * @@ -12,12 +11,14 @@ import { snakeKeysToCamelCase } from "../../util/utils.ts"; export async function getRoles(guildId: string) { await requireBotGuildPermissions(guildId, ["MANAGE_ROLES"]); - const result = (await rest.runMethod( + const result = await rest.runMethod( "get", endpoints.GUILD_ROLES(guildId), - )) as DiscordRole[]; + ); + + // TODO: addToCache return new Collection( - result.map((role) => [role.id, snakeKeysToCamelCase(role)]), + result.map((role) => [role.id, role]), ); } diff --git a/src/helpers/roles/remove_role.ts b/src/helpers/roles/remove_role.ts index 786b0136e..5a98501ef 100644 --- a/src/helpers/roles/remove_role.ts +++ b/src/helpers/roles/remove_role.ts @@ -27,11 +27,9 @@ export async function removeRole( await requireBotGuildPermissions(guildId, ["MANAGE_ROLES"]); - const result = await rest.runMethod( + return await rest.runMethod( "delete", endpoints.GUILD_MEMBER_ROLE(guildId, memberId, roleId), { reason }, ); - - return result; } From 973ec219cc9cae8efadbc7230d935a1022abbffd Mon Sep 17 00:00:00 2001 From: ITOH <72305210+itohatweb@users.noreply.github.com> Date: Sat, 24 Apr 2021 19:42:11 +0200 Subject: [PATCH 42/45] templates --- src/helpers/templates/create_guild_from_template.ts | 8 ++++---- src/helpers/templates/create_guild_template.ts | 7 ++----- src/helpers/templates/delete_guild_template.ts | 7 ++----- src/helpers/templates/edit_guild_template.ts | 7 ++----- src/helpers/templates/get_guild_templates.ts | 9 ++++----- src/helpers/templates/get_template.ts | 7 ++----- src/helpers/templates/sync_guild_template.ts | 7 ++----- 7 files changed, 18 insertions(+), 34 deletions(-) diff --git a/src/helpers/templates/create_guild_from_template.ts b/src/helpers/templates/create_guild_from_template.ts index 92399604c..770f71299 100644 --- a/src/helpers/templates/create_guild_from_template.ts +++ b/src/helpers/templates/create_guild_from_template.ts @@ -3,7 +3,7 @@ import { rest } from "../../rest/rest.ts"; import { Guild } from "../../types/guilds/guild.ts"; import { CreateGuildFromTemplate } from "../../types/templates/create_guild_from_template.ts"; import { endpoints } from "../../util/constants.ts"; -import { snakeKeysToCamelCase, urlToBase64 } from "../../util/utils.ts"; +import { urlToBase64 } from "../../util/utils.ts"; /** * Create a new guild based on a template @@ -23,11 +23,11 @@ export async function createGuildFromTemplate( data.icon = await urlToBase64(data.icon); } - const result = await rest.runMethod( + // TODO: discordeno guild? + + return await rest.runMethod( "post", endpoints.GUILD_TEMPLATE(templateCode), data, ); - - return snakeKeysToCamelCase(result); } diff --git a/src/helpers/templates/create_guild_template.ts b/src/helpers/templates/create_guild_template.ts index 6bc726bbe..a66d8f069 100644 --- a/src/helpers/templates/create_guild_template.ts +++ b/src/helpers/templates/create_guild_template.ts @@ -1,8 +1,7 @@ import { rest } from "../../rest/rest.ts"; -import { DiscordTemplate, Template } from "../../types/templates/template.ts"; +import { Template } from "../../types/templates/template.ts"; import { endpoints } from "../../util/constants.ts"; import { requireBotGuildPermissions } from "../../util/permissions.ts"; -import { snakeKeysToCamelCase } from "../../util/utils.ts"; /** * Creates a template for the guild. @@ -24,11 +23,9 @@ export async function createGuildTemplate( throw new Error("The description can only be in between 0-120 characters."); } - const template = await rest.runMethod( + return await rest.runMethod