# Member/Role Has Permissions

> Check if a member or role has specific permissions.

- ID: `member_role_has_permissions`
- Type: Condition
- Category: [Utilities](https://inventor.bot/docs/reference/blocks/utilities.md)

- Condition block: write `if member_role_has_permissions(Args{...}) { ... }`, or use it as a `"true"`/`"false"` value. See conditions.

**Inputs**

| Name | Required | Description | Value |
| --- | --- | --- | --- |
| `check_type` | yes | Whether to check a member or a role. | `"Member"`, `"Role"` |
| `server_id` | yes | The server to check permissions in. |  |
| `user_or_role_id` | yes | The member's user ID or the role ID to check. |  |
| `permissions` | yes | Permissions to check for. | `"Add Reactions"`, `"Administrator"`, `"Attach Files"`, `"Ban Members"`, `"Bypass Slowmode"`, `"Change Nickname"`, `"Connect"`, `"Create Events"`, `"Create Expressions"`, `"Create Instant Invite"`, `"Create Private Threads"`, `"Create Public Threads"`, `"Deafen Members"`, `"Embed Links"`, `"Kick Members"`, `"Manage Channels"`, `"Manage Events"`, `"Manage Expressions"`, `"Manage Messages"`, `"Manage Nicknames"`, `"Manage Roles"`, `"Manage Server"`, `"Manage Threads"`, `"Manage Webhooks"`, `"Mention Everyone"`, `"Move Members"`, `"Mute Members"`, `"Pin Messages"`, `"Priority Speaker"`, `"Read Message History"`, `"Request to Speak"`, `"Send Messages"`, `"Send Messages in Threads"`, `"Send Polls"`, `"Send TTS Messages"`, `"Send Voice Messages"`, `"Set Voice Channel Status"`, `"Speak"`, `"Stream"`, `"Timeout Members"`, `"Use Application Commands"`, `"Use Embedded Activities"`, `"Use External Apps"`, `"Use External Emojis"`, `"Use External Sounds"`, `"Use External Stickers"`, `"Use Soundboard"`, `"Use VAD"`, `"View Audit Log"`, `"View Channel"`, `"View Creator Monetization Analytics"`, `"View Guild Insights"` |
| `if_true` |  | Blocks to run when the member/role has all selected permissions. | blocks: `func() { ... }` |
| `if_false` |  | Blocks to run when the member/role is missing one or more selected permissions. | blocks: `func() { ... }` |

**Outputs**

| Name | Description | Value |
| --- | --- | --- |
| `result` | Whether the member/role has all selected permissions. | e.g. `"true"` |

**Example**

```go
if member_role_has_permissions(Args{
	check_type:      "Member",
	server_id:       trigger.server_id,
	user_or_role_id: "...",
	permissions:     "Add Reactions",
}) {
	send_text_message(Args{channel_id: trigger.channel_id, message_content: "Yes"})
}
```