# Создание функции

<figure><img src="/files/5e0X04DbR9ooF4h0XizY" alt=""><figcaption></figcaption></figure>

Вы можете создать функцию несколькими способами:

**1. Создать функцию с базовыми настройками (в ручную)**

* Подходит, если вы знаете, как должна работать функция.
  * **Название функции** — укажите, как будет называться ваша функция.
  * **Описание** — кратко опишите, что делает эта функция.
  * **Параметры** — задайте входные данные, которые функция будет принимать.

Воспользуйтесь рекомендациями по названию функции, [клик тут](https://doc.nextbot.ru/functional/functions/create-function#rekomendacii-po-nazvaniyu-funkcii)

2. **Генерация функции с помощью ИИ**

* Если вам нужна помощь в создании функции, вы не уверены, что правильно задали название функции, описание и заполнили параметры, тогда воспользуйтесь опцией **"Сгенерировать функцию с помощью ИИ"**.
* Опишите, что должна делать ваша функция, и ИИ предложит готовый вариант.
* Проверьте и при необходимости отредактируйте сгенерированный результат.

### **Генерация функции с помощью ИИ**

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

С помощью этой опции вы можете легко создать готовую функцию для вашего проекта. Просто опишите, что должна делать функция, и система автоматически сгенерирует ее с настройками.

#### Как это работает:

1. Начните описание со слов **"Необходимо создать функцию"** и кратко объясните её задачу.
2. Система проанализирует ваш запрос и подготовит профессиональную функцию.

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

*Пример: "Необходимо создать функцию для отправки уведомлений оператору, если клиент испытывает трудности с выбором товара"*\
\
Жмем на кнопку "Создать функцию".

{% hint style="info" %}
Если хотите, чтобы описание функции было на русском (или другом языке), добавьте в описание:\
\&#xNAN;**"Используй русский язык для описания функции"** (или укажите нужный язык).
{% endhint %}

Если результат вас устраивает, то нажмите на кнопку "Применить функцию".

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

После генерации вы сможете отредактировать параметры функции — удалить лишние или изменить.

Порядок параметров функции можно поменять перетаскиванием. Доступно только в десктоп версии браузера

### Создание функции по коду из буфера обмена

{% hint style="info" %}
Чтобы **скопировать / вставить / дублировать функцию** внутри Nextbot, откройте нужную функцию, нажмите кнопку копирования, затем выберите **"Добавить функцию"** → **"Создать по коду из буфера обмена"**.
{% endhint %}

Для создания функции по коду из буфера обмена:

1. Откройте нужную функцию и нажмите на кнопку копирования, чтобы сохранить код функции в буфер обмена.<br>

   <div align="left"><figure><img src="/files/v3s3ub3X1Vzs18FI4wEf" alt=""><figcaption><p>Копирование функции</p></figcaption></figure></div>
2. После копирования в правом верхнем углу появится сообщение о том, что код функции скопирован в буфер обмена.
3. Нажмите на кнопку "Добавить функцию"

<div align="left"><figure><img src="/files/mbYq6bXjW3GcHBanZme2" alt=""><figcaption></figcaption></figure></div>

4. Нажмите на кнопку "Создать по коду из буфера обмена"

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

5. После этого будет создана идентичная функция со всеми параметрами и настройками. Изменится только название: к нему автоматически добавится цифра.\
   \
   Например: была скопирована функция save\_user\_data, у функции, созданной по коду из буфера обмена, название будет save\_user\_data\_1

### Модифицировать функцию

С помощью данного функционала можно оптимизировать, дополнить и улучшить функцию.

Опишите, что нужно поменять в функции. ИИ изучит ваш запрос и попробует его улучшить, сохраняя основную логику.

{% hint style="info" %}
Но учтите: ИИ иногда может ошибаться или не сразу правильно понять ваш запрос. Если результат вас не устроит — уточните пожелания и попробуйте снова.
{% endhint %}

### **Рекомендации по названию функции**

**Название функции (пишем на английском языке).** В это поле введите название функции, которое будет отображаться в списке функций.

* Название должно быть уникальным и осмысленным, чтобы его легко можно было найти и понять его назначение.
* Используйте только английские символы и символ “\_” для разделения слов.
* Название должно полностью соответствовать описанию функции и отражать его суть.

### **Описание функции**

В это поле введите краткую инструкцию на русском или английском языке. Инструкция должна содержать конкретное действие, которое должен совершить ИИ-агент при выполнении данной функции.

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

#### **Примеры хороших названий и описаний**

Название: **save\_user\_data**\
Описание: Сохрани данные пользователя, например имя, телефон и описание запроса для дальнейшего взаимодействия

Названи&#x435;**: send\_notification**\
Описание: Отправь уведомление менеджеру.

Название: **get\_info\_from\_database**\
Описание: Получить информацию из базы данных

#### Примеры плохих названий и описаний:

* **Название:** func123

  **Описание:** Делает что-то.
* **Название:** PROCESS

  **Описание:** Выполняет процесс. *(Неясно, какой именно процесс выполняется.)*
* **Название:** DATA

  **Описание:** Сохраняет данные. *(Описание слишком общее, не понятно, какие данные сохраняются)*
* **Название:** telefon\_nomer\
  **Описание:** Номер телефона


---

# Agent Instructions: 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://doc.nextbot.ru/functional/functions/create-function.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.
