mirror of
https://github.com/swc-project/swc.git
synced 2024-12-25 14:43:33 +03:00
d60c3242af
swc_bundler: - Fix cycle detection for complex circular imports. (denoland/deno#10752) swc_ecma_transforms_typescript: - Allow using large values for an enum variant.
21 lines
873 B
TypeScript
21 lines
873 B
TypeScript
// Loaded from https://deno.land/x/discordeno@11.0.0-rc.2/src/helpers/roles/remove_role.ts
|
|
|
|
|
|
import { botId } from "../../bot.ts";
|
|
import { rest } from "../../rest/rest.ts";
|
|
import { Errors } from "../../types/discordeno/errors.ts";
|
|
import { endpoints } from "../../util/constants.ts";
|
|
import { isHigherPosition, requireBotGuildPermissions } from "../../util/permissions.ts";
|
|
|
|
/** Remove a role from the member */
|
|
export async function removeRole(guildId: bigint, memberId: bigint, roleId: bigint, reason?: string) {
|
|
const isHigherRolePosition = await isHigherPosition(guildId, botId, roleId);
|
|
if (!isHigherRolePosition) {
|
|
throw new Error(Errors.BOTS_HIGHEST_ROLE_TOO_LOW);
|
|
}
|
|
|
|
await requireBotGuildPermissions(guildId, ["MANAGE_ROLES"]);
|
|
|
|
return await rest.runMethod<undefined>("delete", endpoints.GUILD_MEMBER_ROLE(guildId, memberId, roleId), { reason });
|
|
}
|