This commit is contained in:
ITOH
2021-04-06 22:25:26 +02:00
parent 484e995140
commit 96d26605ca
20 changed files with 143 additions and 80 deletions
+4 -2
View File
@@ -1,14 +1,16 @@
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 { endpoints } from "../../util/constants.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: CreateServerOptions) {
export async function createGuild(options: CreateGuild) {
const guild = (await rest.runMethod(
"post",
endpoints.GUILDS,
options,
)) as CreateGuildPayload;
)) as DiscordGuild;
return structures.createGuildStruct(guild, 0);
}
+1 -1
View File
@@ -3,7 +3,7 @@ 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) {
export async function deleteServer(guildId: string): Promise<undefined> {
const result = await rest.runMethod("delete", endpoints.GUILDS_BASE(guildId));
return result;
+6 -3
View File
@@ -1,10 +1,13 @@
import { rest } from "../../rest/rest.ts";
import { structures } from "../../structures/mod.ts";
import { DiscordGuild } 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";
import { urlToBase64 } from "../../util/utils.ts";
/** Modify a guilds settings. Requires the MANAGE_GUILD permission. */
export async function editGuild(guildId: string, options: GuildEditOptions) {
export async function editGuild(guildId: string, options: ModifyGuild) {
await requireBotGuildPermissions(guildId, ["MANAGE_GUILD"]);
if (options.icon && !options.icon.startsWith("data:image/")) {
@@ -23,7 +26,7 @@ export async function editGuild(guildId: string, options: GuildEditOptions) {
"patch",
endpoints.GUILDS_BASE(guildId),
options,
);
) as DiscordGuild;
return result;
return structures.createGuildStruct(result, -1);
}
+3 -1
View File
@@ -1,6 +1,8 @@
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(
@@ -19,5 +21,5 @@ export async function editWidget(
},
);
return result;
return snakeKeysToCamelCase(result) as GuildWidget;
}