swc/bundler/tests/.cache/deno/8403547e5e81b25fc4f2c5febf2015033479b274.ts
강동윤 d60c3242af
fix(swc): Fix bugs (#1739)
swc_bundler:
 - Fix cycle detection for complex circular imports. (denoland/deno#10752)

swc_ecma_transforms_typescript:
 - Allow using large values for an enum variant.
2021-05-25 14:30:17 +09:00

23 lines
956 B
TypeScript

// Loaded from https://deno.land/x/discordeno@11.0.0-rc.2/src/helpers/invites/delete_invite.ts
import { cacheHandlers } from "../../cache.ts";
import { rest } from "../../rest/rest.ts";
import type { InviteMetadata } from "../../types/invites/invite_metadata.ts";
import { endpoints } from "../../util/constants.ts";
import { botHasChannelPermissions, requireBotGuildPermissions } from "../../util/permissions.ts";
/** Deletes an invite for the given code. Requires `MANAGE_CHANNELS` or `MANAGE_GUILD` permission */
export async function deleteInvite(channelId: bigint, inviteCode: string) {
const channel = await cacheHandlers.get("channels", channelId);
if (channel) {
const hasPerm = await botHasChannelPermissions(channel, ["MANAGE_CHANNELS"]);
if (!hasPerm) {
await requireBotGuildPermissions(channel.guildId, ["MANAGE_GUILD"]);
}
}
return await rest.runMethod<InviteMetadata>("delete", endpoints.INVITE(inviteCode));
}