Назначение: удаление локальной или модульной переменной.
Аргументы:
Возвращаемое значение: отсутствует.
$localVar = 123
#moduleVar = true
del("$localVar") // Удаляет локальную переменную $localVar
del("localVar") // Тоже самое что и del("$localVar")
del("#moduleVar") // Удаляет переменную с областью видимости в пределах модуля |
Назначение: фактически преобразует аргумент к числу. Эквивалент унарной операции "+".
Аргументы:
Возвращаемое значение: число.
$a = math.pos(true) // $a будет равно 1 $a = math.pos(false) // $a будет равно 0 $a = math.pos(nil) // $a будет равно 0 $a = +true // $a будет равно 1, то же что и math.pos(true) |
Назначение: меняет знак числа. Эквивалент унарной операции "-".
Аргументы:
Возвращаемое значение: число со знаком обратному исходному.
$a = math.neg(-1) // $a будет равно 1 $a = math.neg(1) // $a будет равно -1 $a = math.neg(0) // $a будет равно 0 $a = -(-10) // $a будет равно 10, то же что и math.neg(-10) |
Назначение: инверсия бит числа. Эквивалент унарной операции "~".
Аргументы:
Возвращаемое значение: инвертированное число.
$a = math.inv(5) // $a равно 3 $a = ~5 // то же, что и предыдущая строка |
Назначение: логическое отрицание числа. Эквивалент унарной операции "!".
Аргументы:
Возвращаемое значение: true если num не равно 0 и false в противном случае.
$a = math.not(5) // $a равно false $a = math.not(0) // $a равно true $a = !0 // то же, что и предыдущая строка |
Назначение: сложение чисел. Эквивалент бинарной операции "+".
Аргументы:
Возвращаемое значение: сумма чисел.
$a = math.add(1.5, 3.5) // $a равно 5 $a = 1.5 + 3.5 // то же, что и предыдущая строка $a = math.add(1.000006, 2.1, 5) // $a равно 3.10001 |
Назначение: разность чисел. Эквивалент бинарной операции "-".
Аргументы:
Возвращаемое значение: разность чисел.
$a = math.sub(1.5, 3.5) // $a равно -2 $a = 1.5 - 3.5 // то же, что и предыдущая строка $a = math.sub(2.100006, 1.1, 5) // $a равно 1.00001 |
Назначение: произведение чисел. Эквивалент бинарной операции "*".
Аргументы:
Возвращаемое значение: произведение чисел.
$a = math.mul(1.5, 3.5) // $a равно 5.25 $a = 1.5 * 3.5 // то же, что и предыдущая строка $a = math.mul(1.2345, 1.234, 5) // $a равно 1.52337 |
Назначение: частное чисел. Эквивалент бинарной операции "/".
Аргументы:
Возвращаемое значение: частное чисел.
$a = math.div(1.5, 3.5) // $a равно 0.428571428571 $a = 1.5 / 3.5 // то же, что и предыдущая строка $a = math.div(1, 3, 5) // $a равно 0.33333 |
Назначение: целочисленное деление чисел. Эквивалент бинарной операции "\".
Аргументы:
Возвращаемое значение: целая часть частного чисел.
$a = math.idiv(2.5, 0.3) // $a равно 8 $a = 2.5 \ 0.3 // то же, что и предыдущая строка |
Назначение: остаток от деления двух чисел. Эквивалент бинарной операции "%".
Аргументы:
Возвращаемое значение: остаток от деления.
$a = math.mod(3.5, 1.5) // $a равно 0.5 $a = 3.5 % 1.5 // то же, что и предыдущая строка $a = math.mod(1/3, 2/7, 5) // $a равно 0.04762 |
Назначение: возведение числа base в степень power. Эквивалент бинарной операции "**".
Аргументы:
Возвращаемое значение: результат возведения в степень.
$a = math.pow(1.5, 3.5) // $a равно 4.133513940947 $a = 1.5 ** 3.5 // то же, что и предыдущая строка $a = math.pow(1.3, 7.1, 5) // $a равно 0.44166 |
Назначение: извлечение квадратного корня.
Аргументы:
Возвращаемое значение: квадратный корень либо ошибка, если число отрицательное.
$a = math.sqrt(3.14) // $a равно 1.772004514667 $a = math.sqrt(1.7, 5) // $a равно 0.30384 |
Назначение: округление числа до требуемого знака после запятой.
Аргументы:
Возвращаемое значение: округлённое с заданной точностью число.
$a = math.round(3.14159265358979323846264338327950288419716, 17) // $a равно 3.14159265358979324 $a = math.round(3.14159265358979323846264338327950288419716, 2) // $a равно 3.14 $a = math.round(3.14159265358979323846264338327950288419716, 0) // $a равно 3 |
Назначение: определение длины строки в символах.
Аргументы:
Возвращаемое значение: целое число равное количеству символов в строке.
$str = "Какая-то строка" $len = str.len($str) // $len будет содержать 15 |
Назначение: преобразовапние символов строки в нижний регистр.
Аргументы:
Возвращаемое значение: строка все символы которой находятся в нижнем регистре.
$str = "СтРоКа" $lower = str.lower($str) // $lower будет содержать "строка" |
Назначение: преобразование символов строки в верхний регистр.
Аргументы:
Возвращаемое значение: строка все символы которой находятся в верхнем регистре.
$str = "СтРоКа" $upper = str.upper($str) // $lower будет содержать "СТРОКА" |
Назначение: преобразование первого символа строки в верхний регистр.
Аргументы:
Возвращаемое значение: строка в которой первый символ записан в верхнем регистре.
$str = str.ucfirst("строка") // $str будет содержать "Строка" |
Назначение: преобразование первого символа строки в нижний регистр.
Аргументы:
Возвращаемое значение: строка в которой первый символ записан в нижнем регистре.
$str = str.ucfirst("Строка") // $str будет содержать "строка" |
Назначение: получение указанного символа строки.
Аргументы:
Возвращаемое значение: строка соответствующая указанному символу, либо пустая строка если символа с такой позицией не существует.
$str = "Слово" $firstLetter = str.letter($str, 0) // Первая буква $lastLetter = str.letter($str, -1) // Последняя буква |
Назначение: получение указанного символа строки начиная с начала строки.
Аргументы:
Возвращаемое значение: строка соответствующая указанному символу, либо пустая строка если символа с такой позицией не существует.
$str = "Слово" $firstLetter = str.first($str) // Первая буква $secondLetter = str.first($str, 1) // Вторая буква |
Назначение: получение указанного символа строки начиная с конца строки.
Аргументы:
Возвращаемое значение: строка соответствующая указанному символу, либо пустая строка если символа с такой позицией не существует.
$str = "Слово" $lastLetter = str.last($str) // Последняя буква $penultLetter = str.last($str, 1) // Предпоследняя буква |
Назначение: объединяет две строки в одну.
Аргументы:
Возвращаемое значение: новая строка состоящая из первой строки справа от которой добавлена вторая строка.
$str1 = "один" $str2 = "два" $str = str.concat($str1, $str2) // $str будет содержать "одиндва" |
Назначение: объединяет элементы коллекции (кортежа, списка или ассоциативного массива) в строку.
Аргументы:
Возвращаемое значение: новая строка составленная из всех элементов коллекции отделённых между собой разделителем.
$str = str.join([1, 2, 3, 4, 5], "-") // $str будет содержать "1-2-3-4-5"
$str = str.join(("a", "b", "c")) // $str будет содержать "abc"
$str = str.join({"a": "один", "b": "два"}, " + ") // $str будет содержать "один + два"
$str = str.join(["одно"], "/") // $str будет содержать "одно"
$str = str.join([], "/") // $str будет содержать "" |
Назначение: разбивает строку на части использую separator в качестве разделителя.
Аргументы:
Возвращаемое значение: список подстрок на которые была разбита строка.
$letters = str.split("абвгде") // Получили список букв слова
$words = str.split("один два три", " ") // Получили список слов
$words = str.split("один два три", " ", 1) // words содержит ["один", "два три"] |
Назначение: ищет все вхождения подстроки в строке и заменяет их на заданное значение.
Аргументы:
Возвращаемое значение: новая строка в которой все search заменены на replace.
$str = str.replace("мама мыла раму", "рам", "Даш") // $str содержит "мама мыла Дашу" |
Назначение: кодирует заданную строку в base64.
Аргументы:
Возвращаемое значение: возвращает строку закодированную в base64.
$encoded = codec.base64Encode("Привет!") // $encoded будет содержать строку "0J/RgNC40LLQtdGCIQ==" |
Назначение: декодирует заданную в base64 строку.
Аргументы:
Возвращаемое значение: возвращает раскодированную строку.
$decoded = codec.base64Decode("0J/RgNC40LLQtdGCIQ==") // $decoded будет содержать строку "Привет!" |
Назначение: складывает две даты, заданные в виде строки либо как число секунд.
Аргументы:
Возвращаемое значение: возвращает новую дату и время в виде строки.
$d = dt.add("2022-01-01 12:30:00", 59) // $d содержит строку "2022-01-01 12:30:59"
$d = dt.add(3600, "2022-01-01 12:30:00") // $d содержит строку "2022-01-01 13:30:00"
$d = dt.add("2022-01-01 00:00:00", "2022-01-02 00:00:00") // $d содержит строку "2022-01-03 00:00:00" |
Назначение: вычисляет разность двух дат, заданных в виде строк либо количеством секунд.
Аргументы:
Возвращаемое значение: возвращает новую дату и время в виде строки либо число секунд - разность дат.
$d = dt.sub(100, 50) // $d содержит 50
$d = dt.sub("2022-01-01 12:30:00", 3600) // $d содержит строку "2022-01-01 11:30:00"
$d = dt.sub(3600, "2022-01-01 12:30:00") // Такой вызов недопустим и приведёт к остановке программы
$d = dt.sub("2022-01-01 01:00:00", "2022-01-01 00:00:00") // $d содержит 3600 |
Назначение: форматирует дату согласно заданному формату.
Аргументы:
Возвращаемое значение: строка даты в заданном формате.
Допустимые параметры форматирования:
| Символ в строке format | Описание | Пример возвращаемого значения |
|---|---|---|
| Год | ||
| y | Полное числовое представление года, не менее 4 цифр | 1999, 2012, 10208 |
| yy | Две последние цифры года c дополнением нулями если необходимо | 99, 05 |
| Месяц | ||
| M | Порядковый номер месяца без ведущего нуля | от 1 до 12 |
| MM | Порядковый номер месяца с ведущим нулём | от 01 до 12 |
| День | ||
| d | День месяца без ведущего нуля | от 1 до 31 |
| dd | День месяца, 2 цифры с ведущим нулём | от 01 до 31 |
| Час | ||
| h | Часы в 12-часовом формате без ведущего нуля | от 1 до 12 |
| hh | Часы в 12-часовом формате с ведущим нулём | от 01 до 12 |
| H | Часы в 24-часовом формате без ведущего нуля | от 0 до 23 |
| HH | Часы в 24-часовом формате с ведущим нулём | от 00 до 23 |
| Минуты | ||
| m | Минуты без ведущего нуля | от 0 до 59 |
| mm | Минуты с ведущим нулём | от 00 до 59 |
| Секунды | ||
| s | Секунды без ведущего нуля | от 0 до 59 |
| ss | Секунды с ведущим нулём | от 00 до 59 |
Примечание: если строка формата содержит символы совпадающие с вышеперечисленными, но не являющиеся параметрами форматирования, то их следует экранировать с помощью символа обратного слэша "\".
$dt = dt.format('2022-12-20 08:34:05', 'y.MM.dd h-mm-ss') // $dt будет содержать строку "22.12.20 8-34-05"
$dt = dt.format('16:30:47', '\Hour\s an\d \minute\s: HH/mm') // $dt будет содержать строку "Hours and minutes: 16/30" |
Назначение: возвращает ближайшую будущую к текущей дату по заданному дню.
Аргументы:
Возвращаемое значение: возвращает ближайшую к day дату.
// Допустим сейчас 2022-12-20 $d = date.nearFuture(25) // $d содержит 2022-12-25 $d = date.nearFuture(10) // $d содержит 2023-01-10 |
Назначение: возвращает ближайшую прошлую к текущей дату по заданному дню.
Аргументы:
Возвращаемое значение: возвращает ближайшую к day дату.
// Допустим сейчас 2022-12-20 $d = date.nearPast(25) // $d содержит 2022-11-25 $d = date.nearPast(10) // $d содержит 2023-12-10 |
Назначение: возвращает дату соответствующую указанному дню в следующем месяце.
Аргументы:
Возвращаемое значение: дата в будущем.
// Допустим сейчас 2022-12-20 $d = date.future(25) // $d содержит 2023-01-25 $d = date.future(10) // $d содержит 2023-01-10 |
Назначение: возвращает дату соответствующую указанному дню в прошлом месяце.
Аргументы:
Возвращаемое значение: дата в прошлом.
// Допустим сейчас 2022-12-20 $d = date.past(25) // $d содержит 2022-11-25 $d = date.past(10) // $d содержит 2022-11-10 |
Назначение: возвращает ближайшее будущее к текущему время по заданному количеству минут.
Аргументы:
Возвращаемое значение: возвращает ближайшее к minute время.
// Допустим сейчас 23:30:00 $t = time.nearFuture(45) // $t содержит 23:45:00 $t = time.nearFuture(15) // $t содержит 00:15:00 |
Назначение: возвращает ближайшее прошлое к текущему время по заданному количеству минут.
Аргументы:
Возвращаемое значение: возвращает ближайшее к minute время.
// Допустим сейчас 23:30:00 $t = time.nearPast(45) // $t содержит 22:45:00 $t = time.nearPast(15) // $t содержит 23:15:00 |
Назначение: возвращает время соответствующее указанному числу минут в следующем часе.
Аргументы:
Возвращаемое значение: время в будущем.
// Допустим сейчас 23:30:00 $t = time.future(45) // $t содержит 00:45:00 $t = time.future(15) // $t содержит 00:15:00 |
Назначение: возвращает время соответствующее указанному числу минут в прошедшем часе.
Аргументы:
Возвращаемое значение: время в прошлом.
// Допустим сейчас 23:30:00 $t = time.past(45) // $t содержит 22:45:00 $t = time.past(15) // $t содержит 22:15:00 |
Назначение: сохраняет факт в базе фактов.
Аргументы:
Возвращаемое значение: отсутствует.
fact.save("место", "город", "Екатеринбург") // Факт доступный всем ботам компании
fact.save("место", "город", "Екатеринбург", nil, @clientId) // Факт с привязкой к клиенту
fact.save("место", "город", "Екатеринбург", @botId) // Факт с привязкой к боту
fact.save("место", "город", "Екатеринбург", @botId, @clientId) // Факт с привязкой к боту и клиенту |
Назначение: извлекает факт из базы фактов.
Аргументы:
Возвращаемое значение: содержимое факта.
fact.save("место", "город", "Екатеринбург", @botId, @clientId) // Сохраняет факт с привязкой к боту и клиенту
$city = fact.load("место", "город", @botId, @clientId) // Загружаем факт в переменную. $city содержит "Екатеринбург" |
Назначение: удаляет факт из базы фактов.
Аргументы:
Возвращаемое значение: отсутствует.
fact.save("место", "город", "Екатеринбург", @botId, @clientId) // Сохраняет факт с привязкой к боту и клиенту
$city = fact.load("место", "город", @botId, @clientId) // Загружаем факт в переменную. $city содержит "Екатеринбург"
fact.delete("место", "город", @botId, @clientId) // Удаляем факт.
$city = fact.load("место", "город", @botId, @clientId) // Пытаемся загрузить удалённый факт. Теперь $city содержит nil. |
Назначение: возвращает экземпляр FactQuery для построения и выполнения запросов к базе фактов.
Аргументы: отсутствуют.
Возвращаемое значение: объект FactQuery.
// Добавили пару фактов в базу
fact.save("место", "страна", "Россия")
fact.save("место", "город", "Екатеринбург")
// Загрузили в $places список мест отсортированных по имени факта в порядке убывания:
// [{"name": "город", "value": "Россия"}, {"name": "страна", "value": "Екатеринбург"}]
$places = fact.query().
select("name,value").
where("context", "=", "место").
sortBy("-name").
rows() |
Назначение: возвращает экземпляр FactQueryCondition для построения составных условий в запросах к базе фактов.
Аргументы: отсутствуют.
Возвращаемое значение: объект FactQueryCondition.
// Добавили факты в базу
fact.save("города", "екатеринбург", "Екатеринбург")
fact.save("города", "москва", "Москва")
fact.save("города", "санкт-петербург", "Санкт-Петербург")
fact.save("города", "новосибирск", "Новосибирск")
// Найдём один город начинающийся с буквы "м" или с буквы "т" и не равный городам "Екатеринбург" и "Новосибирск"
$city = fact.query().
select("value").
where("context", "=", "города").
where(fact.cond().
where("name", "^@", "м").
orWhere("name", "^@", "т")).
where("name", "not in", ("екатеринбург", "новосибирск")).
one() |
Используя методы этого объекты вы можете выполнять и строить разнообразные запросы к базе фактов. База фактов представляет собой список записей. Каждая запись представляет собой единичный факт состоящий из следующих частей (полей):
Назначение: задаёт список полей из базы фактов значения которых следует вернуть в результате запроса. Если метод select не вызыался, то будут возвращены поля context,name и value.
Аргументы:
Возвращаемое значение: тот же объект FactQuery.
$facts = fact.query().rows() // select не вызван возвращаем все поля.
$facts = fact.query().select(["value", "context"]).rows() // Возвращаем список фактов для которых нам нужны только value и context.
$facts = fact.query().select("botId").rows() // Возвращаем только поле botId к которым привязаны факты. |
Назначение: задаёт условие поиска фактов. Несколько методов where объединяются по принципу логического "И", т.е. все условия должны быть выполнены. Метод where равносилен методу andWhere(field, operator, value).
Аргументы:
Возвращаемое значение: тот же объект FactQuery.
Список доступных операций:
// Ищем факты у которых context содержит подстроку test
$facts = fact.query().
select("name,value").
where("context", "~", "^.*test.*$").
rows() |
Эквивалентен where(field, operator, value).
Аналогичен where, с той лишь разницей, что несколько вызовов этого метода объединяются по принципу логического "ИЛИ", т.е. должно выполняться хотя бы одно условие.
Назначение: задаёт сложное (вложенное) условие. Несколько вызвов метода объединяются по принципу логического "И". Эквивалентен методу andWhere(cond).
Аргументы:
Возвращаемое значение: тот же объект FactQuery.
// Ищем факты у которых context содержит подстроку test и при этом name равен "слово" или name начинается на "оп".
$facts = fact.query().
select("name,value").
where("context", "~", "^.*test.*$").
andWhere(fact.cond().
where("name", "=", "слово").
orWhere("name", "^@", "оп")).
rows() |
Эквивалентен where(cond)
Аналогичен where(cond), с той лишь разницей, что несколько вызовов этого метода объединяются по принципу логического "ИЛИ", т.е. должно выполняться хотя бы одно условие.
Назначение: задаёт сортирову фактов по указанным полям.
Аргументы:
Возвращаемое значение: тот же объект FactQuery.
// Получаем все факты для бота с двойной сортировкой:
// сначала по контексту по возрастанию (т.е. в алфавитном порядке)
// и далее по имени факта по убыванию.
$facts = fact.query().
select("name,value").
where("botId", "=", @botId)
sortBy("+context,-name"). // можно также использовать коллеции. Например, sortBy(["+context", "-name"])
rows() |
Назначение: ставит ограничение на максимальное количество извлекаемых фактов.
Аргументы:
Возвращаемое значение: тот же объект FactQuery.
// Получаем первые 10 фактов
$facts = fact.query().
select("name,value").
sortBy("name").
limit(10).
rows() |
Назначение: задаёт количество фактов которые следует пропустить при поиске.
Аргументы:
Возвращаемое значение: тот же объект FactQuery.
// Пропускаем 5 первых фактов и извлекаем следующие 10
$facts = fact.query().
select("name,value").
sortBy("name").
skip(5).
limit(10).
rows() |
Назначение: возвращает первое указанное через select поле первого найденного факта.
Аргументы: отсутствуют.
Возвращаемое значение: значение поля.
// Извлекает имя первого найденного факта
$firstFactName = fact.query().
select("name,value"). // value хоть и указано, но будет проигнорировано
one() |
Назначение: возвращает список состоящий из всех значений первого выбранного поля найденных фактов.
Аргументы: отсутствуют.
Возвращаемое значение: список значений поля.
// Извлекает список имён всех найденных фактов
$names = fact.query().
select("name,value"). // value хоть и указано, но будет проигнорировано
column() |
Назначение: возвращает все выбранные поля в виде ассоциативного массива для первого найденного факта.
Аргументы: отсутствуют.
Возвращаемое значение: значения всех полей первого факта.
// Извлекает имя и значение первого найденного факта
$names = fact.query().
select("name,value").
row() |
Назначение: возвращает список всех найденных фактов. Каждый факт возвращается как ассоциативный массив ключами которого являются поля факта, а значениями - значения полей.
Аргументы: отсутствуют.
Возвращаемое значение: значения всех полей всех фактов.
// Извлекает имя и значение всех фактов
$names = fact.query().
select("name,value").
rows() |
Используйте методы этого объекта чтобы строить сложные вложенные условия к базе фактам.
Аналогичен методу where(field string, operator string, value mixed) объекта FactQuery.
Аналогичен методу andWhere(field string, operator string, value mixed) объекта FactQuery.
Аналогичен методу orWhere(field string, operator string, value mixed) объекта FactQuery.
Аналогичен методу andWhere(field string, operator string, value mixed) объекта FactQuery.
Аналогичен методу orWhere(field string, operator string, value mixed) объекта FactQuery.
Аналогичен методу where(cond FactQueryCondition) объекта FactQuery.
Аналогичен методу andWhere(cond FactQueryCondition) объекта FactQuery.
Аналогичен методу orWhere(cond FactQueryCondition) объекта FactQuery.
Аналогичен методу andWhere(cond FactQueryCondition) объекта FactQuery.
Аналогичен методу orWhere(cond FactQueryCondition) объекта FactQuery.
Назначение: определение размера очереди сообщений пользователя.
Аргументы: отсутствуют.
Возвращаемое значение: число сообщений пользователя.
$messageCount = queue.size() // $messageCount содержит число сообщений пользователя за всё время диалога |
Назначение: возвращает последнее сообщение пользователя либо nil, если очередь сообщений пуста.
Аргументы: отсутствуют.
Возвращаемое значение: объект UserMessage или nil.
$lastMessage = queue.last() // $lastMessage содержит последнее на данный момент сообщение пользователя |
Назначение: возвращает первое сообщение пользователя либо nil, если очередь сообщений пуста.
Аргументы: отсутствуют.
Возвращаемое значение: объект UserMessage или nil.
$firstMessage = queue.first() // $firstMessage содержит первое сообщение пользователя |
Назначение: возвращает сообщение пользователя по его порядковому номеру, начиная с 1.
Аргументы:
Возвращаемое значение: объект UserMessage или nil.
$message = queue.nth(1) // $message содержит первое сообщение пользователя $message = queue.nth(5) // $message содержит пятое сообщение пользователя |
Назначение: возвращает сообщение пользователя по его порядковому номеру считая с конца очереди. Последнее сообщение соответствует порядковому номеру 1.
Аргументы:
Возвращаемое значение: объект UserMessage или nil.
$message = queue.lastNth(1) // $message содержит последнее сообщение пользователя $message = queue.lastNth(5) // $message содержит пятое с конца очереди сообщение пользователя |
Назначение: оригинальный текст сообщения.
$msg = queue.last().message // $msg содержит текст последнего сообщения пользователя |
Назначение: список идентификаторов файлов приложенных к сообщению.
$attachments = queue.first().attachments // $attachments содержит список вложений первого сообщения пользователя. |
Назначение: определяет пустое ли сообщение.
Аргументы: отсутствуют.
Возвращаемое значение: true, если сообщение пустое и false в противном случае.
$isEmpty = queue.last().isEmpty() // $isEmpty содержит true, если последнее сообщение пользователя пустое и false в противном случае |
Назначение: определяет есть ли вложения в данном сообщении.
Аргументы: отсутствуют.
Возвращаемое значение: true, если сообщение имеет вложения и false в противном случае.
$hasAttachments = queue.first().hasAttachments() // $hasAttachments содержит true, если первое сообщение пользователя имеет вложения и false в противном случае |
Назначение: запускает таймер обратного отсчёта. По истечении указанного времени бот осуществит переход на указанный узел (блок).
Аргументы:
Возвращаемое значение: идентификатор таймера.
$timerId = timer.start(60, "760b9732-4bfb-4846-a348-faae5138fcb2") // $timerId содержит уникальный идентификатор таймера на 60 секунд |
Назначение: останавливает (удаляет) таймер обратного отсчёта.
Аргументы:
Возвращаемое значение: отсутствует.
$timerId = timer.start(60, "760b9732-4bfb-4846-a348-faae5138fcb2") timer.stop($timerId) // останавливаем (удаляем) таймер |
Назначение: парсит текст на естественном языке.
Аргументы:
Возвращаемое значение: объект Sentence содержащий информацию о всех намерениях и сущностях исходного сообщения.
$sentence = nlp.parse(queue.first()) // парсим первое сообщение пользователя |
Назначение: объединяет два текста на естественном языке в одно и затем парсит его.
Аргументы:
Возвращаемое значение: объект Sentence содержащий информацию о всех намерениях и сущностях объединённого сообщения.
$sentence = nlp.join(queue.lastNth(2), queue.lastNth(1)) // объединяем предпоследнее и последнее сообщения пользователя и затем парсим его |
Назначение: позволяет установить сообщение пользователя для обработки в других узлах (блоках) схемы бота.
Аргументы:
Возвращаемое значение: отсутствует.
$sentence = nlp.join(queue.lastNth(2), queue.lastNth(1)) // объединяем предпоследнее и последнее сообщения пользователя и затем парсим его nlp.setPerception($sentence) // Теперь остальные узлы схемы будут работать с cообщением $sentence |
Назначение: останавливает работу бота на указанное количество микросекунд. Если количество микросекунд превышает 1 минуту, то пауза будет уменьшена до 1 минуты.
Аргументы:
Возвращаемое значение: отсутствует.
sys.sleep(3_000_000) // Пауза в 3 секунды |
Назначение: отправляет сообщение в демо версию нейросети RuGTP-3 и возвращает её ответ.
Аргументы:
Возвращаемое значение: ответ нейросети в виде строки.
$answer = gpt3.ask("Есть ли жизнь на Марсе?") // В $answer будет ответ нейросети на заданный вопрос |