integrations

This commit is contained in:
ITOH
2021-04-24 19:38:16 +02:00
parent 933a5c70eb
commit 0c02b94143
3 changed files with 7 additions and 16 deletions
+4 -10
View File
@@ -1,22 +1,16 @@
import { rest } from "../../rest/rest.ts"; import { rest } from "../../rest/rest.ts";
import { import { VoiceRegion } from "../../types/voice/voice_region.ts";
DiscordVoiceRegion,
VoiceRegion,
} from "../../types/voice/voice_region.ts";
import { Collection } from "../../util/collection.ts"; import { Collection } from "../../util/collection.ts";
import { endpoints } from "../../util/constants.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. */ /** 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) { export async function getVoiceRegions(guildId: string) {
const result = await rest.runMethod( const result = await rest.runMethod<VoiceRegion[]>(
"get", "get",
endpoints.GUILD_REGIONS(guildId), endpoints.GUILD_REGIONS(guildId),
) as DiscordVoiceRegion[]; );
const convertedRegions = snakeKeysToCamelCase<VoiceRegion[]>(result);
return new Collection<string, VoiceRegion>( return new Collection<string, VoiceRegion>(
convertedRegions.map((region) => [region.id, region]), result.map((region) => [region.id, region]),
); );
} }
@@ -6,10 +6,8 @@ import { requireBotGuildPermissions } from "../../util/permissions.ts";
export async function deleteIntegration(guildId: string, id: string) { export async function deleteIntegration(guildId: string, id: string) {
await requireBotGuildPermissions(guildId, ["MANAGE_GUILD"]); await requireBotGuildPermissions(guildId, ["MANAGE_GUILD"]);
const result = await rest.runMethod( return await rest.runMethod<undefined>(
"delete", "delete",
endpoints.GUILD_INTEGRATION(guildId, id), endpoints.GUILD_INTEGRATION(guildId, id),
); );
return result;
} }
+2 -3
View File
@@ -1,4 +1,5 @@
import { rest } from "../../rest/rest.ts"; import { rest } from "../../rest/rest.ts";
import { Integration } from "../../types/mod.ts";
import { endpoints } from "../../util/constants.ts"; import { endpoints } from "../../util/constants.ts";
import { requireBotGuildPermissions } from "../../util/permissions.ts"; import { requireBotGuildPermissions } from "../../util/permissions.ts";
@@ -6,10 +7,8 @@ import { requireBotGuildPermissions } from "../../util/permissions.ts";
export async function getIntegrations(guildId: string) { export async function getIntegrations(guildId: string) {
await requireBotGuildPermissions(guildId, ["MANAGE_GUILD"]); await requireBotGuildPermissions(guildId, ["MANAGE_GUILD"]);
const result = await rest.runMethod( return await rest.runMethod<Integration>(
"get", "get",
endpoints.GUILD_INTEGRATIONS(guildId), endpoints.GUILD_INTEGRATIONS(guildId),
); );
return result;
} }