Функции

Материал из SaleBot Help
Перейти к навигации Перейти к поиску
ПОСЛЕДНЯЯ ЗНАЧИМАЯ ПРАВКА
Участник: BotDev.One

Функции всегда возвращают какой-то результат и записывают этот результат в переменную.

Методы ничего не возвращают (None).


Для вызова функции, ее необходимо описать следующим образом:

результат = функция(параметр1, параметр2, ...)


Если параметр A - не является обязательным, но после него нужно задать параметр B, тогда необходимо указать пустой параметр А:

результат = функция('', параметр_B, параметр_C, ...)

➡️ Подробнее

Таблица функций

Функция Категория Использование Описание Область
abs Математические float = abs(num) Приведение числа к положительному (абсолютное значение)
acos Математические float = acos(x) Арккосинус, возвращает значение в радианах
add_to_list (метод) Списки add_to_list(numberOfList) Добавление пользователя в список вкладка Списки
add_unread (метод) Клиенты add_unread(count) Добавление числа непрочитанных сообщений с клиентом (метка) CRM Salebot
asin Математические float = asin(x) Арксинус, возвращает значение в радианах
atan Математические float = atan(x) Арктангенс, возвращает значение в радианах
atan2 Математические float = atan2(y, x) Полярный угол (в радианах)
assign_to_user Клиенты bool = assign_to_user(opEmail) Назначение ответственного оператора клиенту (назначение диалога оператору согласно настройкам автораспределения) (без параметров - будет выбран случайный оператор), True в случае успеха[1]
base64 Строковые str = base64(text) Кодирование в формат base64
base64decode Строковые str = base64decode(base64) Декодирование из формата base64
c2n Таблицы int = c2n(sColumn) Преобразование строкового имени колонки в числовое значение
capitalize Строковые str = capitalize(text) Приведение первой буквы строки к верхнему регистру
ceil Математические int = ceil(num) Округление числа к большему
change_state Клиенты bool = change_state(stage_id) Перемещение клиента на stage_id этап воронки Salebot CRM CRM Salebot
clear_list (метод) Списки clear_list(numberOfList) Очистка списка вкладка Списки
clear_unread (метод) Клиенты clear_unread() Очистить число непрочитанных сообщений с клиентом CRM Salebot
check_insta_subscription Инстаграм bool = check_insta_subscription() Проверка подписки на Instagram аккаунт бота Инстаграм
concat Строковые str = concat(str1, str2) Объединение строк (конкатенация)
contains Строковые bool = contains(text, substr, case) Проверка вхождения второй строки в первую с учетом регистра, приcase=False (без регистра)
cos Математические float = cos(x) Косинус угла, задаваемый в радианах
create_task Задачи int = create_task(opEmail, taskName, expDate, text, expTime) Создание новой задачи. Возвращает номер созданной задачи вкладка Клиенты
customizable_round_division Математические float = customizable_round_division(a, b, count) Деление двух чисел с округлением до заданной точности count
customizable_round_multiply Математические float = customizable_round_multiply(a, b, count) Умножение двух чисел с округлением до заданной точности count
days_from_last_message Клиенты int = days_from_last_message() Определение количества дней с момента последней реплики клиента
delete_pended_messages (метод) Клиенты delete_pended_messages(flag) Удаление всех запланированных сообщений для текущего клиента. При flag=False будут оставлены запланированные сообщения, созданные стрелками "Не отменять". Без параметров или True - такие сообщения будут удалены вкладка Клиенты
delete_task (метод) Задачи delete_task(task_id) Удаление задачи вкладка Клиенты
distance Математические float = distance(lat1, lon1, lat2, lon2) Вычисление расстояния между двумя точками на карте, дельта (в километрах)
distribute_client (метод) Клиенты distribute_client(cancelFlag) Удаление всех запланированных сообщений для текущего клиента (при значении False не удаляются запланированные сообщения с флагом "не отменять")
done_task (метод) Задачи done_task(task_id) Пометка о выполнении задачи вкладка Клиенты
inlist Списки bool = inlist(numberOfList) Проверка наличия пользователя в списке вкладка Списки
endswith Строковые bool = endswith(text, subtext) Проверка - заканчивается ли строка заданной подстрокой subtext
exp Математические float = exp(num) Возведение числа E в степень
fac Математические int = fac(num) Получение факториала
findall Рег. выражения var = findall(regex, text, index) Возвращает json-массив элементов, либо str (если элемент один), найденных через regex (с учетом номера вхожденияindex)
floor Математические int = floor(num) Получение целой части от числа путем отбрасывания дробной части
free_client (метод) Клиенты free_client() Снятие ответственного оператора CRM Salebot
get Строковые str = get(element, json) Позволяет получить значение JSON массива
get_client_id_by_platform_id Клиенты int = get_client_id_by_platform_id(client_type, platform_id, group) Получение client_id клиента в Salebot по platform_id в мессенджерах, None - если клиент не найден Salebot
get_operator Клиенты var = get_operator() Получение email-адреса ответственного оператора, None - если ответственного нет CRM Salebot
get_operator_name Клиенты var = get_operator_name() Получение имени ответственного оператора, None - если ответственного нет, если имя не задано - возвращает - email CRM Salebot
get_state_id Клиенты int = get_state_id() Получение ID этапа воронки в Salebot CRM CRM Salebot
inlist Списки bool = inlist(list_num) Проверка - находится клиент в списке list_num или нет вкладка Списки
insta_create_comment (метод) Инстаграм insta_create_comment(text) Отправка ответа на комментарий под постом, который прокомментировал клиент Инстаграм
int Математические int = int(num) Приведение чисел с дробной частью к целому. При этом дробная часть отсекается без округления
inxy_remove_subscription Прием оплат var = inxy_remove_subscription(inxy_subscription_id) Отмена пользовательской подписки INXY
is_float Математические bool = is_float(text) Проверка - является ли строка числом (включая дробные)
is_int Математические bool = is_int(text) Проверка - является ли строка числом
last_message_id Сообщения var = last_message_id() Получение номера последнего сообщения от бота, если сообщение не отправлено, возвращает None Телеграм

