# Welcome to the GetBeaned documentation

## GetBeaned is a Discord Moderation bot.

GetBeaned is the only bot you'll ever need to moderate your server. Why? The primary feature is the **AutoModerator**. It's not like Dyno or MEE6 automod, it is way more advanced and has got less false-positives.

### How does it work?

The automoderator works by calculating a multiplicator, that represents how likely a user has a tendency to spam. Using multiple data points, such as the Discord Nitro status of the user, the account age and how long ago the user joined, GetBeaned is able to have a pretty good estimate of the spam-potential of an user.

After calculating the multiplicator, GetBeaned will then look at the specific message to determine if it could be considered as spam, using factors such as the presence of CAPS, swear words, failed @everyone pings, etc.

Finally, by multiplying the multiplicator and the message score, GetBeaned applies actions corresponding to the specific total score.

$$
multiplicator \* message\ score = message\ total\ score
$$

### What does that mean in practice?

Have you ever been on a server, and then tried to send messages quickly one after another or just with a few CAPITAL letters, only to see it get removed by a very strict moderation bot, while, at the same time in another channel, a user is spamming mentions without getting banned? Well, if you don't want that to happen on your server,  **GetBeaned is the solution!**

A user that has just joined and tries to post invite links should be treated as a spammer while a trusted user that has been present for a year shouldn't. And that's what the GetBeaned AutoModerator does.

### More information on the bot configuration.

You can configure GetBeaned on the webinterface by logging in with Discord. The defaults provided are quite good, just enabling Thresholds and Automod should get you started!

{% hint style="info" %}
More settings are provided for advanced configuration. For best performance and to minimise the risk of false positives, we recommend enabling AutoMod and Thresholds, then enable AutoInspect and AutoTriggers as needed.
{% endhint %}

But, if you need, more than 60 settings are available. So, customising the bot shouldn't be a problem.

### Need support?

