> For the complete documentation index, see [llms.txt](https://themis-bot.gitbook.io/themis-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://themis-bot.gitbook.io/themis-docs/general/themis-features.md).

# Themis Features

## Anti-Webhook

We stand for general server security and therefore offer a completely free solution. Webhooks have become a critical parameter among large NFT projects, which have been repeatedly exposed to waves of hacks. To spread phishing links, attackers used compromised moderation and administration accounts and webhooks.&#x20;

<figure><img src="/files/6sOAkj3f5rWGC8VnDz95" alt=""><figcaption><p>Anti-Webhook Code</p></figcaption></figure>

The algorithm is simple, it detects the creation of a new webhook by a user who should not be creating webhooks and deletes it. In addition, Themis removes roles from that user, thereby quarantining it.

In addition, I've created an open-source bot to prevent webhook attacks. You can clone the repository and run the bot yourself.

## Anti-Spam

Due to the phenomenally increased popularity of Discord, spam has become an integral part. Although Discord actively discourages such accounts, attackers still manage to find victims. That's why we decided to develop an algorithm able to find and eliminate spam accounts quickly and safely.

<figure><img src="/files/acJs85PtXh9SM142UTVl" alt=""><figcaption></figcaption></figure>

We are particularly proud of the ease of set-up, as you only need to press one button! This feature is completely free and works effectively regardless of subscription.

## Verification

Raiding is commonplace in Discord and has led to major server outages and spamming becoming more frequent. There are different solutions from reaction roles, to captcha bots or verification via third parties. However, each of these solutions has advantages and disadvantages. Let's say captcha verification has either too trivial and simple tasks, or the interface is not user friendly.&#x20;

Themis comes with user-friendly captcha verification, which will give you not only easy and flexible customisation, but also security for your server. After all, auto-joiners will now not be able to automatically pass verification.

<figure><img src="/files/DHBWsVXoU0f5dnu11YVy" alt=""><figcaption></figcaption></figure>

{% hint style="danger" %}
**DANGER!!!**

Themis never asks you to scan a QR code or entering another website to access a specific server.
{% endhint %}

If we look deeper into captcha verification, we may find some weaknesses in this kind of protection. Namely, the automatic solution of the captcha using ML. At the moment, this is not a critical problem, but attacker software is gradually improving and some are adopting more sophisticated algorithms.

In order to learn and improve protection, I've studied captcha contructors/generators and some automated solver methods. Namely, an OCR model with a neural network in TensorFlow to read the captcha. Therefore, we tried to create a kind of captcha that would be harder for machine learning and hence more knowledge and effort to create the model.![](/files/4jThvo35CSZ5aczPB5J7)

However, almost any user-friendly captcha can be solved using a neural network. Therefore, we will use a more dynamic captcha using different constructors, thereby creating a large number of variations difficult for machine learning.

Additionally, Themis can send rules embed message. This message is fully customisable and you can set up to 5 custom rules! It will has the following look:&#x20;

<figure><img src="/files/eN3a2wqGtdhU4QFiOVQ6" alt=""><figcaption></figcaption></figure>

And that's not all! Would you like to add a message or announcement before verification? Easy! You can now customise a fully personalised embed message.

<figure><img src="/files/YRgqDCvW3yjX0AdRR8OG" alt=""><figcaption></figcaption></figure>

## Anti-Nuke

Critical function to protect the server. In the nutshell, Themis creates patterns of user behaviour and when divergence occurs, the protection mechanism (we call it Panic Mode) is triggered. The pattern consists of different characteristics of the user's actions. For example, it may be the number of channels created or messages sent. Themis creates a user profile and uses it to determine if the user's behaviour has changed. This has been called the Flagging System.&#x20;

#### Flagging System

Under the hood, Themis will give you a 'flag' if you break one of the pattern parameters. On further divergence, triggers are geometrically triggered and Themis enables a protection mode which is flexibly configurable.&#x20;

<figure><img src="/files/oj4npoMJsUtpaN1T4md2" alt=""><figcaption></figcaption></figure>

Once Panic Mode has been triggered, Themis will send a report and notify the server host of the incident. Depending on the Panic Mode setting, you will be given various options.

{% hint style="info" %}
Note that protection mode will not be activated if Panic Mode was not enabled during the initial setup.
{% endhint %}

#### Panic Mode

The Panic mode setting has several variations and can be used for different degrees of protection. If the roles originally created do not have critical permissions, Panic Mode can be relaxed and vice versa. However it is strongly recommended that a server shutdown for Panic Mode is used, as this will ensure full protection and avoid critical consequences.

<figure><img src="/files/4hi3K3KO3Hf0nci8ZfGC" alt=""><figcaption></figcaption></figure>

Panic Mode has 3 options:

<table><thead><tr><th width="173.33333333333331">Option</th><th width="181">Status</th><th>Action</th></tr></thead><tbody><tr><td>Delete Message</td><td>Enabled | Disabled</td><td>Deletes all messages sent by the user during the divergent behaviour period</td></tr><tr><td>Revoke Perms</td><td>Enabled | Disabled</td><td>Revoke compromised account permissions to quarantine it</td></tr><tr><td>Server Lock</td><td>Enabled | Disabled</td><td>Revoke access to all channels for verified users (you can choose any role) to avoid spreading spam and destroying the server. This option is particularly effective in the case of more than one account being compromised.</td></tr></tbody></table>

## Fake Detection

Themis uses 2 types of anti-imposter protection: Global Dictionary and Local Dictionary. By default, Themis uses the Global Dictionary which contains a large number of spam bots names that we've collected over a year. However, the Local Dictionary is more flexible, allowing you to customise security by yourself.&#x20;

<figure><img src="/files/IYrvDvDS3K92jJlR1ZoM" alt=""><figcaption></figcaption></figure>

Global Disctionary has not been published, as it is of critical importance for security. However, the Local Dictionary has a local effect and will only be applied on the server where it has been activated.&#x20;

A preview of the local dictionary will be available via the installation menu, but you can export the full dictionary via the appropriate button.

<figure><img src="/files/iWAzn3OCRCfopBAZWGdd" alt=""><figcaption></figcaption></figure>

Export is available in three options CSV, TXT and XML, selectable via the button.

<figure><img src="/files/lAEh0eRzzDsttzrBeLRt" alt=""><figcaption></figcaption></figure>

## Anti-Raid

A sudden increase in the number of accounts joining the server is most often a sign that a server is about to be raided. Raids have several negative consequences and one of them is increased spam activity. This problem is solved by Themis! Using a modified flagging system, Themis accurately detects bots and blocks them. Since servers have different metrics, Themis can dynamically adjust for any server, regardless of load or specifics.

In the present version, Themis has an 'out of the box' setting, so you don't have to worry about complexity, because you don't have to go into detail.

<figure><img src="/files/OGYKL9QskriXcAEymjkR" alt=""><figcaption></figcaption></figure>

In addition, in the admin logs, you will have a report on the size of the raid and a more detailed report on the raid.

<figure><img src="/files/GUqoRKYivDzYL99sricy" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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://themis-bot.gitbook.io/themis-docs/general/themis-features.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.
