Перейти к содержанию

Структура файла

Один файл описывает одну функцию. Поместите файл в любое место внутри вашего function_directory, включая подпапку, и присвойте ей имя .yaml или .yml. Имя файла само по себе не имеет значения: имя функции берется из внутреннего поля name.

Определить одну пользовательскую функцию для каждого файла

Custom function file
name: my-function          # обязательно, должно быть уникальным и незарезервированным
run: "echo {{.args}}"      # обязательно, выполняемая команда
params:                    # необязательный список параметров
  - name: args             # обязательно для каждого параметра
    type: string           # необязательно: string (по умолчанию), int или bool
    required: true         # необязательно, по умолчанию false
    default: ""            # необязательное значение, если не указано
    description: Some text  # необязательная заметка для себя

Поля верхнего уровня

Поле Требуется Значение
name да Кнопки с именами используются в поле function
run да Команда для запуска с заполнителей для значений
params нет Список именованных значений, которые принимает функция

Функция без params вообще действительна: тогда run является фиксированной командой.

Поля параметров

Поле Требуется По умолчанию Значение
name да — Имя, используемое в {{.name}} внутри run
type нет string Тип значения: string, int или bool
required нет false Кнопка должна предоставить значение
default нет пустой Используется, когда значение не указано
description нет пустой Заметка для себя, не отображается в Telegram

type отмечен

Значения и значения по умолчанию, объявленные как int, должны содержать целое число. Ценности и значения по умолчанию, объявленные как bool, должны содержать допустимое логическое значение. Неверные значения сделать validate неудачным.

Клавиши кнопок соответствуют именам параметров

Напишите любой параметр прямо на одноименной кнопке. Такие имена, как url, host и lines работают вместе с command, path и args. См. Передача значений из кнопки .

Расположение папок

Вы можете организовать папку по своему усмотрению:

Подпапки тоже читаются

functions/
functions/
  disk.yaml
  logs/
    nginx.yaml
    app.yml

Все три файла загружены. Файлы с любым другим расширением пропускаются.

Похожие