Not a problem, we are here to help on the [support server](https://discordapp.com/invite/cPbhK53)

### Contributing:

#### If you are a developer:

The bot code is open-sourced on [GitHub](https://github.com/getbeaned) and Pull Requests are welcomed with great pleasure.\
An API is available on request to access the data on the GetBeaned website to improve overall detection. Please contact Eyesofcreeper#0001 if you are interested.

#### If you are a Discord server owner:

Please[ install the bot](/tutorials/tutorial-setting-up-your-server-for-the-first-time) and spread the word. Don't forget to report spambots or new types of spam that aren't currently detected by the GetBeaned algorithms.

#### If you are a Discord user:

If my bot has helped you, [donations](https://www.paypal.me/duckduckhunt) are welcome to help fund the server costs! If you find any bugs, feel free to report them on the support server or contact me on Discord : Eyesofcreeper#0001

&#x20;


# Changelog

## 1.0.0 - 18/06/2019

### Added

* Re-made the docs using GitBook
* Move to the getbeaned.me domain
* The API can now be considered stable.

## 0.1.1 -> 1.0.0

The changelog for this versions is the git log available [here](https://github.com/getbeaned/GetBeaned-DiscordBot/commits/master) and [here](https://github.com/getbeaned/GetBeaned-WebInterface/commits/master)

## 0.1.0 - 02/02/2019

Published the repositories to Git after this release.

### Added

* You can now target multiple people in one command For example, g+kick \[user 1] \[user 2]  will kick two people at the same time, with the same reason
* Text only logs are now available They are easier to copy on mobile, but they are kinda ugly :( Use your server settings on the webinterface to enable them
* Added help text for settings on the webinterface.
* Made links like "see #547" clickable in the web interface Example: <https://getbeaned.api-d.com/actions/548>
* Made logging non-blocking, for when your server get raided and GetBeaned needs to act more than once per second
* Added a bot field in the database to mention the bot status of an user
* Added a command refresh\_user to refreh a user on the database
* Added bot-admin-specific comments on user pages
* Bot admins and bot mods now see links to the admin panel on different pages of the website
* Added a security score to user pages. Based on types of actions received in "big" servers, it's a really alpha made up formula, so it's subject to change on levels and calculation methods. However, it should be helping if you want to know about an user with a simple number, and (when it'll be more stable) to tune the audomod even more depending on your specific needs
* Now showing if an user is a bot on the WebInterface
* Added a +purge command, to remove messages in bulk. To get help, just type +purge. Does not purge pinned messages
* Fixed a bug where a security score calculation could return negative results
* Bot moderators (@(Human) Moderator on the support server) now have the required access level to moderate the bot
* Added a framework to store user-specific settings (IE: dark\_theme status) on the WebInterface
* Better help command using embeds and reactions!
* Fix a bug where no action would be done and nothing would be said by the bot when the bot top role was lower than a target role.
* Added a nice summary table on user pages. Also allows you to copy users IDs.
* Disabled ability to kick people not in server
* Fixed a special case where a wrong error message would be given where the bot is lower in the hierarchy than the target
* Add an AutoTrigger mechanism. This is made for some types of messages that may go past the AutoMod without detection.&#x20;
  * If your discord server get attacked by user bots that send messages not detected by the automod, head to #support\_english and request an AutoTrigger.&#x20;
  * The first AutoTrigger can be enabled on your server settings page.

    AutoTriggers need the AutoMod to be enabled for them to work
* Improved DiscordSexDating autotrigger to also match the url spammed and to be more lenient on keywords

### Fixed

* Fixed loads of typos on the webinterface
* Fixed the regex that rendered links to previous actions to make it not render specials chars escaped in HTML
* Updated the website favicon(s) to make them render better
* Internal change: changed BigInt to CharFields for discord IDs
* Removed embed check from the automod as the check is not 100% accurate (tweets links are considered rich embeds by discord)

## 0.0.1 - 22/11/2018

### Added

* Migrated basic functions from DuckHunt community


# QuickStart: Setting up GetBeaned on your server

Quick primer to get your server protected quickly.

### Adding GetBeaned to your server

First, we'll have to add GetBeaned to your server.&#x20;

#### Inviting the bot

Please click the following link to add [GetBeaned to your server](https://discordapp.com/oauth2/authorize?client_id=492797767916191745\&permissions=201714887\&scope=bot).

{% hint style="info" %}
Only server admins (`Administrators`) can add bots to a server. If you don't see your server in the list, please double-check that you are logged on the right discord account
{% endhint %}

Select your server in the list and click the Authorise button

![Please make sure to select the right server :)](/files/-Lh_NwJrAY_t6iqn3H-4)

#### Moving the bot role higher in the list

Return to the discord application. Click on your server name to open the server settings. Under roles, select the GetBeaned role and move it to the top.

{% hint style="info" %}
The bot role needs to be higher than the top user role if you want GetBeaned to be able to kick or ban them.

You don't have to place GetBeaned higher than admins.
{% endhint %}

Click on the green `Save` button, then return to the chat.

#### Verify that the permissions are valid

Use the `+doctor`command somewhere on the server and pay attention to the`Bot Permissions` embed.

![](/files/-Lh_PPNxAi88Gkdr8N2b)

{% hint style="warning" %}
If it's red, it means that the bot has some permissions problems on some of the channels. Please check that GetBeaned has the necessary permissions in channels that you want to protect.

However, you don't have to give GetBeaned permissions to restricted channels where only trusted users can speak.
{% endhint %}

### Setup the bot to moderate the server

#### Permissions

First, add yourself as a [server admin](/bot-documentation/levels-and-permissions). Use the `+add_admin @your_discord_name`command to be able to edit settings on the web interface.

If you have moderators, you can add them all using the command `+add_moderator [a role ID]`to give them moderation permissions on the bot.

#### Enable the Auto-functions

On discord, type `+urls`to get a direct link to your server webpage. If you aren't logged in on the website, do that by clicking the "Login" button on the top bar.

![Click on the link to access your server settings](/files/-Lh_R6NsYUsBgr2jP5B3)

{% tabs %}
{% tab title="The AutoMod" %}
The automod is already configured. You just have to enable it by clicking the box near Enable AutoMod

![Click that button. Don't hit submit yet. Check the other tabs first :)](/files/-Lh_Ri5uPkAcXbPjyMp8)
{% endtab %}

{% tab title="The AutoTriggers" %}
If your server is targeted by spam bots, or you have/plan to have public invites, enable the AutoTriggers for maximum protection.

![](/files/-Lh_TEojj0j2cqg1ZDf7)
{% endtab %}

{% tab title="The AutoInspect" %}
You want to kick accouns that are gonna spam your server even before they start ? **GetBeaned** can do that too! Enable AutoInspect to protect yourself from spam of known bad user bots. Turn on each type of but you want to be protected of by selecting the correct thing for the bot to do : warn admins, kick or ban the user.

{% hint style="warning" %}
To use AutoInspect, you'll need to setup the logs on your server too. This is described in detail over the Enable Logging page. \
\
Tl;Dr: Get the channel ID of a channel you want to log in (`+channel_id`can help you), and copy/paste it in the Logs settings page under **AutoInspect logs**. Don't forget to enable logs with the checkbox too.&#x20;
{% endhint %}
{% endtab %}

{% tab title="Optional functions" %}

#### Thresholds

Check the box to enable **thresholds**. This will make Getbeaned kick/ban repeat offenders without action from your mod staff

#### DeHoister

Are you tired of users adding a `!`to thier name to appear at the top at the user list ? If that sounds like a problem for you, wait no more and enable the **DeHoister** to remove these pesky ! from users nicknames.
{% endtab %}
{% endtabs %}

Click the `Submit`button to save your settings.

#### Quick check

Return to your discord server and type `+doctor` to be sure that everything is now correctly setup.

### Done!

You've finished this tutorial. Your server is now protected by **GetBeaned**. For more info, please join the [support server](https://discord.gg/CnmwaZB).


# Report spambots that get past the filter

### Double-check that filters are activated

Run the simple `+doctor` command and check that `AutoInspect` is enabled and that `AutoMod` and `AutoTriggers` are also green.

{% hint style="success" %}
&#x20;If you can, please use the web interface to ensure that specific `AutoInspect`and `AutoTriggers` are also activated.&#x20;
{% endhint %}

### Enable Developer mode

If you haven't already, in your Discord client settings, under Appearance, enable the Developer Mode.

![Ensure that "Developer mode" is checked!](/files/-LhdlYGEx8_1SrTIrHJz)

### Get the message ID

Select a message that got past the filter. You should see three points at the end of the message if you are on a computer. On a phone, long press the message.

![Click Copy ID to copy the message ID to the clipboard](/files/-Lhdm39fMLIyKF2d9OlQ)

Select Copy (Message) ID to copy the ID to the clipboard.

### Get message information

Use the command `+message_info [the message ID you copied]` to ask the bot for logs and information about the message. Take a screenshot of the message sent by the bot.

### Send your report

Send your screenshot and some explanation on what was wrong on the #support channel on the [Support Server](https://discord.gg/Qr59gMH).


# Using the purge command to remove messages

The purge command is a level 2+ (trusted) command to remove messages matching one or more criteria.

This command is available in two modes. The **shortcut** mode and the **custom** mode. The shortcut mode allows you to remove certain types of messages easily, while the custom mode lets you choose messages to remove in a much more powerful and specific fashion.

### Shortcut mode

General syntax: `+purge [type of removal] <number of messages to search>`

#### Embeds

Remove message that contains embeds:

![This is an embed that would get removed (rich embed)](/files/-Li-6Dv0YHc9JGH6m6Ff)

![Link previews are also removed by the embed filter](/files/-Li-6gaRMAV0rzrRSlqs)

#### Files

Remove messages with attachments linked to them.

#### Images

Remove messages containing images.&#x20;

#### All

Remove any message. For example, to remove the last 10 messages, use `+purge all 10`

#### User

Remove messages from a specific user. For example, to remove the last 10 messages of @User, type `+purge user @User 10`

#### Contains

Remove messages containing a substring (at least 3 chars long).  For example, to remove every message containing OwO, type `+purge contains OwO`

#### Bot

Remove messages from bots and bot commands. To remove messages from bots only, use `+purge bot` while you can use `+purge bot + 35` to remove messages that either are from bots or start with + in the last 35 messages.

#### Emoji

Delete messages containing custom emojis.&#x20;

#### Reactions

Remove reactions from messages that have them. This **does not** remove messages, just reactions.

### Custom mode

Need more power to remove messages. Behold the custom mode!

This command uses a powerful "Command Line" syntax. Most options support multiple values to indicate 'any' match. If a value has spaces, it must, as always, be quoted. \
The messages are by-default deleted only if all options are met (AND). You can use the `--or`flag that will delete messages if any of the conditions is met.

The following options are valid. They all take arguments.

| Option       | Explanation                                                                       |
| ------------ | --------------------------------------------------------------------------------- |
| `--user`     | A mention or a name of the user to                                                |
| `--contains` | A substring to search for in the message                                          |
| `--starts`   | A substring that a message must start with                                        |
| `--ends`     | A substring that a message must end with                                          |
| `--search`   | The number of messages to search for on the channel. Default to 100, max is 2000. |
| `--after`    | Messages must come after this message ID                                          |
| `--before`   | Messages must come before this message ID                                         |

You can also use the following flags, with no arguments.

| Flag          | Explanation                                   |
| ------------- | --------------------------------------------- |
| `--bot`       | Check if the message author is a bot          |
| `--embeds`    | Check if the message contains an embed        |
| `--files`     | Check if the message contains files           |
| `--emoji`     | Check if the message has custom emojis        |
| `--reactions` | Check if the messages has reactions           |
| `--or`        | Use the logical OR for all options            |
| `--and`       | Use the logical AND for all options (Default) |

Here are some examples to get you started.

* `+purge custom --emoji --starts "lol" --starts "xd"` Remove messages that contains custom emojis and start with lol or xd.
* `+purge custom --starts "Bonjour" --ends "au revoir" -- or`Remove messages that start with "Bonjour" or end with "au revoir".&#x20;
* `+purge custom --reactions`Remove messages that have been reacted to.
* `+purge custom --embeds --bot` Remove messages from bots that also contain embeds.

�


# Setting up logging

### How does the logging work ?

Logging events is done by a specific component of GetBeaned. Every time discord notifies the bot, a special embed is crafted for your enabled logging channels and sent to the right channel. The bot uses information it can retrieve from discord (authors, IDs, ...) and information it downloaded previously.

### What can be logged ?

* Moderation actions (`+ban`, `+kick`,`+warn`,`+mute`,`+note`,...)
* People joining and leaving the server
* Nicknames changes and username changes
* Message edits\*
* Message deletions\*
* AutoInspect actions

{% hint style="warning" %}
\* Only some editions and deletions can be logged due to technical limitations.
{% endhint %}

### How to configure logging ?

![](/files/-Lh_uGwDks3WtmJrmVUW)

#### Step 1: Create a channel to log messages on

On the Discord client, create a new channel called `#mod-log`(or anything else really, but we will use #mod-log for this example)

Double-check that GetBeaned and moderators are the only groups allowed to write and embed links in that channel.

Now, type `+channel_id`to get the channel ID and copy it to your clipboard.

#### Step 2: Enable logging

On your server settings page (`+urls`to get the url of the page), go the the `Logs` tab and paste the channel ID on the log(s) you want GetBeaned to post on that channel.

#### Step 3: Check that everything is okay

Back on Discord, use the `+doctor`command to double-check that logging channels are setup correctly!

#### Congratulations!

You have successfully setup logging on your server.


# List of commands

On this page, we'll use the default prefix of `+`. Of course, your server prefix may have been changed on the web interface. In any case, add the correct prefix before starting a command.

{% hint style="info" %}
To understand the list of commands, you'll have to remember the following:

* Arguments between brackets are `[required]`
* Arguments in greater-than signs are `<optional>`
* Arguments in curly braces are`{greedy}`, meaning you can have one or more argument of the same type.

For example, in the command `+ban {users} <reason>`, you can ban one or more users with an optional reason.
{% endhint %}

{% tabs %}
{% tab title="Users" %}

| Command                 | Explanation                                                                                                                |
| ----------------------- | -------------------------------------------------------------------------------------------------------------------------- |
| `+help`                 | Get a link to this webpage                                                                                                 |
| `+urls <target_member>` | Get the server online logs, and webpages about a specific user.                                                            |
| `+invite`               | Get a bot invite link to [install GetBeaned on your server](/tutorials/tutorial-setting-up-your-server-for-the-first-time) |
| `+info`                 | Show some information about the bot like the author and essential commands                                                 |
| `+level`                | Command to see your [permissions level](/bot-documentation/levels-and-permissions) on a server.                            |
| `+ping`                 | Check the health of the connection between the bot and Discord.                                                            |
| `+permissions_check`    | Run a quick check of the bot permissions on the channel, useful to figure out why the bot isn't working properly.          |
| `+hierarchy [user]`     | Inspect the hierarchy between you and another user and inform you of any problems that may arise using commands on them.   |
| `+doctor`               | Make the bot deeply check it's configuration and report any potential problem found.                                       |
| `+channel_id`           | Gives you the ID of a channel. Used to configure logs.                                                                     |
| `+suggest`              | Suggest a feature to add to the bot. Can also be used to report bugs.                                                      |
| {% endtab %}            |                                                                                                                            |

{% tab title="Trusted" %}
Trusted users can also use normal Users commands

| Command                               | Explanation                                                                                                                                      |
| ------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
| `+note {users} [reason]`              | Add a simple note to the user profile. Doesn't do anything by itself, this mostly serves as a reminder from staff or for very minor infractions. |
| `+warn {users} <reason>`              | Warns users on the server. While warns by themselves don't do anything, thresholds apply to warns and users may get kicked if they reach it.     |
| `+message_info`                       | Inspect a message sent by an user and display some information like the automod logs for this message, the user profile, etc.                    |
| `+snipe`                              | Recover the last deleted message from the channel. Useful if you had seen some spam on the channel that quickly got deleted.                     |
| `+purge {arguments}`                  | Remove messages in bulk. See the [command documentation](/tutorials/using-the-purge-command-to-remove-messages) for more information.            |
| `+rename [user] <nickname>`           | Rename a user with an optional nickname. If nickname is not specified, removes the nickname                                                      |
| `+inspect [user/message/channel/...]` | Provides information about a given ID or name, and try to guess what that object is.                                                             |
| `+fake_message [user] [message]`      | Sends a message "as if" the specified user sent it. Used as a test for the `+snipe` command.                                                     |
| {% endtab %}                          |                                                                                                                                                  |

{% tab title="Moderators" %}
Moderators can also use any command Trusted users can.

| Command                            | Explanation                                                                                                                                                                                                                                          |
| ---------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `+ban <duration>{users} <reason>`  | Ban the users provided in the command, with an optional reason.                                                                                                                                                                                      |
| `+softban {users} <reason>`        | Ban and unban the users given to remove the recent messages they sent. You may add a reason to be displayed.                                                                                                                                         |
| `+kick {users} <reason>`           | Kick the users from your server. They will be able to rejoin using a new invite link.                                                                                                                                                                |
| `+mute <duration>{users} <reason>` | Mute users on the server. They won't be able to speak until unmuted or until they leave and rejoin the server. **This command requires a specific GetBeaned\_Muted role, that can be setup by server admins with the `+create_muted_role` command.** |
| `+unmute {muted_users} <reason>`   | Remove the GetBeaned\_Muted role from users, to let them talk again.                                                                                                                                                                                 |
| `+unban {banned_users} <reason>`   | Unban users from your server. They'll be able to rejoin using a new invite.                                                                                                                                                                          |
| `+automod_debug [message]`         | Analyse the message provided in the message argument. This will return a score for you to use.                                                                                                                                                       |
| `+automod_logs [message]`          | Returns the automod logs for a given message ID                                                                                                                                                                                                      |
| {% endtab %}                       |                                                                                                                                                                                                                                                      |

{% tab title="Admins" %}
Admins can also use any command Moderators can.

| Command                                | Explanation                                                                                                                                                                                                                                                                                                                                                                                                                           |
| -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `+add_admin {roles_or_users}`          | <p>Add the specified users to the admin rank on the bot, allowing them to access admin commands and edit server settings on the Web interface. <br>There are three ways to add admins (the <code>Administrator</code> permission, using roles or using users). If you want the admins you add <strong>to be able to edit settings</strong> on the web interface, <strong>you need to add them using users and not roles.</strong></p> |
| `+add_moderator {roles_or_users}`      | <p>Add the specified user to the moderator role on the bot. To remove users or roles from the ranks, use the web interface. <br>You can also give the Ban permission to users to make them moderators.</p>                                                                                                                                                                                                                            |
| `+add_trusted_member {roles_or_users}` | <p>Add members to the Trusted rank, giving them access to the Trusted commands. <br>You can also give the kick permission to users to make them Trusted.</p>                                                                                                                                                                                                                                                                          |
| `+create_muted_role`                   | <p>Create or update a GetBeaned\_Muted role to enable the <code>+mute</code>and <code>+unmute</code> commands on your server.<br> If you messed up the role permissions, re-running the command should fix the role.</p>                                                                                                                                                                                                              |
| `+import_bans`                         | Import your server bans on the Web interface for easy viewing and complete history. This can only be run once per server, and the command may take some time to run.                                                                                                                                                                                                                                                                  |
| `+dehoist_users`                       | Run the configured DeHoister on every member on the server.                                                                                                                                                                                                                                                                                                                                                                           |
| {% endtab %}                           |                                                                                                                                                                                                                                                                                                                                                                                                                                       |

{% tab title="Bot staff" %}
The commands shown are are only available to bot moderators.

If you aren't sure, you **aren't** a bot moderator.

| Command                 | Explanation                                                                                |
| ----------------------- | ------------------------------------------------------------------------------------------ |
| `+pm [user] [message]`  | Use the bot to send a private message to a user.                                           |
| `+end_pm`               | End your DM session with an user                                                           |
| `+cache_status`         | Show the status of the caches used by the bot.                                             |
| `+cache_cleanup`        | Cleanup the cache by removing expired entries immediately. May help freeing some ram.      |
| `+update_analytics`     | Send an updated Guild count to some bot lists. No personal information is sent by the bot. |
| `+refresh_user {users}` | Refresh users account information on the web interface.                                    |
| `+jsk`                  | See the [Jishaku docs](https://jishaku.readthedocs.io/en/latest/cog.html#commands)         |
| {% endtab %}            |                                                                                            |

{% tab title="Other" %}
VIPs are special users of the bot. While they don't get any special moderation level, they can access some commands reserved to them. There are sevral ways of becoming a VIP, most of them are detailed in the [VIP Servers](/bot-documentation/vip-servers) docs. Commands for VIP **must** be ran in the #vips channel of the GetBeaned Support Server

| Command             | Condition                  | Explanation                                                                                                                                                                 |
| ------------------- | -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `+make_vip [guild]` | VIP and owner of the guild | Give a given guild ID VIP perms on the bot. This will allow the guild to use special parameters. For more info, see the [VIP Servers](/bot-documentation/vip-servers) docs. |
| {% endtab %}        |                            |                                                                                                                                                                             |
| {% endtabs %}       |                            |                                                                                                                                                                             |


# Levels and permissions

To be done

Levels in **bold** are server-dependent. You might be level 5 on your server and level 1 elsewhere.

| Level | Description                                                               |
| ----- | ------------------------------------------------------------------------- |
| 10    | Bot owner (Eyesofcreeper)                                                 |
| 09    | Reserved for future use                                                   |
| 08    | Bot moderators                                                            |
| 07    | Reserved for future use                                                   |
| 06    | Reserved for future use                                                   |
| 05    | **Server owner**                                                          |
| 04    | **Server administrator**                                                  |
| 03    | **Server moderator**                                                      |
| 02    | **Trusted users**                                                         |
| 01    | **Normal members**                                                        |
| 00    | **Users banned from the bot (`+add_banned_member`**&#x6F;r global banned) |

�


# Topic Switches

Change GetBeaned actions based on the current channel by editing your channel topic.

To use a Topic Switch, add it anywhere in the topic of the desired channel.

| Switch                                 | Action                                                                                                          |
| -------------------------------------- | --------------------------------------------------------------------------------------------------------------- |
| `[getbeaned:disable_automod]`          | Disable the automod if it's enabled globally                                                                    |
| `[getbeaned:enable_automod]`           | Enable the automod even if it's disabled globally                                                               |
| `[getbeaned:disable_invite_detection]` | Disable detecting invites in a channel                                                                          |
| `[getbeaned:disable_spam_detection]`   | Disable spam detection, leaving others checks working. \[BETA: Might not work forever]                          |
| `[getbeaned:disable_logging]`          | Disable logging in this channel. Deleted/Edited messages won't be logged to message logs.                       |
| `[getbeaned:auto_publish]`             | If the channel is a news/announcement channel, automatically crosspost/publish messages to subscribed channels. |


# VIP Servers

How to contribute to the bot developpement and unlock advanced functions.

{% hint style="success" %}
GetBeaned main features are free and will always be. VIP servers are available for admins that want more customization.
{% endhint %}

### What are VIP servers ?

VIP servers are servers that can access more advanced functions, such as

* Bad-words style filtering of **messages** and user**names/**&#x6E;ick**names** with custom lists and optional [regexes](https://regex101.com)
* Extended history of actions (who, and when, edited what)
* More features on request (`+suggest`)

To get a VIP server, you have to be added as a Donator on the GetBeaned server. There is **no donation minimum** to be eligible for VIP servers.&#x20;

### Why aren't these available for normal, non-vip servers ?

Most of these features either could be abused or are work-intensive and require powerful servers. As I have to pay for the servers, this is a way for people to support the bot and gain access to advanced features as a thanks for supporting my work.

### I can't pay, can I still get a VIP server ?

Yes, please send a message explaining why you think you'd use one on the [support server](https://discord.gg/gT5pdgP), we'll get back to you.


# Privacy policy

Last updated and effective: December 14, 2022&#x20;

This privacy policy applies to the GetBeaned discord moderation bot (the "Bot") and describes how we collect, use, and share information about you when you use the Bot. By using the Bot, you consent to the collection, use, and sharing of your information as described in this privacy policy.

### Information We Collect

When you use the Bot, we may collect certain information about you, including the following:

```
Your Discord user ID and username
Information about your interactions with the Bot, such as the commands you use and the moderation actions taken by the Bot
Any information that you voluntarily provide to us, such as feedback or support requests
```

We may also collect information about your device and internet connection, such as your IP address and browser type, for purposes such as preventing abuse and improving the Bot website.

### How We Use Your Information

We use the information we collect about you to provide, maintain, and improve the Bot. This may include:

```
Processing and responding to your support requests
Analyzing usage of the Bot to identify problems and improve the Bot's functionality
Enforcing the Bot's terms of service and other policies
Protecting the security and integrity of the Bot
```

We may also use your information for other purposes that we disclose to you at the time we collect the information or with your consent.

### Log Data Retention

We only store logs of your interactions with the Bot for a few days, after which they are automatically deleted. However, moderation actions taken by the Bot (such as kicks, bans, warns, and notes) are stored indefinitely.

### Your Rights

You have the right to request access to the information we collect about you and to request that we correct or delete any inaccurate information. You can also object to the processing of your information or withdraw your consent to our use of your information at any time. To exercise these rights, please contact us on our support server, or reach out to Eyesofcreeper#0001 directly.


# The GetBeaned API

Work in progress

## Add an user

<mark style="color:green;">`POST`</mark> `https://getbeaned.api-d.com/api/users/`

This endpoint allows you to upload an user data to the website. This is a required step to be able to add actions.\
\
The endpoint will update or create the user automatically.

#### Headers

| Name           | Type    | Description                                                         |
| -------------- | ------- | ------------------------------------------------------------------- |
| Update         | boolean | False if we don't want to update the user because the data is stale |
| Authentication | string  | Authentication token supplied on request.                           |

#### Request Body

| Name                          | Type    | Description                                                               |
| ----------------------------- | ------- | ------------------------------------------------------------------------- |
| discord\_default\_avatar\_url | string  | Default Discord CDN URL for the user avatar.                              |
| discord\_avatar\_url          | string  | Discord CDN URL to the PNG (static) or WEBP (animated) avatar of the user |
| discord\_discriminator        | integer | The user Discriminator (Excluding the `#`)                                |
| discord\_name                 | string  | Name of the user                                                          |
| discord\_id                   | boolean | Discord user ID                                                           |
| discord\_bot                  | boolean | Please set that to True if the user is a bot                              |

{% tabs %}
{% tab title="200 Cake successfully retrieved." %}

```javascript
{
 'status': 'ok',
 'message': 'User existed in database already',
 'result': '[User representation]'
 }
```

{% endtab %}

{% tab title="302 Error when saving the new user" %}

```javascript
{
    'status': 'error',
    'errors': ['List of errors']
}
```

{% endtab %}
{% endtabs %}

## API Users Counter

<mark style="color:blue;">`GET`</mark> `https://getbeaned.api-d.com/api/users/<int:guild_id>/<int:user_id>/counters/`

#### Path Parameters

| Name | Type   | Description |
| ---- | ------ | ----------- |
|      | string |             |

{% tabs %}
{% tab title="200 " %}

```
```

{% endtab %}
{% endtabs %}


