# checkPermissions

`function` in `gateway` · v0.1.0-next.3

<https://docs.seedcord.org/packages/gateway/0.1.0-next.3/functions/check-permissions>

Checks permissions for a Role or a GuildMember in a Guild. Refuses when a permission in `scope` is missing, or with `inverse` when one is present.

## Signature 1

```ts
checkPermissions(
    target: Role | GuildMember,
    ctx: Guild,
    scope: PermissionScope,
    inverse?: boolean,
    errors?: PermissionErrorNoticeOverrides
): void
```

Checks permissions for a Role or a GuildMember in a Guild. Refuses when a permission in `scope` is missing, or with `inverse` when one is present.

Parameters.

- `target` `Role | GuildMember` — Role or member to check
- `ctx` `Guild` — Guild context
- `scope` `PermissionScope` — Permission bits to validate
- `inverse?` `boolean` — Whether to ensure absence of the given permissions
- `errors?` `PermissionErrorNoticeOverrides` — Optional custom error constructors

Returns `void`.

## Signature 2

```ts
checkPermissions(
    target: Role | GuildMember,
    ctx: TextChannel,
    scope: PermissionScope,
    inverse?: boolean,
    errors?: PermissionErrorNoticeOverrides
): void
```

Checks permissions for a Role or a GuildMember in a TextChannel. Refuses when a permission in `scope` is missing, or with `inverse` when one is present.

Parameters.

- `target` `Role | GuildMember` — Role or member to check
- `ctx` `TextChannel` — Channel context
- `scope` `PermissionScope` — Permission bits to validate
- `inverse?` `boolean` — Whether to ensure absence of the given permissions
- `errors?` `PermissionErrorNoticeOverrides` — Optional custom error constructors

Returns `void`.

## Signature 3

```ts
checkPermissions(options: CheckPermissionOptions): void
```

Checks permissions using an options object. Refuses when a permission in [`scope`](/packages/gateway/0.1.0-next.3/interfaces/check-permission-options#scope) is missing, or with `options.inverse` when one is present.

Parameters.

- `options` `CheckPermissionOptions` — Complete options for the check

Returns `void`.
