# Setting Up

{% hint style="info" %}
Invite the bot here: [shield.pandezlabs.com](https://shield.pandezlabs.com)

**It's free!**
{% endhint %}

{% hint style="warning" %}
You need a role with the `Administrator` or `Manage Server` permissions to invite the bot to your server. If you don't have a role with either of those permissions, please ask the server owner to [give you one](https://support.discord.com/hc/en-us/articles/206029707-Setting-Up-Permissions-FAQ#h_01FFTVYQ38W9TVCTM6YZHZXFFA).&#x20;

Always verify you are inviting the bot from our official links.

The bot is `Pandez Shield#0884` and is verified.

The bot requires `Administrator` permissions.
{% endhint %}

### Server owner account

For the best protection, we advise using a separate Discord account to hold ownership of your Discord server.&#x20;

This account should never interact with any links, accept friend requests, DMs, etc. It should ideally be only used in a separate device that you only have for this purpose.&#x20;

Having a separate server owner Discord account stands a far lesser risk of being compromised.

### Role order

Pandez Shield manages permissions for all your staff roles. Pandez Shield must be the highest role in your role settings to work properly and to prevent any permission issues later on.&#x20;

### Setting up 2FA

Before being able to use any commands with Pandez Shield, you must setup 2FA on your account. Use the `/2fa` command and follow the on-screen instructions.&#x20;

{% hint style="warning" %}
This will be a different 2FA code than your Discord account one.&#x20;

Pandez Shield will never ask you for your Discord account's 2FA code, only the one you setup using the bot.&#x20;
{% endhint %}

### Setting up role permissions

{% hint style="info" %}
This action can only be performed by the server owner or a bot master
{% endhint %}

Use the `/settings` command and click on the "Role Permissions" button to configure permissions for each of your roles.

1. Click on the role you would like to configure from the dropdown menu.
2. Click on the permission you would like to configure from the dropdown menu.
3. Follow the on-screen instructions.

You can remove any Discord role permissions/channel overrides after setting up the permissions on the bot (e.g. Remove the "Mention @everyone permission" from the roles/channels that have them, and only use the `/mention` command through the bot.)&#x20;

<details>

<summary>Example</summary>

#### Giving a role permission to post announcements

*This permission is called "Mention" since it allows the role to mention @everyone, @here and any other roles in the server, but it also let's the role type in the channel after authentication.*

**Before we start:**

* [x] Make sure the announcements channel is read-only for everyone, even the role that will be posting announcements in it.
* [x] Make sure the role doesn't have the "Mention @everyone, @here..." permission in the role permission settings.

**Setup:**

1. Use the `/settings` command&#x20;
2. Click on "Role Permissions"
3. Click on the role you want to give this permission to from the dropdown menu
4. Click on the permission you would like to configure from the dropdown menu, in this case, "Mention"
5. Click on "Update Permission"&#x20;
6. Select the channels the role will be able to post announcements in
7. Click on "Continue"

Now members with that role will be able to use the `/mention` command to authenticate themselves through 2FA, and gain access to post announcements in specific channels.&#x20;

</details>

{% hint style="info" %}
For premium users:&#x20;

By default, the link filter (automod) is turned on. You can allow roles to post links in `/settings`.

To add permits for channels and bots, see [#setting-up-permits](#setting-up-permits "mention")
{% endhint %}

### Changing the security level

{% hint style="info" %}
This action can only be performed by the server owner or a bot master
{% endhint %}

Use the `/settings` command, click on the "Security" button and then the "Security Level" button.&#x20;

There are 4 security level options:

* `Low (24h)`
* `Medium (12h)`
* `High (1h)`
* `Extreme (Always)`

Changing the security level changes how often a user will be asked to authenticate themselves when running commands.&#x20;

e.g. Changing the security level to `High (1h)`, means that users will not be asked to enter their 2FA code again within the hour after authenticating.&#x20;

{% hint style="warning" %}
For the best protection, we advise keeping this setting to the default level: Extreme (Always).&#x20;
{% endhint %}

### Setting up log channels

Log channels can be configured for specific Pandez Shield actions.&#x20;

For now, the only logs sent by Pandez Shield to a specific channel, are logs for the deleted links by the link filtering module.&#x20;

When a link is sent by an unauthorized member, the link will be deleted and logged into a channel of your choice.

Use the `/settings` command, click on "Log Channels" and follow the instructions.&#x20;

### Setting up permits

Use the `/settings` command, click on "Permits" and then the type of permit you would like to set up. Follow the instructions sent by the bot.&#x20;

<details>

<summary>Example</summary>

**Add a link filter bypass**

**For channels:**

To allow links to be sent to a channel, use the `/settings` command, click on "Permits" and then "Link Filter Bypass".&#x20;

Select the "Channels" option and then "Set Permit".&#x20;

Select a channel mode, a link mode and you're done!&#x20;

**For bots:**

To allow links to be sent by bots, use the `/settings` command, click on "Permits" and then "Link Filter Bypass".

Select the "Bots" option and then "Set Permit".

Select a channel mode, a link mode and you're done!&#x20;

</details>

{% hint style="info" %}
We're still updating this page. Check back soon for updates!&#x20;
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.pandezlabs.com/pandez-shield/setting-up.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