ВКонтакте

len Строковые int = len(text) Подсчет количества символов в строке
like_client_message (метод) Клиенты like_client_message() Поставить лайк под последним сообщением клиента в директ Instagram
list_size Списки int = list_size(numberOfList) Подсчет количества клиентов в списке вкладка Списки
lists_joint_count Списки int = lists_joint_count('[list_num1, list_num2, ...]') Подсчет количества уникальных записей о клиентах, которые находятся в нескольких списках вкладка Списки
log Математические int = log(num, base) Получение значения логарифма по основанию base
lower Строковые str = lower(text) Приведение строки к нижнему регистру
max Математические int = max(a, b, c, ...) Поиск максимального числа из списка
md5 Математические str = md5(text) Получение хеша md5
message Сообщения var = message(client_id, text, message_id, timeout) Отправка сообщения в мессенджер клиента Salebot Salebot
min Математические int = min(a, b, c, ...) Поиск минимального числа из списка
move_to_list (метод) Списки move_to_list(numberOfList) Перемещение пользователя в список вкладка Списки
n2c Таблицы str = n2c(iColumn) Преобразование числового имени колонки в строковое значение
normalizePhone Строковые int = normalizePhone(snumber) Приведение номера телефона к числовому виду, также заменяет начальную 8 на 7
ozon_goods_feedbacks Прочее var = ozon_goods_feedbacks(goods_id, name) Позволяет спарсить/вытащить отзывы  с маркетплейса OZON по артикулу товара. Если клиент указал свое имя, то отзывы можно фильтровать по имени
platform_message (метод) Сообщения platform_message(platform_id, text, client_type, message_id, timeout) Поиск клиента по platform_id в мессенджерах и отправка заданного сообщения (аналог функции message) Salebot
pow Математические int = pow(num, st) Возведение числа в степень
proxy Ссылки var = proxy('url', 1) Создание короткой ссылки с отслеживанием перехода
proxy_date Ссылки var = proxy_date('url', 'date', 'time', 1) Создание короткой ссылки с отслеживанием перехода
proxy_timeout Ссылки var = proxy_timeout('url', minutes, 1) Создание короткой ссылки с отслеживанием перехода
random Математические int = random(low, high) Получение случайного числа в указанных пределах
remove_from_list (метод) Списки remove_from_list(numberOfList) Удаление пользователя из всех списков с перемещением в указанный вкладка Списки
remove_last_message (метод) Сообщения remove_last_message() Удаление последнего сообщения от бота Телеграм

