From 5c82abc3d23eaf007ad26317d058f3042efffbd8 Mon Sep 17 00:00:00 2001 From: TriForMine Date: Mon, 18 Oct 2021 21:20:57 +0200 Subject: [PATCH] Discovery --- .../discovery/add_discovery_subcategory.ts | 16 ++++++++-------- src/helpers/discovery/edit_discovery.ts | 16 +++++++++------- src/helpers/discovery/get_discovery.ts | 11 +++++------ .../discovery/get_discovery_categories.ts | 10 +++++----- .../discovery/remove_discovery_subcategory.ts | 10 ++++------ src/helpers/discovery/valid_discovery_term.ts | 8 ++++---- 6 files changed, 35 insertions(+), 36 deletions(-) diff --git a/src/helpers/discovery/add_discovery_subcategory.ts b/src/helpers/discovery/add_discovery_subcategory.ts index 038431dcf..fa5020979 100644 --- a/src/helpers/discovery/add_discovery_subcategory.ts +++ b/src/helpers/discovery/add_discovery_subcategory.ts @@ -1,14 +1,14 @@ -import { rest } from "../../rest/rest.ts"; import type { AddGuildDiscoverySubcategory } from "../../types/discovery/add_guild_discovery_subcategory.ts"; -import { endpoints } from "../../util/constants.ts"; -import { requireBotGuildPermissions } from "../../util/permissions.ts"; +import {Bot} from "../../bot.ts"; +import {SnakeCasedPropertiesDeep} from "../../types/util.ts"; /** Add a discovery subcategory to the guild. Requires the `MANAGE_GUILD` permission. */ -export async function addDiscoverySubcategory(guildId: bigint, categoryId: number) { - await requireBotGuildPermissions(guildId, ["MANAGE_GUILD"]); +export async function addDiscoverySubcategory(bot: Bot, guildId: bigint, categoryId: number) { + await bot.utils.requireBotGuildPermissions(bot, guildId, ["MANAGE_GUILD"]); - return await rest.runMethod( - "post", - endpoints.DISCOVERY_SUBCATEGORY(guildId, categoryId) + return await bot.rest.runMethod>( + bot.rest, + "post", + bot.constants.endpoints.DISCOVERY_SUBCATEGORY(guildId, categoryId) ); } diff --git a/src/helpers/discovery/edit_discovery.ts b/src/helpers/discovery/edit_discovery.ts index d894477df..dad432f7f 100644 --- a/src/helpers/discovery/edit_discovery.ts +++ b/src/helpers/discovery/edit_discovery.ts @@ -1,13 +1,15 @@ -import { rest } from "../../rest/rest.ts"; import type { DiscoveryMetadata } from "../../types/discovery/discovery_metadata.ts"; import type { ModifyGuildDiscoveryMetadata } from "../../types/discovery/modify_guild_discovery_metadata.ts"; -import { endpoints } from "../../util/constants.ts"; -import { requireBotGuildPermissions } from "../../util/permissions.ts"; -import { snakelize } from "../../util/utils.ts"; +import {SnakeCasedPropertiesDeep} from "../../types/util.ts"; +import {Bot} from "../../bot.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(guildId: bigint, data: ModifyGuildDiscoveryMetadata) { - await requireBotGuildPermissions(guildId, ["MANAGE_GUILD"]); +export async function editDiscovery(bot: Bot, guildId: bigint, data: ModifyGuildDiscoveryMetadata) { + await bot.utils.requireBotGuildPermissions(guildId, ["MANAGE_GUILD"]); - return await rest.runMethod("patch", endpoints.DISCOVERY_METADATA(guildId), snakelize(data)); + return await bot.rest.runMethod>(bot.rest,"patch", bot.constants.endpoints.DISCOVERY_METADATA(guildId), { + primary_category_id: data.primaryCategoryId, + keywords: data.keywords, + emoji_discoverability_enabled: data.emojiDiscoverabilityEnabled, + }); } diff --git a/src/helpers/discovery/get_discovery.ts b/src/helpers/discovery/get_discovery.ts index 967235fa2..c94913e0e 100644 --- a/src/helpers/discovery/get_discovery.ts +++ b/src/helpers/discovery/get_discovery.ts @@ -1,11 +1,10 @@ -import { rest } from "../../rest/rest.ts"; import type { DiscoveryMetadata } from "../../types/discovery/discovery_metadata.ts"; -import { endpoints } from "../../util/constants.ts"; -import { requireBotGuildPermissions } from "../../util/permissions.ts"; +import {SnakeCasedPropertiesDeep} from "../../types/util.ts"; +import {Bot} from "../../bot.ts"; /** Returns the discovery metadata object for the guild. Requires the `MANAGE_GUILD` permission. */ -export async function getDiscovery(guildId: bigint) { - await requireBotGuildPermissions(guildId, ["MANAGE_GUILD"]); +export async function getDiscovery(bot: Bot, guildId: bigint) { + await bot.utils.requireBotGuildPermissions(bot, guildId, ["MANAGE_GUILD"]); - return await rest.runMethod("get", endpoints.DISCOVERY_METADATA(guildId)); + return await bot.rest.runMethod>(bot.rest,"get", bot.constants.endpoints.DISCOVERY_METADATA(guildId)); } diff --git a/src/helpers/discovery/get_discovery_categories.ts b/src/helpers/discovery/get_discovery_categories.ts index 012bafb64..e47f7ddb8 100644 --- a/src/helpers/discovery/get_discovery_categories.ts +++ b/src/helpers/discovery/get_discovery_categories.ts @@ -1,11 +1,11 @@ -import { rest } from "../../rest/rest.ts"; import type { DiscoveryCategory } from "../../types/discovery/discovery_category.ts"; import { Collection } from "../../util/collection.ts"; -import { endpoints } from "../../util/constants.ts"; +import {Bot} from "../../bot.ts"; +import {SnakeCasedPropertiesDeep} from "../../types/util.ts"; /** Returns a Collection (mapped by Id of the discovery category object) of discovery category objects that can be used when editing guilds */ -export async function getDiscoveryCategories() { - const result = await rest.runMethod("get", endpoints.DISCOVERY_CATEGORIES); +export async function getDiscoveryCategories(bot: Bot) { + const result = await bot.rest.runMethod[]>(bot.rest,"get", bot.constants.endpoints.DISCOVERY_CATEGORIES); - return new Collection(result.map((category) => [category.id, category])); + return new Collection>(result.map((category) => [category.id, category])); } diff --git a/src/helpers/discovery/remove_discovery_subcategory.ts b/src/helpers/discovery/remove_discovery_subcategory.ts index aaa9f219c..7d989e07e 100644 --- a/src/helpers/discovery/remove_discovery_subcategory.ts +++ b/src/helpers/discovery/remove_discovery_subcategory.ts @@ -1,10 +1,8 @@ -import { rest } from "../../rest/rest.ts"; -import { endpoints } from "../../util/constants.ts"; -import { requireBotGuildPermissions } from "../../util/permissions.ts"; +import {Bot} from "../../bot.ts"; /** Removes a discovery subcategory from the guild. Requires the MANAGE_GUILD permission. Returns a 204 No Content on success. */ -export async function removeDiscoverySubcategory(guildId: bigint, categoryId: number) { - await requireBotGuildPermissions(guildId, ["MANAGE_GUILD"]); +export async function removeDiscoverySubcategory(bot: Bot, guildId: bigint, categoryId: number) { + await bot.utils.requireBotGuildPermissions(bot, guildId, ["MANAGE_GUILD"]); - return await rest.runMethod("delete", endpoints.DISCOVERY_SUBCATEGORY(guildId, categoryId)); + return await bot.rest.runMethod(bot.rest,"delete", bot.constants.endpoints.DISCOVERY_SUBCATEGORY(guildId, categoryId)); } diff --git a/src/helpers/discovery/valid_discovery_term.ts b/src/helpers/discovery/valid_discovery_term.ts index 9e2a850f6..054bf142b 100644 --- a/src/helpers/discovery/valid_discovery_term.ts +++ b/src/helpers/discovery/valid_discovery_term.ts @@ -1,9 +1,9 @@ -import { rest } from "../../rest/rest.ts"; import type { ValidateDiscoverySearchTerm } from "../../types/discovery/validate_discovery_search_term.ts"; -import { endpoints } from "../../util/constants.ts"; +import {Bot} from "../../bot.ts"; +import {SnakeCasedPropertiesDeep} from "../../types/util.ts"; -export async function validDiscoveryTerm(term: string) { - const result = await rest.runMethod("get", endpoints.DISCOVERY_VALID_TERM, { term }); +export async function validDiscoveryTerm(bot: Bot, term: string) { + const result = await bot.rest.runMethod>("get", bot.constants.endpoints.DISCOVERY_VALID_TERM, { term }); return result.valid; }