> ## Documentation Index
> Fetch the complete documentation index at: https://new-cactus.den4iksop.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Команды

> Пользовательские команды в CactusLib

CactusLib предоставляет набор команд для управления вашими плагинами и самим собой. По умолчанию, все команды начинаются с префикса `.` (точка). Вы можете изменить этот префикс.

### <Icon icon="list-tree" size={24} iconType="solid" /> `.chelp [имя/id плагина | команда]`

Это основная и самая мощная команда. Она служит центральным узлом для просмотра и управления плагинами.

<ParamField path=".chelp">
  Показывает полный список установленных плагинов, разделенный на две категории:

  * Плагины, использующие CactusLib (с расширенными возможностями управления).
  * Обычные плагины.
    Вы можете переключаться между страницами, если плагинов много.
</ParamField>

<ParamField path=".chelp ИмяПлагина/id">
  Показывает подробную информацию о конкретном плагине: его описание, версию, автора и список его команд с описаниями.
</ParamField>

<ParamField body=".chelp команда">
  Если вы введете имя команды, `.chelp` найдет плагин, которому принадлежит эта команда, и покажет информацию о нем.
</ParamField>

### <Icon icon="slash-forward" size={24} iconType="solid" /> `.setprefix <префикс>`

Позволяет изменить префикс для всех команд.

<ParamField path="префикс" required type="1 символ">
  Новый префикс для системы команд CactusLib.

  <Warning>Не рекомендуется выставлять буквы, т.к. с ними бывают баги.</Warning>

  * **Пример:** `.setprefix /`
    После выполнения этой команды все команды нужно будет вызывать через `/`, например, `/chelp`.

  <Note>Вернуть префикс или просто изменить также можно в настройках плагина.</Note>
</ParamField>

### <Icon icon="hexagon" size={24} iconType="solid" /> `.logs [уровень] [id плагина] [время]`

Команда, фильтрующая логи по параметрам. Показывает логи работы плагинов.

<ParamField path="уровень" type="str">
  Уровень логов.
  `DEBUG`, `INFO`, `WARN`, `ERROR`.
</ParamField>

<ParamField path="id плагина" type="str">
  ID плагина.
  <Warning>Регистр ID также важен. Если у плагина ID `Test_Plugin`, то `test_plugin`, `testplugin` и другие варианты не будут работать.</Warning>
</ParamField>

<ParamField path="время" type="int (seconds)">
  Время, за которое будут собраны последние логи (в секундах).
</ParamField>

* **Пример:** `.logs ERROR cactuslib 300` - покажет все ошибки из логов плагина `cactuslib` за последние 5 минут.

***

### <Icon icon="code" size={24} iconType="solid" /> `.eval <python код>` (`.e`)

Выполняет произвольный Python-код. Есть поддержка `print` функции.

<Warning>Эта команда предназначена **только для опытных пользователей и разработчиков**. **Некорректное** использование может привести к **ошибкам** или **нестабильной работе** приложения/плагинов.</Warning>

<Tabs>
  <Tab title="В ответ на .py файл с кодом">
    Команду можно писать в ответ на файл с кодом. Бывает полезно, когда нужно протестировать большой кусок кода, который будет не очень пихать в сообщение.

    <Icon icon="circle-play" size={16} iconType="solid" /> [Видео-демонстрация](/videos/eval_to_file.mp4)
  </Tab>

  <Tab title="В ответ на сообщение с кодом">
    Команду можно писать в ответ на сообщение с кодом, не копируя и не вставляя сам код.

    <Icon icon="circle-play" size={16} iconType="solid" /> [Видео-демонстрация](/videos/eval_to_msg.mp4)
  </Tab>

  <Tab title="Код после команды">
    Обычное выполнение кода.

    <Frame caption=".e import math; math.sqrt(10000)">
      <img src="https://mintcdn.com/dev-catchillden4ik/6FBp2CJf2vMP66uc/images/eval_example1.png?fit=max&auto=format&n=6FBp2CJf2vMP66uc&q=85&s=1fc314b02a155afe0bc3dbb20506b2df" width="400" data-path="images/eval_example1.png" />
    </Frame>

    <Frame caption=".e 5*60 | .e from client_utils import get_last_fragment as g; g()">
      <img src="https://mintcdn.com/dev-catchillden4ik/6FBp2CJf2vMP66uc/images/eval_example2.png?fit=max&auto=format&n=6FBp2CJf2vMP66uc&q=85&s=7986f8096bf6f3c00a1e266e50d6763d" width="400" data-path="images/eval_example2.png" />
    </Frame>

    <Frame caption=".e print(&#x22;Hello&#x22;)">
      <img src="https://mintcdn.com/dev-catchillden4ik/6FBp2CJf2vMP66uc/images/eval_example3.png?fit=max&auto=format&n=6FBp2CJf2vMP66uc&q=85&s=8066e6ab631ec4b6fb36a5a401b6c8b0" width="400" data-path="images/eval_example3.png" />
    </Frame>
  </Tab>
</Tabs>

***

<Note>
  Если **результат** выполнения, **ошибка** или **вывод** (`print`) будут **слишком велики** для одного сообщения, они будут помещены в отдельный файл.

  <img src="https://mintcdn.com/dev-catchillden4ik/6FBp2CJf2vMP66uc/images/eval_result_file.jpg?fit=max&auto=format&n=6FBp2CJf2vMP66uc&q=85&s=ed51dfb535b6a1b330d4e2469eedff28" width="400" data-path="images/eval_result_file.jpg" />

  <img src="https://mintcdn.com/dev-catchillden4ik/6FBp2CJf2vMP66uc/images/eval_error_file.jpg?fit=max&auto=format&n=6FBp2CJf2vMP66uc&q=85&s=4b4d84f9743a4131f7ec262ae9e62efd" width="400" data-path="images/eval_error_file.jpg" />

  <img src="https://mintcdn.com/dev-catchillden4ik/6FBp2CJf2vMP66uc/images/eval_output_file.png?fit=max&auto=format&n=6FBp2CJf2vMP66uc&q=85&s=c4fb191eed75f0c81c95e9a0c58db849" width="400" data-path="images/eval_output_file.png" />
</Note>

***

### <Icon icon="file-export" size={24} iconType="solid" /> `.plf <имя/id плагина>`

Отправляет файл с исходным кодом (`.plugin`) указанного плагина в текущий чат.
