# What is ComBot?

This page will describe the basic concept of Connections Bot

Connections bot or ComBot is a Discord Bot that allows different channels to display the same messages. This allows servers/guilds to communicate with each other without leaving the comfort of their server.

## Getting Started

### Guides: Jump right in

Follow our handy guides to get started on the basics as quickly as possible:

{% content-ref url="/pages/36yNSI5DvVX9ubeONvu7" %}
[Inviting the bot](/guides/inviting-the-bot)
{% endcontent-ref %}

{% content-ref url="/pages/pKupa1pxSV5m4TfdBGh9" %}
[Basic concepts](/before-you-start/basic-concepts)
{% endcontent-ref %}

{% content-ref url="/pages/XiJd4fYVgxkt9g0FlME8" %}
[Setting up your connection](/guides/setting-up-your-connection)
{% endcontent-ref %}

{% content-ref url="/pages/UlDAlNoQQonWdTzk47oF" %}
[Customizing settings](/guides/customizing-settings)
{% endcontent-ref %}


# Basic concepts

This page will tell you about the different words you might encounter when reading these docs or in the support server

## Connection

> Could be referenced as a cross-chat (a chat across multiple servers)

A connection is like a group, created using the `/create` command.  Each connection can have multiple channels connected to it (`/connect`) and all of those channels will have the same messages displayed.