ВКонтакте

replace Строковые str = replace(text, fromSubText, toSubText, count) Поиск и замена подстроки на другую строку (с учетом регистра), указанное число раз count
round Математические int = round(num, count) Округление числа с точностью до count знака
select_random Строковые str = select_random(text, separator) Выбор случайного элемента строки с разделителями.

(разделитель по умолчанию |)

send_email E-mail send_email(to_email, subject, message) Отправка email-сообщения
send_email_from_bot E-mail send_email_from_bot(email_bot, client_email, email_subject, text, attachment_url) Отправка email-сообщений через бот
send_email_template E-mail send_email_template(mailing_id, client_email, email_bot, date) Отправка email-сообщения из шаблона
set_note (метод) Клиенты set_note(textComment) Добавление комментария оператора к диалогу с клиентом CRM Salebot
similar Рег. выражения bool = similar(text1, text2) Cравнение строк с учетом описок. Возвращает True при сходстве от 70% до 100%
sin Математические float = sin(x) Синус угла, задаваемый в радианах
sipuni_internal_to_external_call Телефония var = sipuni_internal_to_external_call(client_phone, short_number) Cовершение обратного звонка абоненту посредством подключенной телефонии от Sipuni Sipuni
sipuni_scheme_call Телефония var = sipuni_scheme_call(client_phone, short_number, tree_code) Cовершение обратного звонка абоненту по сценарию в Sipuni Sipuni
sha1 Математические str = sha1(text) Получение хеша sha1
sha256 Математические str = sha256(text) Получение хеша sha256
sheet_search_in_col_return_row_array Таблицы Возвращает чистый массив с данными, без лишних параметров, после поиска значения в колонке

Например, "Стол","Стул","Табурет"

