# checkPermissions

`function` in `gateway` · v0.3.1

<https://docs.seedcord.org/packages/gateway/0.3.1/functions/check-permissions>

Checks a Role or a GuildMember against the base permission bits in a Guild, before channel overwrites. 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?: PermissionNoticeOverrides
): void
```

Checks a Role or a GuildMember against the base permission bits in a Guild, before channel overwrites. Refuses when a permission in `scope` is missing, or with `inverse` when one is present.

Parameters.

- `target` `Role | GuildMember`
- `ctx` `Guild`
- `scope` `PermissionScope`
- `inverse?` `boolean`
- `errors?` `PermissionNoticeOverrides`

Returns `void`.

## Signature 2

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

Checks a Role or a GuildMember against the overwrite-resolved set in a TextChannel. Refuses when a permission in `scope` is missing, or with `inverse` when one is present.

Parameters.

- `target` `Role | GuildMember`
- `ctx` `TextChannel`
- `scope` `PermissionScope`
- `inverse?` `boolean`
- `errors?` `PermissionNoticeOverrides`

Returns `void`.

## Signature 3

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

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

Parameters.

- `options` `CheckPermissionOptions`

Returns `void`.