{% hint style="warning" %}
Each user can have up to 2 connections. Patrons can this bypass by a set amount depending on their active membership tier. [Learn more about Patreon Perks](https://www.patreon.com/soupcreations)
{% endhint %}

## Connected Channel

> Could be referenced as a cChannel (stands for connectedChannel)

Connected channels are channels that have been "connected" or added to a [connection](#connection). These channels usually share messages with all other cChannels in their connection. You can add a channel to a connection using the `/connect` command.

{% hint style="warning" %}
Each user can have up to 20 cChannels. Patrons can bypass this by a set amount depending on their active membership tier. [Learn more about Patreon Perks](https://www.patreon.com/soupcreations)
{% endhint %}

## CrossMessage

> Could be referenced as a cMessage or a Cross-Message

CrossMessages are messages that have been duplicated over to other connected channels. These usually have the same content, embeds, files, profile pictures, etc...

## Channel connecting

Channel connecting, channel connection, and all its other variants, refer to the act of adding a channel to a connection.&#x20;

{% hint style="danger" %}
This is not to be confused with [Connected Channel](#connected-channel), an already added channel

This is not to be confused with [Connection](#connection), a group of multiple Connected Channels
{% endhint %}


# Stored/Logged information

This page describes what information you supply and we store or log

This is **not** a privacy policy. This is a non-exhaustive description of what information is available to us that we received from you. This page may be incomplete.

On the following page:&#x20;

* "Saved" and "Save" refer to one of Storing and/or Logging.
* "Storing" and "Store" refer to saving to a database for the app to use in the future.
* "Logging" and "Log" refer to saving data to a text file and are used to review errors and prevent abuse.

## Message Content is NOT Saved

We do **NOT** and will **NEVER** Save message content sent in neither normal chats nor connected chats.\
Command executions like `cb command etc...` and `/command etc...` are Logged in a text file. This allows the developer(s) to review errors and investigate bugs and other issues.

## What we DO Store

Here is a non-exhaustive list of information that **MAY** be personal that we **DO** Store (sorted alphabetically):

* Connection Ban Reasons &#x20;
* Connection Channel Guild Names&#x20;
* Connection Channel NSFW statuses&#x20;
* Connection Channel Names&#x20;
* Connection Channel Webhook IDs&#x20;
* Connection Channel Webhook Tokens&#x20;
* Connection Filter Values  &#x20;
* Connection Mute Reasons
* Connection Names&#x20;
* Connection Request Channel Names&#x20;
* Connection Request Guild Names&#x20;
* Connection Request Nicknames&#x20;
* Connection Role Names&#x20;
* Connection Role Permissions&#x20;
* Connection Role Prefixes&#x20;
* Connection Role Priorities&#x20;
* Connection Role Suffixes&#x20;
* Connection User Connection Role IDs&#x20;
* Connection User Discriminators&#x20;
* Connection User Last Messaged Connection Channel
* Connection User Usernames

## Removing Stored data

Deleting your connection will delete all of your connection data. Connection data includes anything prefixed with `Connection` in the previous section.


# Inviting the bot

This page will show you how to invite the bot

The first and most important step to do before you can dive deep into how to use the app is actually adding the bot to your Discord Server(s). This will cover the different ways to invite the bot and which permissions it requires.

{% hint style="info" %}
If you changed ComBot's permissions or maybe it randomly stops working, you can reinvite the bot and Discord will reset its permissions.
{% endhint %}

## Using the invite link

To invite the bot with **ADMINISTRATOR** permissions you can use [this link](https://discord.com/api/oauth2/authorize?client_id=652938911642943498\&permissions=8\&scope=bot%20applications.commands). This will give ComBot access to your entire server with almost no restrictions. This is not preferred by most servers as the `Administrator` permission is often viewed as a security flaw to give to bots or users in general.

To invite the bot with **RECOMMENDED PERMISSIONS** you can use [this link](https://discord.com/oauth2/authorize?client_id=652938911642943498\&permissions=537259088\&scope=bot%20applications.commands).

## In-app Authorization

If you already see the bot within Discord, you can invite it using its profile invite link. This will invite the bot with **RECOMMENDED PERMISSIONS.**

<img src="https://569524371-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX5pvJYI2SPSUPHkxu9p%2Fuploads%2FxUpmRcGCdK2q09AjytXY%2Fimage.png?alt=media&amp;token=dfd866b6-7b69-4929-8364-e00d9d4449aa" alt="" data-size="original">

## Invite **Permissions Table**

| Invite type and link                                                                                                                           | Permissions                                                                                                                                                                                                                                                                                                                                                                   |
| ---------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Administrator](https://discord.com/oauth2/authorize?client_id=652938911642943498\&permissions=8\&scope=bot%20applications.commands)           | `ADMINISTRATOR`                                                                                                                                                                                                                                                                                                                                                               |
| [Recommended](https://discord.com/api/oauth2/authorize?client_id=652938911642943498\&permissions=537259088\&scope=bot%20applications.commands) | <p><code>MANAGE\_CHANNELS</code><br><code>MANAGE\_WEBHOOKS</code><br><code>READ\_MESSAGES</code><br><code>SEND\_MESSAGES</code><br><code>MANAGE\_MESSAGES</code><br><code>EMBED\_LINKS</code><br><code>ATTACH\_FILES</code><br><code>READ\_MESSAGE\_HISTORY</code><br><code>MENTION\_EVERYONE</code><br><code>ADD\_REACTIONS</code><br><code>USE\_EXTERNAL\_EMOJIS</code></p> |


# Setting up your connection

This page will show you how to setup your connection and connect your first channel

## Creating a connection

To create your connection, all you have to do is use the `/create` command, specifying your desired connection name, then press the Confirm button to confirm its creation. Make sure the name is correct before pressing confirm!

{% hint style="warning" %}
You can create a connection every 10 minutes, this is reduced to 1 minute for [patrons](https://www.patreon.com/soupcreations)&#x20;
{% endhint %}

### Connection name specifications

* Must be unique across Discord, you can't share the same name with someone else
* ~~Must be at least 2 characters in length (Ex: `c` is invalid)~~
* Must be at most 16 characters in length (Ex: `myfirstconnection` is invalid)
* Must be alphanumerical (Ex: `my-con` and `mycôn` are invalid)

### Example

![ ](https://569524371-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX5pvJYI2SPSUPHkxu9p%2Fuploads%2FnRwkSiZQq1TviYO0cjbD%2Fimage.png?alt=media\&token=a62919d9-7cf3-4419-b473-cdd90c76c1f5)

## Selecting your connection

Each time you want to manage a different connection you will need to select it using `/select <name>` or specify it in the command.  If you did not select a connection, ComBot will select one for you instead, but this may not be the one you are looking for.

![](https://569524371-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX5pvJYI2SPSUPHkxu9p%2Fuploads%2FDYTwt3VdLIEnVJwKTNST%2Fimage.png?alt=media\&token=ff99f0b3-316e-4efa-99cf-e3afffb33c2d)

## Connecting a channel

{% hint style="danger" %}
Make sure to [select the right connection](#undefined) before continuing, otherwise, you might be modifying the wrong connection.
{% endhint %}

Once you've got your [connection ready](#creating-the-connection) you can connect a channel to it! This will create a webhook in that channel which will allow messages to look realistic. The bot needs `Manage Webhooks` permissions for this next step.

{% hint style="info" %}
You probably have to connect 2 channels for this to do what you expect it to do. Repeat the following steps twice!
{% endhint %}

To connect a channel we will use the `cb connect <#channel>` command. Make sure to replace `<#channel>` with a mention of the channel you wish to add/connect. You can mention a channel using #`<channel-name>`. You can also use its ID instead of a mention. [How to get a channel ID](https://support.discord.com/hc/en-us/articles/206346498-Where-can-I-find-my-User-Server-Message-ID).\ <mark style="color:red;">This command might take a few seconds to complete</mark>

### Examples

![Connecting #demo1](https://569524371-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX5pvJYI2SPSUPHkxu9p%2Fuploads%2FZN97TYyXdGrvIPrLXJ93%2Fimage.png?alt=media\&token=ca07fa92-b8ad-4ac9-98a9-acb6f7175626) ![Connecting #demo2](https://569524371-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX5pvJYI2SPSUPHkxu9p%2Fuploads%2FvcpxiwhaCO92n19MGU5h%2Fimage.png?alt=media\&token=e1b45f12-cc4a-4514-ad64-9085e0d9c76b)

{% hint style="info" %}
These demo channels are in the support server! [Join us](https://discord.gg/VdT64GM) if you have any questions/suggestions or you just wanna chat!
{% endhint %}

## Congratulations!

You just set up your first connected channels! If you want to customize the chat, go to the next guide!

![](https://569524371-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX5pvJYI2SPSUPHkxu9p%2Fuploads%2F8FCnubw6WEZp1cEhXbWK%2Fimage.png?alt=media\&token=6ff6a7fc-834a-496c-89d9-d314879d0e44)


# Customizing settings

This guide will show you how to use to use the settings command and the most popular settings

{% hint style="info" %}
Make sure you selected the right connection before proceeding (`/select`)
{% endhint %}

## Settings command

The `/manage settings` command can be scary at first, but no worries! This guide will show you how to navigate through it.

Before we start, run the `/manage settings` command!

{% hint style="danger" %}
You cannot run commands in a connected channel! Use another channel
{% endhint %}

![](https://569524371-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX5pvJYI2SPSUPHkxu9p%2Fuploads%2FQ6LQA9p0zeeKBWKXXHrK%2Fimage.png?alt=media\&token=2302cb69-a6f3-4cfc-bcba-44ce72c83993)

I agree it's not very welcoming at first, but you'll get the hang of it quickly

## Setting categories

Every connection setting is organized into 3 separate categories dedicated to different features that Connections Bot offers. They are sorted alphabetically in each section

1. Chat settings allow you to change how your cross-chat works, ranging from changing the appearing username to limiting the number of characters in a message.
2. Logs settings allow you to change what and where changes get logged, the two most important settings here are `Logs` and `MessageLogs`
3. Connection settings are settings that apply to the connection in general like its privacy setting or its rules

## How to change a setting

To change a setting, you need to add the setting name at the end of the command. Like this: `/manage settings <setting>`. The bot will respond with a setting description, status, and modification message.

![](https://569524371-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX5pvJYI2SPSUPHkxu9p%2Fuploads%2FL4kNV9iEaJ0H8gizOv0x%2Fimage.png?alt=media\&token=b983f7e3-5896-4d94-8725-f18cb02b343e)

{% hint style="info" %}
Setting names are case insensitive, meaning you could run `/manage settings setting:allowbots` or `/manage settings setting:AlLoWbOtS` and it would still work!
{% endhint %}

{% hint style="success" %}
Getting tired of writing the entire setting name? You can use their shortcuts!

Setting shortcuts are just the combination of all their uppercase letters.\
Example: `OriginalToWebhook` becomes `OTW`. `/manage settings setting:OTW`
{% endhint %}

The <mark style="color:red;">Disable</mark> button in this scenario will set the **Current** value to `false`.\
Each setting message can have different buttons depending on their possible or current values.

### How to use different buttons

**The `Reset to default` button** will appear on every setting, this changes the current value to match the default value displayed in the message's embed.

**The `Set to null` button** is usually for text settings (like `rules`) but can also be a way to show the setting is disabled

**The&#x20;**<mark style="color:green;">**`Enable`**</mark>**&#x20;and&#x20;**<mark style="color:red;">**`Disable`**</mark>**&#x20;buttons** will toggle a setting, changing it to `true` and `false` respectively. Just press it and the edit will happen before your eyes.

**The `Text input` button** is for text settings (like `rules`). When you press this button, the bot will ask you to send a text message to the channel. The content of the message you sent will be used as the setting value. Some settings (like `logs`, which checks for a valid channel) have verification methods to make sure what you sent isn't invalid and the bot will alert you/not change the setting if it is.

**The `Choose an option` select menu** will give you a set of options to choose from (usually just one). Press the select menu and choose an option from the drop-down list.

## Popular settings

These are some settings I find most popular amongst ComBot users:

| Name              | Description                                                                                                                                                                        |
| ----------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Identification    | What is displayed as a username in a message's duplicates                                                                                                                          |
| OriginalToWebhook | Whether to replace the original message with a webhook version to keep consistency across chats                                                                                    |
| ShowOrigin        | <p>If the origin of the message should be displayed in its duplicates:<br><code>from ServerX</code></p>                                                                            |
| TypingMessage     | The style of the `UserX is typing...` message. You can also disable this message                                                                                                   |
| Privacy           | Privacy of the connection, public allows all users to connect a channel, request will leave a request in `/manage requests`, private requires a connection moderator to connect it |
| Logs              | The channel used to log connection changes                                                                                                                                         |

## Congratulations!

You just customized your connection! You can explore the other settings by running `/manage settings <setting>`.


# Chat appearance

Learn how you can customize your connection chat appearance

{% content-ref url="/pages/u7ymS8BcikGmzBij8R5E" %}
[User Identification settings](/guides/customizing-settings/chat-appearance/user-identification-settings)
{% endcontent-ref %}

{% content-ref url="/pages/fX46M9BkBcSsXVnM8WpH" %}
[Message Origins](/guides/customizing-settings/chat-appearance/message-origins)
{% endcontent-ref %}


# User Identification settings

Different ways to customize user appearance

Usernames can have multiple different ways of appearance across Discord. Nicknames, Usernames, and Tags are the most prominent and you can choose to select those as an Identification setting.&#x20;

## Chat Identification

To change your user Identification setting, you can use the `/manage settings Identification` command.

### Tag setting

{% hint style="success" %}
This setting is the only setting that doesn't prevent users from seeing user tags. These tags allow mostly for pinging across servers by using TagPings

`MessageLogs` allows another way for moderators to access User IDs for moderation
{% endhint %}

Setting Identification as `tag` will make your users' chat display names look like this

![Example of Tag Identification](https://569524371-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX5pvJYI2SPSUPHkxu9p%2Fuploads%2FEsG3nzkdk24efvZwfggZ%2Fimage.png?alt=media\&token=43bd4c00-b7b7-478b-9774-7144d4cbac97)

### Username setting

Setting Identification as `username` will make your users' chat display names look like this

![Example of Username Identification](https://569524371-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX5pvJYI2SPSUPHkxu9p%2Fuploads%2FFNaPIt0v5pqBu2e6lSOb%2Fimage.png?alt=media\&token=b0aac727-a3e3-4c8b-8c47-8a154ef2edf5)

### Nickname setting

Setting Identification as `username` will make your users' chat display names the originating guild's set nickname for that user.&#x20;

![Example of Nickname Identification](https://569524371-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX5pvJYI2SPSUPHkxu9p%2Fuploads%2FEdyPVrIqIi9WUmhaxMRk%2Fimage.png?alt=media\&token=160cf9eb-146a-4f96-943d-6bd519a3d19f)

### Anonymous setting

This setting will hide the message sender's identity without preventing differentiation. Message display names will look like this

![Example of Anonymous Identification](https://569524371-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX5pvJYI2SPSUPHkxu9p%2Fuploads%2FU28m1zHr6DABW4qiAonu%2Fimage.png?alt=media\&token=8c2973f1-0ade-4d96-a3fb-c2a7aaa00c82)

The profile picture will be replaced with the webhook's profile picture. This could be a legacy image of Connections Bot.

## Getting information about a message

{% content-ref url="/pages/7Dm9sNWv54LWe11YAnvi" %}
[Getting Message Data](/guides/customizing-settings/chat-appearance/getting-message-data)
{% endcontent-ref %}


# Message Origins

Disable/Enable message origin display in displaynames

## ShowOrigin setting

The `ShowOrigin` setting can toggle whether or not a message's origin will appear in the display name. This is visible in the connection chat.&#x20;

Customizable through `/manage settings ShowOrigin` or `/manage settings SO`

![Without ShowOrigin](https://569524371-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX5pvJYI2SPSUPHkxu9p%2Fuploads%2FpXJPk0ZRLwEjctxAXzmz%2Fimage.png?alt=media\&token=e188bfd2-0b2b-4b61-aee2-4601a1d4bcb4) ![With ShowOrigin](https://569524371-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX5pvJYI2SPSUPHkxu9p%2Fuploads%2FWFtVSbx9GKF2A9l5OqLg%2Fimage.png?alt=media\&token=3f5784e3-8ec7-4e97-8f68-76023936d9e3)

## Getting message origin without ShowOrigin

{% content-ref url="/pages/7Dm9sNWv54LWe11YAnvi" %}
[Getting Message Data](/guides/customizing-settings/chat-appearance/getting-message-data)
{% endcontent-ref %}


# Getting Message Data

This page describes how you can get message sender and origin information

## Getting data from a sent message

The `MessageLogs` setting allows viewing information about a previously sent message.

![Example message log](https://569524371-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX5pvJYI2SPSUPHkxu9p%2Fuploads%2F1x7Q8gh1gEUHMX6hMSPd%2Fimage.png?alt=media\&token=bccd3de7-9ff2-4dca-a9f1-88f00c0735bb)

The `Identification` setting does not change the display name shown on top of the embed

The User ID found at the footer of the embed can be used for moderation purposes instead of the tag. Valid User IDs will never fail to target the correct user.


# Privacy settings

This page describes how you can customize a connection's privacy/accessibility

## Connection privacy setting

By using `/manage settings Privacy` you can change a connection's privacy. By changing this the connection will have a different level of security/checks before each new channel connects.

### Public option

Selecting the `public` option will allow *almost anyone* to connect to your connection. This of course excludes banned guilds and users, they will never be able to interact with your connection.&#x20;

{% hint style="info" %}
This is the default option. Even though virtually anyone can connect to your connection, they still need to know your connection's name before connecting anything to it. If you keep your connection name a secret, no one should be able to connect.&#x20;

We still recommend changing this setting after the initial setup to avoid name guessers
{% endhint %}

### Request option

Selecting the `request` option will change the channel connection system. Every time the `/connect` command is issued with your connection selected, you will receive a request which you can choose to accept or deny.

{% content-ref url="/pages/cuUSCAGBqZ2uIZaYrJl3" %}
[Managing requests](/guides/managing-requests)
{% endcontent-ref %}

### Private option

Selecting the `private` option will deny all channel connection requests from anyone that does not have the `MANAGE_CHANNELS` connection permission, which you can issue to specific users using Connection Roles.

## Public connection list

{% hint style="danger" %}
Public connections are hard to keep alive for long periods of time and often dont reach high amounts of channels due to the connected channel limit
{% endhint %}

{% hint style="info" %}
~~The `/view public` command is sorted by channel count. The biggest connections will appear on top~~

(Ordering may be broken temporarily)
{% endhint %}

If you want your connection to appear in the public connection list accessible via the `/view public` command, you can add it to the list through the `/my connection` command. Just press the Add to public list/Remove from public list button.


# Editing and deleting messages

This guide will show you the different ways you can edit and delete messages

CrossMessages can be edited and deleted in many ways, some are less obvious at first. Here we will teach you how to!

## Editing/Deleting a message normally

If you delete/edit a message just like any other message, that change will span across all the other duplicates automatically.

![Editing a message](https://569524371-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX5pvJYI2SPSUPHkxu9p%2Fuploads%2FzlaPYnsyTfqHsjGNX7BI%2Fimage.png?alt=media\&token=1d5e1dc1-2249-4f61-8a6f-4f82bf83ed34) ![Deleting a message](https://569524371-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX5pvJYI2SPSUPHkxu9p%2Fuploads%2F2vsdtaKUpijY2VdTgBxw%2Fimage.png?alt=media\&token=6cfa22e3-442a-427e-a2c6-41149aab3918)

## Using the Edit command

Using the command is more complicated than editing normally but here's how to do it anyway

The command format is `/message edit <messageId>`. The messageId is the Discord ID of the message, you can check how to get IDs [here](https://support.discord.com/hc/en-us/articles/206346498-Where-can-I-find-my-User-Server-Message-ID).

Once you sent the command with a valid message ID, the bot will ask you to send a message containing the new message content you wish to attribute to that message.

## Using the Delete command

Very similar to the edit command, the delete command uses a message ID to delete all the messages.&#x20;

The command format is `/message delete <messageId>`. You can check how to get IDs [here](https://support.discord.com/hc/en-us/articles/206346498-Where-can-I-find-my-User-Server-Message-ID).


# Managing requests

This guide will teach you how to manage all types of requests

Requests are a way of communication between whoever is requesting the change and the connection moderators/owner. There currently are two types of requests, nickname changes, and channel connection requests.

## Channel connection requests

{% hint style="info" %}
Channel connection requests are only sent if the Privacy setting is set to `request`
{% endhint %}

These requests are sent whenever someone tries to connect to your connection. They will appear as a `C` request in `/manage requests`. If the user who is trying to connect a channel has the `MANAGE_CHANNELS` connection permission, the channel will connect directly without passing by requests.

## Channel nickname edit requests

{% hint style="info" %}
Channel nickname edit requests are only sent if the ChangeNickname setting is set to `request`
{% endhint %}

These requests are sent whenever someone tries to perform `/setnick` on a channel. They will appear as an `N` request in `/manage requests`. If the user who is trying to edit the nickname has the `MANAGE_NICKNAMES` connection permission, the nickname will be updated directly without passing by requests.

## Managing requests

{% hint style="info" %}
Make sure you selected the right connection using `/select` before proceeding
{% endhint %}

Connection owners/moderators can manage requests with the `/manage requests` command.

The user will be presented with 3 buttons as well as a request selection menu.&#x20;

### Accepting/Rejecting requests

Select the appropriate request using the select menu. Its information will appear in the embed.

Press the <mark style="color:green;">`Accept`</mark> button to accept the request and approve the action\
Press the <mark style="color:red;">`Reject`</mark> button to deny and delete the request

### Clearing all requests

To clear all requests, press the <mark style="color:red;">`CLEAR ALL`</mark> button. You will be asked for confirmation, press the <mark style="color:green;">`Confirm`</mark> button to confirm the clearing. If you change your mind, press <mark style="color:red;">`Cancel`</mark>.


# Managing Connection Roles


# Editing roles

This page will teach you everything about Connection Roles

Connection roles are similar to Discord roles, except each user can only have 1 role.

You can manage your connection roles using `/manage roles` with the connection of your choice.

Each connection can have up to 12 roles

## Creating roles

You can create a role with the green <mark style="color:green;">**Create**</mark> button. This will create a role named "new role" with `SEND_MESSAGES` permission and will be placed at position 2. You can modify this role as you wish

## Modifying roles

### Selecting the role to modify

Some buttons are disabled if you didn't select a role yet. You can select a role using the select menu and clicking the appropriate role&#x20;

{% hint style="info" %}
You must do this every time you want to modify a new role
{% endhint %}

### Main Menu

#### Changing the name

To change the name of the role, press the blue <mark style="color:blue;">**Edit Name**</mark> button. This will ask you to send a message with the appropriate role name as its content. Once you send the message, you should see the role list update.

#### Deleting a role

You can delete a role using the red <mark style="color:red;">**Delete**</mark> button. Make sure you selected the right role before doing so, as there is no confirmation prompt.

{% hint style="warning" %}
You can't delete the everyone role, but you can modify it in almost every other way
{% endhint %}

#### Changing role order

Role order or role priorities affect who can do what to different users of the connection, for example, people with a role of priority 3 can't manage a user with a role of priority 6.

To change them, press the Change Role Order button and then select the roles in the order you want them to appear in the list. The priority numbers will be assigned automatically

{% hint style="warning" %}
You cannot reorder the everyone role, but you can modify it in almost every other way
{% endhint %}

### Secondary menu

To switch to the secondary menu, make sure you have a role selected and press the gray **Edit role** button. This will switch the button disposition to the second editing menu. You can return to the main menu by pressing the red <mark style="color:red;">**Back**</mark> button

#### Changing permissions

Press the **Edit Permissions** button and select the permissions you wish to give the role. The order does not matter.

Learn about the different role permissions here:

{% content-ref url="/pages/SFUhF8BaHLoRw45zTUCw" %}
[Role permissions](/guides/managing-connection-roles/editing-roles/role-permissions)
{% endcontent-ref %}

#### Editing prefixes and suffixes

Prefixes and suffixes appear before and after the user's display name in the connection chat. These can be text or emojis of your choice.

Press the Edit Suffix or Edit Prefix buttons and send the content in the chat once the bot asks you to.


# Role permissions

The different role permissions and what they do

| Permission name   | Description                                                                                                                                                                                    |
| ----------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| ADMINISTRATOR     | Gives **EVERY** permission                                                                                                                                                                     |
| MANAGE\_BANS      | <p><code>/moderation ban \*</code><br><code>/moderation unban \*</code><br><code>/manage bans</code></p>                                                                                       |
| MANAGE\_CHANNELS  | <p><code>/connect</code></p><p><code>/disconnect</code> </p><p><code>/manage channels</code></p>                                                                                               |
| MANAGE\_MESSAGES  | <p><code>/message delete (any message)</code><br><code>/manage filters</code></p>                                                                                                              |
| MANAGE\_MUTES     | <p><code>/moderation mute</code><br><code>/moderation unmute</code></p>                                                                                                                        |
| MANAGE\_NICKNAMES | <p><code>/setnick</code><br></p><p><span data-gb-custom-inline data-tag="emoji" data-code="26a0">⚠️</span> This permission only applies if <code>ChangeNickname</code> setting is disabled</p> |
| MANAGE\_REQUESTS  | `/manage requests`                                                                                                                                                                             |
| MANAGE\_ROLES     | <p><code>/setrole</code><br><code>/manage roles</code></p>                                                                                                                                     |
| MANAGE\_SETTINGS  | `/manage settings`                                                                                                                                                                             |
| MENTION\_EVERYONE | Mention everyone in chat using `&everyone` or `&here` (& can be changed with `PingChar` setting)                                                                                               |
| SEND\_MESSAGES    | Send messages in the connected chat                                                                                                                                                            |


# Assign roles to users

This page will show you how to assign roles to users

## Assigning a role

To assign a role to a user, use the `/setrole` command while selecting the user you wish to assign the role to.

A select menu will pop up asking you to select the role you wish to apply to the user

{% hint style="info" %}
Each user can only have 1 role
{% endhint %}

## Removing a role

To remove a role from a user, use the `/setrole` command and then select the everyone role.


# Frequently Asked Questions

Questions asked frequently by the community

## How do I get rid of the typing message?

The setting to manage the typing message is called `TypingMessage` or `TM` as a shortcut.

We encourage you to check out the Setting customization guide.

{% content-ref url="/pages/UlDAlNoQQonWdTzk47oF" %}
[Customizing settings](/guides/customizing-settings)
{% endcontent-ref %}

## How do I mention people across servers?

You can use the `&` character by default. \
Example: `&MrTomato#9412`, `&everyone` or `&here`

### User pings

The mention will be replaced across the appropriate servers

This mention only pings the user once, in the latest channel they sent a message in.

### Everyone/here pings

`&everyone` will be replaced with `@everyone`, which mentions every user in a server\
`&here` will be replaced with `@here` which only mentions online users

{% hint style="info" %}
You must have the `MENTION_EVERYONE` connection permission for the bot to parse everyone/here mentions.
{% endhint %}

{% content-ref url="/pages/SFUhF8BaHLoRw45zTUCw" %}
[Role permissions](/guides/managing-connection-roles/editing-roles/role-permissions)
{% endcontent-ref %}

## How do I delete my messages on every server?

By deleting the messages normally, just right-click it and press <mark style="color:red;">Delete Message</mark>.

The same applies to editing and bulk deletes, the bot will manage on its own

{% hint style="info" %}
You can also use the `/message delete`, `/message edit` and `/purge` commands and they will have the same effect

`/message edit` will not work if the original message was replaced by a webhook
{% endhint %}

## My Patreon tier isn't working!!

Make sure you're in the support server, you **MUST** be in the support server for patron benefits to work

Check your roles in the support server, do you have the right tier role?

Let us know in the `#support` channel on the Support server.&#x20;

{% hint style="success" %}
If all of our attempts fail we may refund your payment
{% endhint %}

## The channels are connected but no messages are being sent/received

1. Make sure all the channels are connected to the same connection by using `/info`
2. Make sure every channel has the same Age Restriction (NSFW) setting. SFW channels will never receive messages from NSFW channels
3. Make sure the bot can see the channels. You can check this by checking the member list on the right, or trying to mention the bot using `@`&#x20;
4. The channel may have a custom direction set up. Check its direction using `/info`. \
   A direction of `IN` means the channel can only receive messages\
   A direction of `OUT` means the channel can only send messages\
   A direction of `BOTH` means the channel can receive and send messages
5. Make sure the user/guild that is sending the message isn't muted or banned\
   (`/moderation unban` and `/moderation ban`)

{% hint style="warning" %}
If all else fails, disconnect the dysfunctional channel, delete all the webhooks created by the bot in that channel, reconnect the channel&#x20;
{% endhint %}

{% hint style="danger" %}
If the previous hint doesn't work, create a new connection and try again
{% endhint %}

## Can I see the source code?

This bot is a closed-source project. The code will never be available to the public and will remain a secret

{% hint style="success" %}
We know Open Source projects tend to have community participation and accelerate updates and bug fixes, but having it open source would be unfair to the patrons that pay to keep the public bot online\
\
If all patrons then decide to self-host the bot, the public build will be shut down due to a lack of funding
{% endhint %}