Google таблицы
short Ссылки var = short('url', 1) Создание короткой ссылки без отслеживания перехода
short_date Ссылки var = short_date('url', 'date', 'time', 1) Создание короткой ссылки без отслеживания перехода
short_timeout Ссылки var = short_timeout('url', minutes, 1) Создание короткой ссылки без отслеживания перехода
some_client_in_list Списки bool = some_client_in_list(numberOfList, recepient_id) Проверка - находится ли пользователь Телеграм в указанном списке(True) или нет (False) Телеграм
sort Массивы array = sort(json, direction) Сортировка списка по возрастанию direction – False, сортировка по убыванию – True
sort_by_value Массивы array = sort(dict, direction) Сортировка массива или словаря по возрастанию direction – False, сортировка по убыванию – True
splitter Массивы array = splitter(text, separator, count) Создание массива из строки путем её разделения на элементы, по аналогии с csv
sqrt Математические float = sqrt(num) Получение квадратного корня
startswith Строковые bool = startswith(text, subtext) Проверка - начинается строка заданной подстрокой subtext или нет
strip Строковые str = strip(text) Обрезка пробелов в начале и в конце строки
substring Строковые str = substring(text, num1, num2) Обрезка строки с номера символа num1 до num2. Если num2 отрицательный, отсчет ведется с конца строки
sum_array Массивы int = sum_array(array) Подсчёт суммы в массиве чисел
tan Математические float = tan(x) Тангенс угла, задаваемый в радианах
tg_approve_chat_join_request Телеграм tg_approve_chat_join_request(platform_id, user_id) Принятие заявки на вступление пользователя в канал/чат Телеграм
tg_ban_chat_member Телеграм tg_ban_chat_member(chat_id, user_id) Блокировка (бан) подписчика в чате/канале Телеграм
tg_ban_chat_sender_chat Телеграм tg_ban_chat_sender_chat(chat_id, chat_id_user) Бан в чате Телеграм, блокирует возможность писать не только от имени этого сообщества, но и от всех прочих с аналогичным владельцем Телеграм
tg_callback_url_open Телеграм tg_callback_url_open('#{callback_query_id}', url) Уведомление Alert при нажатии на кнопку и переход по указанной ссылке Телеграм
tg_chat_permission Телеграм var = tg_chat_permission(user_id, permission, media_permissions) Установка/ограничение прав пользователя в чате Телеграм
tg_close_forum_topic Телеграм tg_close_forum_topic(platform_id, message_thread_id) Закрытие темы группы (тема станет доступной только для чтения) Телеграм
tg_close_general_forum_topic Телеграм tg_close_general_forum_topic(platform_id) Закрытие главной темы группы Телеграм
tg_create_forum_topic Телеграм var = tg_create_forum_topic(platform_id, name, icon, icon_color) Создание новой темы. В параметре icon задается эмодзи из списка tg_get_forum_icon Телеграм
tg_decline_chat_join_request Телеграм tg_decline_chat_join_request(platform_id, user_id) Отклонение заявки на вступление пользователя в канал/чат Телеграм
tg_delete_command Телеграм var = tg_delete_command(language_code, scope, chat_id, user_id) Удаление команд бота по критериям, заданным в параметрах Телеграм
tg_delete_forum_topic Телеграм tg_delete_forum_topic(platform_id, message_thread_id) Удаление темы (топика) группы вместе с содержимым Телеграм
tg_edit_forum_topic Телеграм tg_edit_forum_topic(platform_id, message_thread_id, name, icon) Переименование главной темы группы. В параметре icon задается новый эмодзи из списка tg_get_forum_icon Телеграм
tg_edit_general_forum_topic Телеграм tg_edit_general_forum_topic(platform_id, topic_name) Переименование главной темы группы Телеграм
tg_escape Строковые str = tg_escape(text) Экранирование символом \ небезопасных символов[2] Телеграм
tg_get_bot_description Телеграм str = tg_get_bot_description(language_code) Получение текста приветственного сообщения бота (до нажатия старт) Телеграм
tg_get_bot_short_description Телеграм str = tg_get_bot_short_description(language_code) Получение текстового описания Информация о боте /setabouttext Телеграм
tg_get_chat_member Телеграм str = tg_get_chat_member(chat_id, user_id) Проверка подписки пользователя на канал/группу в Телеграм Телеграм
tg_get_chat_member_count Телеграм int = tg_get_chat_member_count(chat_id) Определить число участников в канале/группе Телеграм
tg_get_command Телеграм var = tg_get_command(language_code, scope, chat_id, user_id) Получение списка команд бота. Команды имееют вид:

[["command1", "description"],["command2", "description"]]

