На этой странице:
Функции общего назначенияdel(varName string)Назначение: удаление локальной или модульной переменной. Аргументы:
Возвращаемое значение: отсутствует.
setClientTimezoneOffset(offset int)Назначение: изменяет текущее смещение временной зоны собеседника бота. Аргументы:
Возвращаемое значение: отсутствует. Примечание: вызов этой функции также приведёт к изменению значений системных переменных now, today и time согласно новой временной зоне.
asBool(obj any) boolНазначение: преобразует аргумент к булеву значению. Аргументы:
Возвращаемое значение: булево значение. Примечание: в BPL все значения могут быть преобразованы к булеву типу.
asString(obj any) stringНазначение: преобразует аргумент к строковому значению. Аргументы:
Возвращаемое значение: строковое значение. Примечание: в BPL все значения могут быть преобразованы к строковому типу.
asInt(obj any) intНазначение: преобразует аргумент к целочисленному значению. Аргументы:
Возвращаемое значение: целочисленное значение, 0 в случае невозможности преобразования.
asFloat(obj any) floatНазначение: преобразует аргумент к вещественному числу. Аргументы:
Возвращаемое значение: вещественное число, 0 в случае невозможности преобразования.
Математические функцииmath.pos(num mixed) numberНазначение: фактически преобразует аргумент к числу. Эквивалент унарной операции "+". Аргументы:
Возвращаемое значение: число.
math.neg(num number) numberНазначение: меняет знак числа. Эквивалент унарной операции "-". Аргументы:
Возвращаемое значение: число со знаком обратному исходному.
math.inv(num number) numberНазначение: инверсия бит числа. Эквивалент унарной операции "~". Аргументы:
Возвращаемое значение: инвертированное число.
math.not(num number) boolНазначение: логическое отрицание числа. Эквивалент унарной операции "!". Аргументы:
Возвращаемое значение: true, если num не равно 0 и false в противном случае.
math.add(num1 number, num2 number, precision int = 12) numberНазначение: сложение чисел. Эквивалент бинарной операции "+". Аргументы:
Возвращаемое значение: сумма чисел.
math.sub(num1 number, num2 number, precision int = 12) numberНазначение: разность чисел. Эквивалент бинарной операции "-". Аргументы:
Возвращаемое значение: разность чисел.
math.mul(num1 number, num2 number, precision int = 12) numberНазначение: произведение чисел. Эквивалент бинарной операции "*". Аргументы:
Возвращаемое значение: произведение чисел.
math.div(num1 number, num2 number, precision int = 12) numberНазначение: частное чисел. Эквивалент бинарной операции "/". Аргументы:
Возвращаемое значение: частное чисел.
math.idiv(num1 number, num2 number) intНазначение: целочисленное деление чисел. Эквивалент бинарной операции "\". Аргументы:
Возвращаемое значение: целая часть частного чисел.
math.mod(num1 number, num2 number, precision int = 12) numberНазначение: остаток от деления двух чисел. Эквивалент бинарной операции "%". Аргументы:
Возвращаемое значение: остаток от деления.
math.pow(base number, power number, precision int = 12) numberНазначение: возведение числа base в степень power. Эквивалент бинарной операции "**". Аргументы:
Возвращаемое значение: результат возведения в степень.
math.sqrt(num number, precision int = 12) numberНазначение: извлечение квадратного корня. Аргументы:
Возвращаемое значение: квадратный корень либо ошибка, если число отрицательное.
math.round(num number, precision int) numberНазначение: округление числа до требуемого знака после запятой. Аргументы:
Возвращаемое значение: округлённое с заданной точностью число.
math.rand(min int, max int) intНазначение: генерация псевдослучайного числа в диапазоне от min до max включительно. Аргументы:
Возвращаемое значение: число в диапазоне от min до max.
Функции для работы со строкамиstr.len(str string) intНазначение: определение длины строки в символах. Аргументы:
Возвращаемое значение: целое число, равное количеству символов в строке.
str.lower(str string) stringНазначение: преобразование символов строки в нижний регистр. Аргументы:
Возвращаемое значение: строка, все символы которой находятся в нижнем регистре.
str.upper(str string) stringНазначение: преобразование символов строки в верхний регистр. Аргументы:
Возвращаемое значение: строка, все символы которой находятся в верхнем регистре.
str.ucfirst(str string) stringНазначение: преобразование первого символа строки в верхний регистр. Аргументы:
Возвращаемое значение: строка, в которой первый символ записан в верхнем регистре.
str.lcfirst(str string) stringНазначение: преобразование первого символа строки в нижний регистр. Аргументы:
Возвращаемое значение: строка, в которой первый символ записан в нижнем регистре.
str.letter(str string, index int) stringНазначение: получение указанного символа строки. Аргументы:
Возвращаемое значение: строка, соответствующая указанному символу, либо пустая строка, если символа с такой позицией не существует.
str.first(str string, index int = 0) stringНазначение: получение указанного символа строки, начиная с начала строки. Аргументы:
Возвращаемое значение: строка, соответствующая указанному символу, либо пустая строка, если символа с такой позицией не существует.
str.last(str string, index int = 0) stringНазначение: получение указанного символа строки, начиная с конца строки. Аргументы:
Возвращаемое значение: строка, соответствующая указанному символу, либо пустая строка, если символа с такой позицией не существует.
str.concat(str1 string, str2 string) stringНазначение: объединяет две строки в одну. Аргументы:
Возвращаемое значение: новая строка, состоящая из первой строки, справа от которой добавлена вторая строка.
str.sub(str string, offset int, length int = nil) stringНазначение: возвращает подстроку строки str, начинающейся с offset символа по счету и длиной length символов. Аргументы:
Возвращаемое значение: часть str или пустая строка.
str.join(arr Collection, separator string = "") stringНазначение: объединяет элементы коллекции (кортежа, списка или ассоциативного массива) в строку. Аргументы:
Возвращаемое значение: новая строка, составленная из всех элементов коллекции отделённых между собой разделителем.
str.split(str string, separator string = "", limit int = 0) ListНазначение: разбивает строку на части, используя separator в качестве разделителя. Аргументы:
Возвращаемое значение: список подстрок, на которые была разбита строка.
str.replace(str string, search string, replace string) stringНазначение: ищет все вхождения подстроки в строке и заменяет их на заданное значение. Аргументы:
Возвращаемое значение: новая строка, в которой все search заменены на replace.
str.match(str string, pattern string) boolНазначение: выполняет проверку данной строки регулярному выражению. Аргументы:
Возвращаемое значение: возвращает true, если строка соответствует регулярному выражению и false – в противном случае.
str.distance(str1 string, str2 string) numberНазначение: вычисляет степень сходства двух строк. Аргументы:
Возвращаемое значение: возвращает число от 0 до 1 включительно, определяющее степень сходства двух строк: 1 – строки эквивалентны, 0 – строки абсолютно разные.
Функции хэшированияhash.of(text string, algo string = "md5", binary bool = false) stringНазначение: вычисляет хэш строки согласно указанному алгоритму. Аргументы:
Возвращаемое значение: возвращает строку, содержащую вычисленный хеш-код в шестнадцатеричной кодировке в нижнем регистре. Если binary задан как true, то возвращается хеш-код в виде бинарных данных. В случае ошибки (например, если указан недопустимый алгоритм хэширования) возвращает пустую строку. Допустимые значения алгоритмов хэширования:
Примечание: если третий параметр true, то передавать возвращаемое функцией значение в качестве сообщения бота или его части нельзя. Это приведёт к падению бота.
Функции кодирования/декодированияcodec.base64Encode(str string) string
Аргументы:
Возвращаемое значение: возвращает строку, закодированную в Base64.
codec.base64Decode(str string) ?string
Аргументы:
Возвращаемое значение: возвращает раскодированную строку либо nil, если закодированная строка содержит символы, не входящие в алфавит символов Base64 кодировки.
codec.jsonEncode(value any) string
Аргументы:
Возвращаемое значение: возвращает значение в формате json.
codec.jsonDecode(value string) any
Аргументы:
Возвращаемое значение: возвращает раскодированное значение либо nil, в случае невозможности его раскодирования.
Функции для работы с датой и временемdt.add(d1 int|string, d2 int|string) stringНазначение: складывает две даты, заданные в виде строки либо как число секунд.
Аргументы:
Возвращаемое значение: возвращает новую дату и время в виде строки.
dt.sub(d1 int|string, d2 int|string) int|stringНазначение: вычисляет разность двух дат, заданных в виде строк либо количеством секунд.
Аргументы:
Возвращаемое значение: возвращает новую дату и время в виде строки либо число секунд – разность дат.
dt.format(dt int|string, format string) stringНазначение: форматирует дату согласно заданному формату. Аргументы:
Возвращаемое значение: строка даты в заданном формате. Допустимые параметры форматирования:
Примечание: если строка формата содержит символы, совпадающие с вышеперечисленными, но не являющиеся параметрами форматирования, то их следует экранировать с помощью символа обратного слэша "\".
dt.year(dt int|string) intНазначение: возвращает полное числовое представление года, не менее 4 цифр. Аргументы:
Возвращаемое значение: возвращает число, представляющее год аргумента даты dt. Примечание: если в аргумент dt передано только время, то в качестве даты будет расцениваться 1 января 1970 года, и таким образом возвращаемое функцией значение будет равно 1970.
dt.month(dt int|string) intНазначение: возвращает порядковый номер месяца. Аргументы:
Возвращаемое значение: возвращает число, представляющее месяц аргумента даты dt. Примечание: если в аргумент dt передано только время, то в качестве даты будет расцениваться 1 января 1970 года, и таким образом возвращаемое функцией значение будет равно 1.
dt.day(dt int|string) intНазначение: возвращает день месяца. Аргументы:
Возвращаемое значение: возвращает число, представляющее день месяца аргумента даты dt. Примечание: если в аргумент dt передано только время, то в качестве даты будет расцениваться 1 января 1970 года, и таким образом возвращаемое функцией значение будет равно 1.
dt.hour(dt int|string) intНазначение: возвращает часы в 24-часовом формате . Аргументы:
Возвращаемое значение: возвращает число, представляющее часы аргумента даты dt. Примечание: если в аргумент dt передана дата без времени, то возвращаемое значение будет равно нулю.
dt.minute(dt int|string) intНазначение: возвращает минуты. Аргументы:
Возвращаемое значение: возвращает число, представляющее минуты аргумента даты dt. Примечание: если в аргумент dt передана дата без времени, то возвращаемое значение будет равно нулю.
dt.second(dt int|string) intНазначение: возвращает секунды. Аргументы:
Возвращаемое значение: возвращает число, представляющее секунды аргумента даты dt. Примечание: если в аргумент dt передана дата без времени, то возвращаемое значение будет равно нулю.
dt.weekday(dt int|string) intНазначение: возвращает порядковый номер дня недели. Аргументы:
Возвращаемое значение: возвращает число, представляющее номер дня недели аргумента даты dt, от 0 (понедельник) до 6 (воскресенье). Примечание: если в аргумент dt передано только время, то в качестве даты будет расцениваться 1 января 1970 года, и таким образом возвращаемое функцией значение будет равно 3 (четверг).
date.nearFuture(day int) stringНазначение: возвращает ближайшую будущую к текущей дату по заданному дню. Аргументы:
Возвращаемое значение: возвращает ближайшую к day дату.
date.nearPast(day int) stringНазначение: возвращает ближайшую прошлую к текущей дату по заданному дню. Аргументы:
Возвращаемое значение: возвращает ближайшую к day дату.
date.future(day int) stringНазначение: возвращает дату, соответствующую указанному дню в следующем месяце. Аргументы:
Возвращаемое значение: дата в будущем.
date.past(day int) stringНазначение: возвращает дату, соответствующую указанному дню в прошлом месяце. Аргументы:
Возвращаемое значение: дата в прошлом.
time.nearFuture(minute int) stringНазначение: возвращает ближайшее будущее к текущему время по заданному количеству минут. Аргументы:
Возвращаемое значение: возвращает ближайшее к minute время.
time.nearPast(minute int) stringНазначение: возвращает ближайшее прошлое к текущему время по заданному количеству минут. Аргументы:
Возвращаемое значение: возвращает ближайшее к minute время.
time.future(minute int) stringНазначение: возвращает время, соответствующее указанному числу минут в следующем часе. Аргументы:
Возвращаемое значение: время в будущем.
time.past(minute int) stringНазначение: возвращает время, соответствующее указанному числу минут в прошедшем часе. Аргументы:
Возвращаемое значение: время в прошлом.
Функции по работе с очередью сообщений пользователяqueue.size() intНазначение: определение размера очереди сообщений пользователя. Аргументы: отсутствуют. Возвращаемое значение: число сообщений пользователя.
queue.last() ?UserMessageНазначение: возвращает последнее сообщение пользователя либо nil, если очередь сообщений пуста. Аргументы: отсутствуют. Возвращаемое значение: объект UserMessage или nil.
queue.first() ?UserMessageНазначение: возвращает первое сообщение пользователя либо nil, если очередь сообщений пуста. Аргументы: отсутствуют. Возвращаемое значение: объект UserMessage или nil.
queue.nth(index int) ?UserMessageНазначение: возвращает сообщение пользователя по его порядковому номеру, начиная с 1. Аргументы:
Возвращаемое значение: объект UserMessage или nil.
queue.lastNth(index int) ?UserMessageНазначение: возвращает сообщение пользователя по его порядковому номеру, считая с конца очереди. Последнее сообщение соответствует порядковому номеру 1. Аргументы:
Возвращаемое значение: объект UserMessage или nil.
Функции для работы с фактамиfact.save(context string, factName string, factValue mixed, botId string = nil, clientId string = nil)Назначение: сохраняет факт в базе фактов. Аргументы:
Возвращаемое значение: отсутствует.
fact.load(context string, factName string, botId string = nil, clientId string = nil) mixedНазначение: извлекает факт из базы фактов. Аргументы:
Возвращаемое значение: содержимое факта.
fact.delete(context string, factName string, botId string = nil, clientId string = nil)Назначение: удаляет факт из базы фактов. Аргументы:
Возвращаемое значение: отсутствует.
fact.query() FactQueryНазначение: возвращает экземпляр FactQuery для построения и выполнения запросов к базе фактов. Аргументы: отсутствуют. Возвращаемое значение: объект FactQuery.
fact.cond() FactQueryConditionНазначение: возвращает экземпляр FactQueryCondition для построения составных условий в запросах к базе фактов. Аргументы: отсутствуют. Возвращаемое значение: объект FactQueryCondition.
Функции для работы с таймеромtimer.start(time int, nodeId string) stringНазначение: запускает таймер обратного отсчёта. По истечении указанного времени бот осуществит переход на указанный узел (блок). Аргументы:
Возвращаемое значение: идентификатор таймера.
timer.stop(timerId string)Назначение: останавливает (удаляет) таймер обратного отсчёта. Аргументы:
Возвращаемое значение: отсутствует.
timer.stopAll()Назначение: останавливает (удаляет) все таймеры обратного отсчёта. Аргументы: отсутствуют. Возвращаемое значение: отсутствует.
Функции для работы с текстом на естественном языке (NLP)nlp.parse(message string|UserMessage) SentenceНазначение: парсит текст на естественном языке. Аргументы:
Возвращаемое значение: объект Sentence, содержащий информацию о всех намерениях и сущностях исходного сообщения. Примечание: данная функция извлекает из текста только сущности. Для работы с намерениями используйте функцию nlu.parse.
nlp.join(message1 string|UserMessage, message2 string|UserMessage) SentenceНазначение: объединяет два текста на естественном языке в одно и затем парсит его. Аргументы:
Возвращаемое значение: объект Sentence, содержащий информацию о всех намерениях и сущностях объединённого сообщения.
nlp.setPerception($sentence Sentence)Назначение: позволяет установить сообщение пользователя для обработки в других узлах (блоках) схемы бота. Аргументы:
Возвращаемое значение: отсутствует.
Функции для "понимания" естественного языка.nlu.parse(text string, agentId string, timezoneOffset int = 0, version int = 1) SentencePurpose: разбор текста на естественном языке. Выявление намерений и сущностей. Arguments:
Возвращаемое значение: объект Sentence.
Функции для работы с HTTPhttp.sendRequest(url string, method string, body any = nil, headers Map = nil) ResponseНазначение: отправляет HTTP запрос на указанный URL. Аргументы:
Возвращаемое значение: объект HTTP-ответа.
Примечание: для типов содержимого запроса json или xml значение body если оно является списком или ассоциативным массивом автоматически конвертируется в строку соответствующего формата. То же касается и тела ответа: если тип содержимого ответа json или xml, то строка тела ответа будет автоматически преобразована в список или ассоциативный массив. Ниже показаны типовые примеры преобразования:
http.request(url string = "", method string = "POST", body any = nil) RequestНазначение: формирует новый объект HTTP-запроса. Аргументы:
Возвращаемое значение: объект, содержащий информацию о HTTP-запросе.
Объект Requesttimeout(timeout int) RequestНазначение: задаёт максимально допустимое время запроса в секундах. Если запрос отрабатывается дольше указанного времени, то его выполнение прерывается. Аргументы:
Возвращаемое значение: объект, содержащий информацию о HTTP-запросе.
url(url string) RequestНазначение: задаёт URL запроса. Аргументы:
Возвращаемое значение: объект, содержащий информацию о HTTP-запросе.
method(method string) RequestНазначение: задаёт HTTP-метод запроса. Аргументы:
Возвращаемое значение: объект, содержащий информацию о HTTP-запросе.
body(body any) RequestНазначение: задаёт тело запроса. Аргументы:
Возвращаемое значение: объект, содержащий информацию о HTTP запросе.
header(header string, value string) RequestНазначение: добавляет HTTP заголовок. Аргументы:
Возвращаемое значение: объект, содержащий информацию о HTTP запросе.
headers(headers Map) RequestНазначение: задаёт HTTP-заголовки. Аргументы:
Возвращаемое значение: объект, содержащий информацию о HTTP-запросе.
file(fileId string, name string = "") RequestНазначение: добавляет файл для отправки по HTTP. Аргументы:
Возвращаемое значение: объект, содержащий информацию о HTTP-запросе.
send() ResponseНазначение: отправляет сформированный запрос. Возвращаемое значение: объект ответа сервера.
Объект ResponsestatusCode intНазначение: код статуса ответа.
body anyНазначение: тело ответа.
headers MapНазначение: заголовки ответа.
error stringНазначение: значение элемента error тела ответа или пустая строка, если такого элемента нет.
isError() boolНазначение: определение успешности ответа. Возвращаемое значение: возвращает true, если свойство error не пустое или код статуса больше или равен 400, иначе возвращает false.
isSuccessful() boolНазначение: определение успешности ответа. Возвращаемое значение: возвращает true, если свойство error пустое и код статуса меньше 400, иначе возвращает false.
hasHeader(header string) boolНазначение: определение наличия заголовка. Аргументы:
Возвращаемое значение: true, если заголовок с указанным именем существует, и false в противном случае.
header(header string) stringНазначение: получение значения заголовка. Аргументы:
Возвращаемое значение: значение заголовка с указанным именем или пустую строку, если такого заголовка нет.
toFile() stringНазначение: получение файла из HTTP-ответа. Возвращаемое значение: идентификатор загруженного файла.
Системные функцииsys.sleep(microseconds int)Назначение: останавливает работу бота на указанное количество микросекунд. Если количество микросекунд превышает 1 минуту, то пауза будет уменьшена до 1 минуты. Аргументы:
Возвращаемое значение: отсутствует.
Функции для работы с GPT-3.5 turbo (устаревшее)gpt3.ask(text string, temperature float = 0.7, useContext bool = false, maxTokens int = 0, timeout int = 0) string
Аргументы:
Возвращаемое значение: ответ нейросети в виде строки. Примечание: в случае использования контекста текущее сообщение отправленное chat gpt будет добавлено в переменную список $gpt3Context. Все предыдущие сообщения из этого списка будут переданы в качестве контекста запроса.
Функции для работы с GPT-4 (устаревшее)gpt4.ask(text string, temperature float = 0.7, useContext bool = false, maxTokens int = 0, timeout int = 0) string
Аргументы:
Возвращаемое значение: ответ нейросети в виде строки. Примечание: в случае использования контекста текущее сообщение отправленное chat gpt будет добавлено в переменную список $gpt4Context. Все предыдущие сообщения из этого списка будут переданы в качестве контекста запроса.
Функции для работы с GPTgpt.ask(model string, text string, temperature float = 0.7, useContext bool = false, maxTokens int = 0, timeout int = 0) string
Аргументы:
Возвращаемое значение: ответ нейросети в виде строки. Примечание: в случае использования контекста текущее сообщение отправленное chat gpt будет добавлено в переменную список $"context.{MODEL}". Все предыдущие сообщения из этого списка будут переданы в качестве контекста запроса.
gpt.createThread() string
Аргументы: отсутствуют. Возвращаемое значение: идентификатор чат сессии с ассистентом.
gpt.deleteThread(threadId string)
Аргументы:
Возвращаемое значение: отсутствует.
gpt.assist(assistantId string, threadId string, messages string|Collection, model string = '', instructions string = '', additionalInstructions string = '', temperature float = 0.7, maxTokens int = 0, timeout int = 0) string
Аргументы:
Возвращаемое значение: ответ нейросети в виде строки.
Функции для работы с YandexGPTygpt.ask(model string, text string, temperature float = 0.7, maxTokens int = 0, timeout int = 0) string
Аргументы:
Возвращаемое значение: ответ нейросети в виде строки. Примечание: возможны следующие значения для параметра model:
Кроме того к модели можно приписать справа через / её версию или указать latest для самой последней версии:
Функции для работы с атрибутами клиентаclients.setAttributes (clientId string, attributes array)Назначение: установка атрибутов клиента Аргументы:
Возвращаемое значение: void
Функции для работы с YCLIENTSДля работы с функциями yclients у вас должно быть установлено наше приложение: https://yclients.com/e/mp_364_twin/ yclients.createRecord(salonId int, params Map) ?intНазначение: записывает клиента на услугу. Аргументы:
Возвращаемое значение: int, если удалось создать запись и nil в случае ошибки.
yclients.recordDetails(salonId int, recordId int) ?MapНазначение: получает данные о записи. Аргументы:
Возвращаемое значение: ассоциативный массив если запись существует и nil в случае ошибки.
yclients.rescheduleRecord(salonId int, recordId int, datetime string) boolНазначение: переносит запись на новое время. Аргументы:
Возвращаемое значение: true в случае успеха и false в случае ошибки
yclients.confirmRecord(salonId int, recordId int) boolНазначение: подтверждает запись. Аргументы:
Возвращаемое значение: true в случае успеха и false в случае ошибки
yclients.deleteRecord(salonId int, recordId int) boolНазначение: удаляет запись. Аргументы:
Возвращаемое значение: true в случае успеха и false в случае ошибки
yclients.searchRecords(salonId int, filters Map) ?ListНазначение: поиск записей по филиалу. Аргументы:
Возвращаемое значение: List в случае успеха и nil в случае ошибки
yclients.recordsByVisits(salonId int, filters Map) ?ListНазначение: поиск записей по истории посещений клиента. Аргументы:
Возвращаемое значение: List в случае успеха и nil в случае ошибки Примечание: для использования функции необходимо передать clientId или clientPhone, чтобы идентифицировать клиента.
yclients.bookingDates(salonId int, serviceIds List = nil, staffId int = nil, date string = nil) ?MapНазначение: запрашивает даты доступные для бронирования. Аргументы:
Возвращаемое значение: Map в случае успеха и nil в случае ошибки Формат ответа:
yclients.bookingServices(salonId int, serviceIds List = nil, staffId int = nil, date string = nil) ?MapНазначение: запрашивает услуги доступные для бронирования. Аргументы:
Возвращаемое значение: Map в случае успеха и nil в случае ошибки Формат ответа:
yclients.bookingStaff(salonId int, serviceIds List = nil, date string = nil) ?ListНазначение: запрашивает сотрудников доступных для бронирования. Аргументы:
Возвращаемое значение: List в случае успеха и nil в случае ошибки
yclients.bookingStaffSeances(salonId int, staffId int, serviceIds List = nil, date string = nil) ?MapНазначение: запрашивает ближайшие доступные сеансы сотрудника Аргументы:
Возвращаемое значение: Map в случае успеха и nil в случае ошибки
yclients.bookingTimes(salonId int, staffId int, date string, serviceIds List = nil) ?ListНазначение: запрашивает список сеансов доступных для бронирования Аргументы:
Возвращаемое значение: List в случае успеха и nil в случае ошибки
yclients.searchClient(salonId int, filters Map) ?intНазначение: производит поиск клиента по передаваемым фильтрам Аргументы:
Возвращаемое значение: int, если клиент найден и nil, если клиент не найден.
yclients.clientDetails(salonId int, clientId int) ?MapНазначение: получает данные о клиенте Аргументы:
Возвращаемое значение: Map, если клиент найден и nil, если клиент не найден.
yclients.createClient(salonId int, params Map) ?intНазначение: создает нового клиента Аргументы:
Возвращаемое значение: int, если клиент создан и nil, если нет.
yclients.updateClient(salonId int, clientId int, params Map) boolНазначение: редактирует информацию клиента Аргументы:
Возвращаемое значение: true, если клиент успешно отредактирован и false, если нет.
yclients.createClientComment(salonId int, clientId int, text string) ?intНазначение: добавляет комментарий к клиенту Аргументы:
Возвращаемое значение: int, если комментарий создан и nil, если нет.
Объект FactQueryИспользуя методы этого объекты, вы можете выполнять и строить разнообразные запросы к базе фактов. База фактов представляет собой список записей. Каждая запись представляет собой единичный факт, состоящий из следующих частей (полей):
select(fields string|Collection) FactQueryНазначение: задаёт список полей из базы фактов, значения которых следует вернуть в результате запроса. Если метод select не вызывался, то будут возвращены поля context, name и value. Аргументы:
Возвращаемое значение: тот же объект FactQuery.
where(field string, operator string, value mixed) FactQueryНазначение: задаёт условие поиска фактов. Несколько методов where объединяются по принципу логического "И". Т.е. все условия должны быть выполнены. Метод where равносилен методу andWhere(field, operator, value). Аргументы:
Возвращаемое значение: тот же объект FactQuery. Список доступных операций:
andWhere(field string, operator string, value mixed) FactQueryЭквивалентен where(field, operator, value). orWhere(field string, operator string, value mixed) FactQueryАналогичен where с той лишь разницей, что несколько вызовов этого метода объединяются по принципу логического "ИЛИ" (т.е. должно выполняться хотя бы одно условие). where(cond FactQueryCondition) FactQueryНазначение: задаёт сложное (вложенное) условие. Несколько вызвов метода объединяются по принципу логического "И". Эквивалентен методу andWhere(cond). Аргументы:
Возвращаемое значение: тот же объект FactQuery.
andWhere(cond FactQueryCondition) FactQueryЭквивалентен where(cond). orWhere(cond FactQueryCondition) FactQueryАналогичен where(cond), с той лишь разницей, что несколько вызовов этого метода объединяются по принципу логического "ИЛИ", т.е. должно выполняться хотя бы одно условие. sortBy(fields string|Collection) FactQueryНазначение: задаёт сортирову фактов по указанным полям. Аргументы:
Возвращаемое значение: тот же объект FactQuery.
limit(limit int) FactQueryНазначение: ставит ограничение на максимальное количество извлекаемых фактов. Аргументы:
Возвращаемое значение: тот же объект FactQuery.
skip(count int) FactQueryНазначение: задаёт количество фактов, которые следует пропустить при поиске. Аргументы:
Возвращаемое значение: тот же объект FactQuery.
one() mixedНазначение: возвращает первое указанное через select поле первого найденного факта. Аргументы: отсутствуют. Возвращаемое значение: значение поля.
column() ListНазначение: возвращает список, состоящий из всех значений первого выбранного поля найденных фактов. Аргументы: отсутствуют. Возвращаемое значение: список значений поля.
row() MapНазначение: возвращает все выбранные поля в виде ассоциативного массива для первого найденного факта. Аргументы: отсутствуют. Возвращаемое значение: значения всех полей первого факта.
rows() List<Map>Назначение: возвращает список всех найденных фактов. Каждый факт возвращается как ассоциативный массив, ключами которого являются поля факта, а значениями – значения полей. Аргументы: отсутствуют. Возвращаемое значение: значения всех полей всех фактов.
Объект FactQueryConditionИспользуйте методы этого объекта, чтобы строить сложные вложенные условия к базе фактов. where(field string, operator string, value mixed) FactQueryConditionАналогичен методу where(field string, operator string, value mixed) объекта FactQuery. andWhere(field string, operator string, value mixed) FactQueryConditionАналогичен методу andWhere(field string, operator string, value mixed) объекта FactQuery. orWhere(field string, operator string, value mixed) FactQueryConditionАналогичен методу orWhere(field string, operator string, value mixed) объекта FactQuery. and(field string, operator string, value mixed) FactQueryConditionАналогичен методу andWhere(field string, operator string, value mixed) объекта FactQuery. or(field string, operator string, value mixed) FactQueryConditionАналогичен методу orWhere(field string, operator string, value mixed) объекта FactQuery. where(cond FactQueryCondition) FactQueryConditionАналогичен методу where(cond FactQueryCondition) объекта FactQuery. andWhere(cond FactQueryCondition) FactQueryConditionАналогичен методу andWhere(cond FactQueryCondition) объекта FactQuery. orWhere(cond FactQueryCondition) FactQueryConditionАналогичен методу orWhere(cond FactQueryCondition) объекта FactQuery. and(cond FactQueryCondition) FactQueryConditionАналогичен методу andWhere(cond FactQueryCondition) объекта FactQuery. or(cond FactQueryCondition) FactQueryConditionАналогичен методу orWhere(cond FactQueryCondition) объекта FactQuery. Объект UserMessagemessage stringНазначение: оригинальный текст сообщения.
attachments List<string>Назначение: список идентификаторов файлов, приложенных к сообщению.
isEmpty() boolНазначение: определяет пустое ли сообщение. Аргументы: отсутствуют. Возвращаемое значение: true, если сообщение пустое, и false в противном случае.
hasAttachments() boolНазначение: определяет, есть ли вложения в данном сообщении. Аргументы: отсутствуют. Возвращаемое значение: true, если сообщение имеет вложения, и false в противном случае.
Объект Sentenceintent stringНазначение: распознанное намерение.
intentConfidence numberНазначение: степень достоверности распознанного намерения (1 – однозначное распознавание, 0 – намерение фактически нераспознанно).
entities List<Tuple>Назначение: список распознанных сущностей. Каждый элемент списка содержит кортеж из трёх элементов: тип сущности (string), значение сущности (строка), достоверность распознавания сущности (number).
|
On this page:
General functionsdel(varName string)Purpose: deletion of a local or module variable. Arguments:
Returned value: none.
setClientTimezoneOffset(offset int)Назначение: changes bot collocutor's timezone offset. Аргументы:
Возвращаемое значение: none. Примечание: call of this function leads to change of environment variables now, today and time according to the set timezone.
Math functionsmath.pos(num mixed) numberPurpose: converts the argument to a number. The function acts as equivalent to the unary "+" operator. Arguments:
Returned value: number.
math.neg(num number) numberPurpose: changes the sign of a number. The function acts as equivalent to the unary operation "-". Arguments:
Returned value: the same number with the opposite sign.
math.inv(num number) numberPurpose: bit number inversion. This function is equivalent to the unary operator "~". Arguments:
Returned value: inverted number.
math.not(num number) boolPurpose: logical negation of a number. This function is equivalent to the unary operation "!". Arguments:
Returned value: true if num is not equal to 0; otherwise false.
math.add(num1 number, num2 number, precision int = 12) numberPurpose: addition of numbers. This function is equivalent to the binary operation "+". Arguments:
Returned value: sum of numbers.
math.sub(num1 number, num2 number, precision int = 12) numberPurpose: difference of numbers. This function is equivalent to the binary operation "-". Arguments:
Returned value: difference of numbers.
math.mul(num1 number, num2 number, precision int = 12) numberPurpose: multiplication. This function is equivalent to the binary operation "*". Arguments:
Returned value: multiplication.
math.div(num1 number, num2 number, precision int = 12) numberPurpose: quotient of numbers. Equivalent to the binary operation "/". Arguments:
Returned value: quotient of numbers.
math.idiv(num1 number, num2 number) intPurpose: integer division of numbers. This function is equivalent to the binary operation "\". Arguments:
Returned value: integer part of private numbers.
math.mod(num1 number, num2 number, precision int = 12) numberPurpose: remainder after dividing two numbers. This function is equivalent to the binary operation "%". Arguments:
Returned value: remainder of the division.
math.pow(base number, power number, precision int = 12) numberPurpose: raising the number base to the power. This function is equivalent to the binary operation "**". Arguments:
Returned value: result of exponentiation.
math.sqrt(num number, precision int = 12) numberPurpose: extracting the square root. Arguments:
Returned value: square root or error if the number is negative.
math.round(num number, precision int) numberPurpose: rounding the number to the required decimal place. Arguments:
Returned value: number rounded with a given precision.
math.rand(min int, max int) intPurpose: generates integer number in range between min and max (inclusive). Arguments:
Returned value: number in range between min and max (inclusive).
Functions for working with stringsstr.len(str string) intPurpose: determining the length of the string in characters. Arguments:
Returned value: integer is equal to the number of characters in the string.
str.lower(str string) stringPurpose: conversion of string characters to lower case. Arguments:
Returned value: a string with all characters in lowercase.
str.upper(str string) stringPurpose: conversion of string characters to uppercase. Arguments:
Returned value: a string with all characters in uppercase.
str.ucfirst(str string) stringPurpose: conversion of the first character of the string to uppercase. Arguments:
Returned value: string with the first character written in upper case.
str.lcfirst(str string) stringPurpose: conversion of the first character of the string to lowercase. Arguments:
Returned value: string with the first character written in lower case.
str.letter(str string, index int) stringPurpose: retrieve the specified character of the string. Arguments:
Returned value: the string that corresponds to the specified character or the empty string if there is no character at that position.
str.first(str string, index int = 0) stringPurpose: retrieve the specified character of a string starting from the beginning of the string. Arguments:
Returned value: string that corresponds to the specified character or the empty string if there is no character at that position.
str.last(str string, index int = 0) stringPurpose: retrieve the specified character of the string starting from the end of the string. Arguments:
Returned value: string that corresponds to the specified character or the empty string if there is no character at that position.
str.concat(str1 string, str2 string) stringPurpose: concatenates two strings into one. Arguments:
Returned value: a new line that consists of the first line to the right of which the second line is added.
str.sub(str string, offset int, length int = nil) stringPurpose: returns a substring of str starting from the offset character by count and length of character length. Arguments:
Returned value: part of str or the empty string.
str.join(arr Collection, separator string = "") stringPurpose: concatenates the elements of a collection (tuple, list, or associative array) into a string. Arguments:
Returned value: a new string that contains all the elements of the collection separated by a delimiter.
str.split(str string, separator string = "", limit int = 0) ListPurpose: splits the string into parts using separator as the delimiter. Arguments:
Returned value: list of substrings into which the string is split.
str.replace(str string, search string, replace string) stringPurpose: searches for all occurrences of a substring in a string and replaces them with the given value. Arguments:
Returned value: a new line where all occurrences of "search" are replaced with "replace".
str.match(str string, pattern string) boolPurpose: performs a regular expression check on the given string. Arguments:
Returned value: returns true if the string matches the regular expression, otherwise returns false.
str.distance(str1 string, str2 string) numberPurpose: calculates the similarity of two strings. Arguments:
Returned value: returns a number between 0 and 1 that indicates the similarity of two strings. 1 - strings are equivalent, 0 - strings are completely different.
Hash functionshash.of(text string, algo string = "md5", binary bool = false) stringPurpose: calculates the hash of the string according to the specified algorithm. Arguments:
Returned value: returns a string that contains the computed hash code in lowercase hexadecimal encoding. If binary is set to true, then the hash code is returned as binary data. It returns an empty string in case of error (for example, if an invalid hash algorithm is specified). Possible hash algorithms values:
Note: if the third parameter is true, then you cannot pass the value returned by the function as a bot message or part of it. This will crash the bot.
Encoding/decoding functionscodec.base64Encode(str string) string
Arguments:
Returned value: returns a string encoded in Base64.
codec.base64Decode(str string) ?string
Arguments:
Returned value: returns the decoded string or nil if the encoded string contains characters that are not in the base64 character alphabet of the encoding.
Date and Time Functionsdt.add(d1 int|string, d2 int|string) stringPurpose: adds two dates, provided as a string or as a number of seconds.
Arguments:
Returned value: returns the new date and time as a string.
dt.sub(d1 int|string, d2 int|string) int|stringPurpose: calculates the difference between two dates provided as strings or seconds.
Arguments:
Returned value: returns a new date and time as a string, or the number of seconds – the difference between the dates.
dt.format(dt int|string, format string) stringPurpose: brings the date to the specified format. Arguments:
Returned value: date string in the provided format. Possible formatting parameters:
Note: if the format string contains characters that match the above, but are not formatting options, then they should be escaped with the backslash character "\".
date.nearFuture(day int) stringPurpose: returns the nearest future date to the current date for the specified day. Arguments:
Returned value: returns the closest date to day.
date.nearPast(day int) stringPurpose: returns the nearest past date to the current date for the given day. Аргументы:
Returned value: returns the closest date to day.
date.future(day int) stringPurpose: returns the date that corresponds to the specified day in the next month. Arguments:
Returned value: date in the future.
date.past(day int) stringPurpose: returns the date that corresponds to the specified day in the previous month. Arguments:
Returned value: date in the past.
time.nearFuture(minute int) stringPurpose: returns the nearest future to the current time by the provided number of minutes. Arguments:
Returned value: returns the time closest to minute.
time.nearPast(minute int) stringPurpose: returns the nearest past to the current time for the specified number of minutes. Arguments:
Returned value: returns the time closest to minute.
time.future(minute int) stringPurpose: returns time that corresponds to the specified number of minutes in the next hour. Arguments:
Returned value: time in the future.
time.past(minute int) stringPurpose: returns the time that corresponds to the specified number of minutes in the past hour. Arguments:
Returned value: time in the past.
Functions for user message queuequeue.size() intPurpose: determines the size of the user message queue. Arguments: not present. Returned value: number of user messages.
queue.last() ?UserMessagePurpose: returns the last user message or nil if the message queue is empty. Arguments: not present. Returned value: UserMessage object or nil.
queue.first() ?UserMessagePurpose: returns the first user message or nil if the message queue is empty. Arguments: not present. Returned value: UserMessage object or nil.
queue.nth(index int) ?UserMessagePurpose: returns the user message by its sequence number starting from 1. Arguments:
Returned value: UserMessage object or nil.
queue.lastNth(index int) ?UserMessagePurpose: returns the user message by its sequence number starting from the end of the queue. The last message corresponds to sequence number 1. Arguments:
Returned value: UserMessage object or nil.
Functions for working with factsfact.save(context string, factName string, factValue mixed, botId string = nil, clientId string = nil)Purpose: saves the fact to the fact base. Arguments:
Returned value: not present.
fact.load(context string, factName string, botId string = nil, clientId string = nil) mixedPurpose: retrieves a fact from the fact base. Arguments:
Returned value: contents of the fact.
fact.delete(context string, factName string, botId string = nil, clientId string = nil)Purpose: deletes a fact from the fact base. Arguments:
Returned value: not present.
fact.query() FactQueryPurpose: returns a FactQuery instance for working with the fact database. Arguments: not present. Returned value: FactQuery object.
fact.cond() FactQueryConditionPurpose: returns an instance of FactQueryCondition for creating complex conditions when working with the fact database. Arguments: not present. Returned value: FactQueryCondition object.
Timer Functionstimer.start(time int, nodeId string) stringPurpose: starts the timer. After the specified time is over, the bot will go to the specified block. Arguments:
Returned value: timer ID.
timer.stop(timerId string)Purpose: stops (deletes) the timer. Arguments:
Returned value: not present.
timer.stopAll()Назначение: stops all timers. Аргументы: not present. Возвращаемое значение: not present.
Functions for working with text in natural language (NLP)nlp.parse(message string|UserMessage) SentencePurpose: parses natural language text. Arguments:
Returned value: a Sentence object containing information about all the intents and entities of the original message. Note: this function extracts only entities from the text. To work with intents, use the nlu.parse function
nlp.join(message1 string|UserMessage, message2 string|UserMessage) SentencePurpose: merges two natural language texts into one and then parses it. Arguments:
Returned value: a Sentence object that contains information about all the intents and entities of the combined message.
nlp.setPerception($sentence Sentence)Purpose: allows you to set a user message for processing in other blocks of the script. Arguments:
Returned value: not present.
Functions for "understanding" natural languagenlu.parse(text string, agentId string, timezoneOffset int = 0, version int = 1) SentencePurpose: parses text in natural language. Reveals intentions and entities. Arguments:
Returned value: Sentence object.
Functions for working with HTTPhttp.sendRequest(url string, method string, body any = nil, headers Map = nil) ResponsePurpose: sends an HTTP request to the specified URL. Arguments:
Returned value: HTTP response object.
http.request(url string = "", method string = "POST", body any = nil) RequestPurpose: generates a new HTTP request object. Arguments:
Returned value: an object that contains information about the HTTP request.
Объект Requesttimeout(timeout int) RequestPurpose: specifies the maximum request time in seconds. If the request is executed longer than the specified time, then its execution is interrupted. Arguments:
Returned value: an object that contains information about the HTTP request.
url(url string) RequestPurpose: sets the URL of the request. Arguments:
Returned value: object that contains information about the HTTP request.
method(method string) RequestPurpose: specifies the HTTP request method. Arguments:
Returned value: object that contains information about the HTTP request.
body(body any) RequestPurpose: sets the body of the request. Arguments:
Returned value: object that contains information about the HTTP request.
header(header string, value string) RequestPurpose: adds an HTTP header. Arguments:
Returned value: object that contains information about the HTTP request.
headers(headers Map) RequestPurpose: sets HTTP headers. Arguments:
Returned value: object that contains information about the HTTP request.
file(fileId string, name string = "") RequestPurpose: adds a file to send over HTTP. Arguments:
Returned value: object that contains information about the HTTP request.
send() ResponsePurpose: sends the generated request. Returned value: server response object.
Объект ResponsestatusCode intPurpose: response status code.
body anyPurpose: response body.
headers MapPurpose: response headers
error stringPurpose: value of the error element of the response body or the empty string if there is no such element.
isError() boolPurpose: determines the success of the response. Returned value: returns true if the error property is specified or the status code is greater than or equal to 400, otherwise returns false.
isSuccessful() boolPurpose: determines the success of the response. Returned value: returns true if the error property is empty and the status code is less than 400, otherwise returns false.
hasHeader(header string) boolPurpose: detects the presence of a header. Arguments:
Returned value: true, if a header with the specified name exists and false otherwise.
header(header string) stringPurpose: retrieves the header value Arguments:
Returned value: the value of the header with the specified name or an empty string if there is no such header.
toFile() stringPurpose: retrieves a file from HTTP response. Returned value: uploaded file ID.
System functionssys.sleep(microseconds int)Purpose: stops the bot for the specified number of microseconds. If the number of microseconds exceeds 1 minute, then the pause is set to 1 minute. Arguments:
Returned value: not present.
Functions for working with GPT-3gpt3.ask(text string) string
Arguments:
Returned value: the response of the neural network as a string.
Client attributes functionsclients.setAttributes (clientId string, attributes array)Purpose: to set value(s) of client attributes Agruments:
Returned value: void
FactQuery objectUsing the methods of this object, you can work with the fact base. The fact base is a list of records. Each record is a single fact that consists of the following parts (fields):
select(fields string|Collection) FactQueryPurpose: specifies a list of fields from the fact base whose values should be returned as a result of the query. If the select method is not called, then the context, name and value fields are returned. Arguments:
Returned value: the same FactQuery object.
where(field string, operator string, value mixed) FactQueryPurpose: sets the condition for finding facts. Several where methods are combined on a logical "AND" basis, i.e. all conditions must be met. The where method is equivalent to the andWhere(field, operator, value) method. Arguments:
Returned value: the same FactQuery object. List of possible operations:
andWhere(field string, operator string, value mixed) FactQueryThis function is equivalent to where(field, operator, value). orWhere(field string, operator string, value mixed) FactQueryThis function is equivalent to where with the only difference that several calls to this method are combined according to the logical "OR" principle, i.e. at least one condition must be met. where(cond FactQueryCondition) FactQueryPurpose: specifies a complex (nested) condition. Multiple method calls are combined in a logical AND fashion. Equivalent to the andWhere(cond) method. Arguments:
Returned value: the same FactQuery object.
andWhere(cond FactQueryCondition) FactQueryThis function is equivalent to where(cond). orWhere(cond FactQueryCondition) FactQueryThis function is equivalent to where(cond) with the only difference that several calls to this method are combined according to the logical "OR" principle, i.e. at least one condition must be met. sortBy(fields string|Collection) FactQueryPurpose: sets the sorting of facts by the specified fields. Arguments:
Returned value: the same FactQuery object.
limit(limit int) FactQueryPurpose: sets a limit on the maximum number of extracted facts. Arguments:
Returned value: the same FactQuery object.
skip(count int) FactQueryPurpose: sets the number of facts to skip when searching. Arguments:
Returned value: the same FactQuery object.
one() mixedPurpose: returns the first field of the first found fact specified by select. Arguments: not present. Returned value: field value.
column() ListPurpose: returns a list that consists of all values of the first selected field of found facts. Arguments: not present. Returned value: list of field values.
row() MapPurpose: returns all selected fields as an associative array for the first found fact. Arguments: not present. Returned value: values of all fields of the first fact.
rows() List<Map>Purpose: returns a list of all found facts. Each fact is returned as an associative array whose keys are the fact fields and whose values are the field values. Arguments: not present. Returned value: field values of all facts.
Объект FactQueryConditionMethods of this object are used to create complex nested conditions for the base facts. where(field string, operator string, value mixed) FactQueryConditionSimilar to the where(field string, operator string, value mixed) method of the FactQuery object. andWhere(field string, operator string, value mixed) FactQueryConditionSimilar to the andWhere(field string, operator string, value mixed) method of the FactQuery object. orWhere(field string, operator string, value mixed) FactQueryConditionSimilar to the orWhere(field string, operator string, value mixed) method of the FactQuery object. and(field string, operator string, value mixed) FactQueryConditionSimilar to the andWhere(field string, operator string, value mixed) method of the FactQuery object. or(field string, operator string, value mixed) FactQueryConditionSimilar to the orWhere(field string, operator string, value mixed) method of the FactQuery object. where(cond FactQueryCondition) FactQueryConditionSimilar to the where(cond FactQueryCondition) method of the FactQuery object. andWhere(cond FactQueryCondition) FactQueryConditionSimilar to the andWhere(cond FactQueryCondition) method of the FactQuery object. orWhere(cond FactQueryCondition) FactQueryConditionSimilar to the orWhere(cond FactQueryCondition) method of the FactQuery object. and(cond FactQueryCondition) FactQueryConditionSimilar to the andWhere(cond FactQueryCondition) method of the FactQuery object. or(cond FactQueryCondition) FactQueryConditionSimilar to the orWhere(cond FactQueryCondition) method of the FactQuery object. Объект UserMessagemessage stringPurpose: the original text of the message.
attachments List<string>Purpose: a list of file IDs attached to the message.
isEmpty() boolPurpose: defines whether the message is empty. Arguments: not present. Returned value: true if the message is empty and false otherwise.
hasAttachments() boolPurpose: determines whether there are attachments in the message. Arguments: not present. Returned value: true, if the message has attachments and false otherwise.
Объект Sentenceintent stringPurpose: recognized intent.
intentConfidence numberPurpose: the degree of reliability of the recognized intention (1 - unambiguous recognition, 0 - the intention is actually unrecognized).
entities List<Tuple>Purpose: list of recognized entities. Each element of the list contains a tuple of three elements: entity type (string), entity value (string), entity recognition confidence (number).
|