Телеграм
tg_get_forum_icon Телеграм var = tg_get_forum_icon() Получения списка эмодзи для чата в формате словаря:{'⚡️':'5312016608254762256'} Телеграм
tg_hide_general_forum_topic Телеграм tg_hide_general_forum_topic(platform_id) Скрытие главной темы группы Телеграм
tg_pin_chat_message Телеграм tg_pin_chat_message(chat_id, message_id, disable_notification) Закрепление сообщения в чате Телеграм
tg_promote_user Телеграм var = tg_promote_user(chat_id, user_id, promote_options_list) Изменение прав пользователя в супер-группе или канале Телеграм Телеграм
tg_reopen_forum_topic Телеграм tg_reopen_forum_topic(platform_id, message_thread_id) Открытие ранее закрытой темы группы Телеграм
tg_reopen_general_forum_topic Телеграм tg_reopen_general_forum_topic(platform_id) Открытие ранее закрытой главной темы группы Телеграм
tg_restrict_chat_member Телеграм var = tg_restrict_chat_member(chat_id, user_id, minutes, permission, media_permissions) Установка временных ограничений прав пользователя с указанием чата Телеграм
tg_send_animation Телеграм int = tg_send_animation(platform_id, animation, caption, reply_markup, parse_mode, reply_to_message_id, protect_content, has_spoiler, disable_notification, message_thread_id) Отправка анимации в Телеграм Телеграм
tg_send_chat_action Телеграм var = tg_send_chat_action(platform_id, bot_action, message_thread_id) Показывать пользователю действие бота (печатает, записывает видео и т.д.). bot_action[3] Телеграм
tg_send_document Телеграм int = tg_send_document(platform_id, document, caption, reply_markup, parse_mode, reply_to_message_id, protect_content, disable_notification, message_thread_id) Отправка документа в Телеграм Телеграм
tg_send_invoice Телеграм var = tg_send_invoice(provider_token, platform_id, title, description, currency, prices, photo_url, payload, protect_content, disable_notification, need_name, need_phone_number, need_email, reply_to_message_id, reply_markup) Выставление счета клиенту в Телеграм (должна быть подключена система приема платежей) Телеграм
tg_send_message Телеграм int = tg_send_message(platform_id, text, client_message_id, reply_markup, parse_mode, disable_web_page_preview, protect_content, disable_notification, message_thread_id) Отправка сообщения в Телеграм Телеграм
tg_send_message_1 Телеграм int = tg_send_message_1(token, platform_id, text, client_message_id, reply_markup, parse_mode, disable_web_page_preview, protect_content, disable_notification, message_thread_id) Отправка сообщения в Телеграм с указанием конкретного бота Телеграм
tg_send_poll Телеграм int = tg_send_poll(platform_id, question, options, is_anonymous, allows_multiple_answers, reply_markup, disable_notification, protect_content, token) Создание простого опроса в Телеграм Телеграм
tg_send_quiz_poll Телеграм int = tg_send_quiz_poll(platform_id, question, options, explanation, correct_option_id, is_anonymous, allows_multiple_answers, reply_markup, disable_notification, protect_content, token) Создание простого опроса в Телеграм Телеграм
tg_send_some_audio Телеграм int = tg_send_some_audio(platform_id, audio_list, disable_notification, reply_to_message_id, message_thread_id) Отправка нескольких аудиофайлов в Телеграм Телеграм
tg_send_some_document Телеграм int = tg_send_some_document(platform_id, document_list, disable_notification, reply_to_message_id, message_thread_id) Отправка нескольких документов в Телеграм Телеграм
tg_send_some_video Телеграм int = tg_send_some_video(platform_id, video_list, disable_notification, protect_content, reply_to_message_id, has_spoiler, message_thread_id) Отправка нескольких видеофайлов в Телеграм Телеграм
tg_send_venue Телеграм int = tg_send_venue(platform_id, latitude, longitude, title, address, protect_content, disable_notification, reply_to_message_id, reply_markup, message_thread_id) Отправка географических координат (геоточки) в Телеграм Телеграм
tg_send_video Телеграм int = tg_send_video(platform_id, video, caption, reply_markup, parse_mode, reply_to_message_id, protect_content, has_spoiler, disable_notification, message_thread_id) Отправка видеофайла в Телеграм Телеграм
tg_send_voice Телеграм int = tg_send_voice(platform_id, voice, caption, reply_markup, parse_mode, reply_to_message_id, protect_content, disable_notification, message_thread_id) Отправка голосового сообщения в Телеграм Телеграм
tg_set_administrator_title Телеграм tg_set_administrator_title(platform_id, user_id, title) Установка титула администратора канала (до 16 символов) Телеграм
tg_set_bot_description Телеграм tg_set_bot_description(description, language_code) Установка приветственного сообщения описания бота Телеграм
tg_set_bot_short_description Телеграм tg_set_bot_short_description(description, language_code) Установка описания Информация о боте /setabouttext Телеграм
tg_set_command Телеграм tg_set_command(commands, language_code, scope, chat_id, user_id) Установка команд бота, аналогично /setcommands в BotFather.

Команды вызываются пользователем в меню чата или при нажатии / Переменная commands должна иметь вид: [["command1", "description"],["command2", "description"]]

Телеграм
tg_stop_poll Телеграм var = tg_stop_poll(platform_id, message_id) Завершение опроса или викторины Телеграм
tg_unban_chat_member Телеграм tg_unban_chat_member(chat_id, user_id) Разблокировка подписчика в чате/канале Телеграм
tg_unban_chat_sender_chat Телеграм tg_unban_chat_sender_chat(chat_id, chat_id_user) Разбан в чате Телеграм, разблокирует возможность писать не только от имени этого сообщества, но и от всех прочих с аналогичным владельцем Телеграм
tg_unhide_general_forum_topic Телеграм tg_unhide_general_forum_topic(platform_id) Отображение скрытой главной темы группы (включение видимости) Телеграм
tg_unpin_all Телеграм tg_unpin_all(chat_id) Открепление всех закрепленных сообщений в чате Телеграм
tg_unpin_chat_message Телеграм tg_unpin_chat_message(chat_id, message_id) Открепление закрепленного сообщения в чате Телеграм
tg_unpin_topic_messages Телеграм tg_unpin_topic_messages(platform_id, message_thread_id) Открепление закрепленных сообщений темы (топика) Телеграм
title Строковые str = title(text) Начало слов в верхнем регистре, остальные буквы приводятся в нижний регистр
update_task Задачи int = update_task(task_id, opEmail, taskName, expDate, text, expTime) Обновление задачи. Возвращает номер обновленной задачи вкладка Клиенты
upper Строковые str = upper(text) Приведение строки к верхнему регистру
urlencode Строковые str = urlencode(url) Кодирование строки адреса в безопасное представление
vk_vision_recognize_text Прочее str = vk_vision_recognize_text() Распознавание текста с изображения, отправленного в чат бота. Для работы используется нейросеть ВКонтакте. Для работы потребуется токен для функции распознавания ВКонтакте
was_in_state Клиенты bool = was_in_state(message_id) Проверка - был клиент в выбранном состоянии/блоке (True) или нет (False)
whatsapp_message Сообщения whatsapp_message(phone, text, message_id) Отправка сообщения в мессенджер WhatsApp клиента WhatsApp
wildberries_goods_feedbacks Прочее wildberries_goods_feedbacks(goods_id, name) Позволяет спарсить/вытащить отзывы с маркетплейса Wildberries по артикулу товара. Если клиент указал свое имя, то отзывы можно фильтровать по имени.
zadarma_call Телефония var = zadarma_call(short_number, client_phone) Cовершение обратного звонка абоненту посредством подключенной телефонии от Zadarma Zadarma


Дополнительные параметры функций
Функция Параметр Возможные значения Описание значения Пример использования параметра
tg_set_command,

tg_get_command,

tg_delete_command

commands определяются разработчиком Произвольный набор команд и описаний [["command1", "description"],["command2", "description"]]
scope default (значение по умолчанию) Команды доступны пользователям в личных сообщениях с ботом 'all_group_chats'
all_private_chats для пользователей в закрытых (приватных) чатах
all_group_chats для пользователей в групповых чатах и супер-группах
all_chat_administrators для администраторов в групповых чатах и супер-группах
chat для пользователей только в чате chat_id
chat_administrators для администраторов только в чате chat_id
chat_member для пользователя user_idтолько в чате chat_id


Описание


В колонке Использование в левой части выражения указан тип возвращаемой переменной, это может быть:

str (строка), float (дробное число), int (целое число), bool (логический тип), var (вариативный), array (массив).

В правой части выражения, в подсказках, тип параметра:

Типы параметров
Подсказка параметра Тип Описание Пример
str строка любой текст, необходимо использовать кавычки '' 'парам1', '0', '50%'
char символ один символ в кавычках ','
int целое число целое число (положительное или отрицательное) -2^31 - 2^31
cardinal числа без знака положительное целое число или 0 0, 1, 2, 3...
float дробное число дробное число (положительное или отрицательное) -100.0, 3.14, -2
bool логический тип два возможных значения: True или False, 1 или 0 True, 0
date дата дата в формате: 'dd.mm.yyyy' '21.05.1990'
time время время в формате: 'hh:mm' '08:40'


  1. Для корректной работы метода должен быть установлен флаг auto_take_client_changer (вкладка Сотрудники -> страница Автоматизация)
  2. Символы: _ * [ ] ( ) ~ ` > # + - = | { } . !
  3. typing, upload_photo, record_video, record_voice, upload_voice, upload_document, choose_sticker, find_location, record_video_note, upload_video_note