-
Notifications
You must be signed in to change notification settings - Fork 0
JSON
Для взаимодействия с библиотекой, нужно уметь настраивать json конфигурацию бота.
-
name:str - Название бота -
short_description:str - Короткое описание бота, которое указано в его профиле -
description:str - описание бота, которое отображается по центру чата -
font_style:str - стиль текста по умолчанию. Не обязательный параметр.boldПараметры, которые добавятся автоматически:-
username:str - линк бота -
id:int - id бота
-
название_меню:
-
text:str - текст меню. Поддерживает шаблонизацию. Обязательный параметр -
function:str - название функции, которая есть в Вашем файле. Будет выполнено перед обработкой всех параметров -
send:dict - отправка меню, указанным пользователям. Параметры:-
text:str - Обязательный параметр, если не указан параметр menu. К меню будет добавлена кнопка:{"notification" : "{variables.tta_notification}"} -
menu:str - название меню, которое будет отправлено. Обязательный параметр -
id:str list int -telegram_idпользователя, которому будет отправлено меню. Обязательный параметр. Типы значения параметров:-
int- прямое указаниеtelegram_id: 123456789 -
list- указать несколько telegram_id: [-123456789, 987654321] -
str- указание роли вTTA. Меню будет отправлено всем пользователям с такой ролью: "user"
-
-
-
input:dict - меню, будет ожидать (пока что) ввод сообщения пользователя для дальнейшей обработки. После ввода, сообщение пользователя удалится, а текущее меню бота обновится. Параметры:-
menu:str - меню, которое откроется. Обязательный параметр -
function:str - функция, которая будет выполнена после ввода -
data:str - Название параметра, которое будет передано в Вашу функцию. По умолчанию, параметр будет названinput_text
-
-
popup:str dict - Всплывающее меню. Открывается перед открытием меню. Можно указать текст сразу. Так же есть параметры:-
text:str - текст всплывающего меню. Обязательный параметр -
size:str - размер всплывающего меню (big,small). По умолчанию -small -
blocked:bool - заблокирует вывод меню. Меню, просто не откроется и будет показано только всплывающее меню (true,false). По умолчанию -false
-
-
keyboard:str dict-inlineклавиатура, которая будет показана под сообщением. Поддерживает 2 типа значений параметров:str,dict. Если указан текст, то будет выполнена функция, которая должна вернутьdict. Параметры для типаdict:-
название_меню:str - текст кнопки. Если перед текстом кнопки указать\, то кнопка перенесется на следующую строку -
function:str - название функции.Ещё одно выполнение функции, но только теперь кнопки вставятся в уже готовую клавиатуру - Так же существуют дополнительные магические слова, которые нужно добавлять перед
название_меню:-
url:ссылка_на_страницу- Будет создана кнопка - ссылка, которая будет открывать указанную страницу -
app:ссылка_на_mini_app- будет открыто мини приложение телеграмма, которое привязано к боту -
copy:текст_для_копирования- при нажатии, в буфер обмена копируетсятекст_для_копирования -
role:роль_из_TTA- указывается даже перед всеми магическими словами. Кнопка добавится только тем пользователям, кто обладает такой ролью
-
-
-
return:str - название меню. Кнопка, которая добавится в текущую клавиатуру, на следующую строку. Обычно используется для возврата в указанное меню. Использует текстvariables.tta_return -
row:int - ширина клавиатуры. По умолчанию:2 -
loading:str bool - выполняется раньше всех параметров. Рекомендуется использовать, если функции, будут долго выполнятся. Использует 2 типа параметров:bool,str. Если указаноtrue, текст меню, будет указанvariables.tta_loading. Если указать текст, то будет отображен этот текст. По умолчаниюfalse -
pagination:int - количество кнопок, которые отобразятся в клавиатуре. Как только количество кнопок, превысит это значение, будут автоматически добавлены кнопки пагинации. По умолчанию:10
название_команды - название будет отображено в списке команд, если не указан параметр visible
-
description:str - описание команды. Обязательный параметр. Не поддерживает шаблонизацию -
menu:str - название меню, которое будет открыто после выполнения команды. Обязательный параметр -
delete:bool - удаление сообщения пользователя, с названием команды. По умолчаниюtrue -
update:bool - параметр, который влияет на то, отправится ли новое меню пользователю или будет изменено старое. По умолчаниюtrue -
visible:bool - отображение команды, в списке команд бота. По умолчаниюtrue
Работа с шаблонами, осуществляется с помощью {название_шаблона}
Практически все параметры str поддерживают шаблонизацию
Что бы передать параметр в меню, нужно использовать шаблон: название_меню|{название_шаблона}.После этого, название_шаблона добавляется в список переменных меню
Некоторые параметры передать невозможно передать заранее, поэтому для этого можно использовать параметр меню function. Ваша функция, должна будет вернуть dict, чтобы добавить Ваши значения в список переменных меню
Список переменных меню - массив данных, которые используются для шаблонизации
Изначально, это словарь dict, который на моменте шаблонизации превращается в плоский словарь. В плоском словаре, вложенность указывается через . Пример: user.username
Данные, которые есть в СПМ:
{
"user": {},
"menu_name":"название_текущего_меню",
"bot":{},
"variables":{},
"error":{}
}Параметры, которые были переданы в названии меню, добавляются на самый верхний уровень
Например вы вернули из function: my_function словарь:
{
"data":10,
"order":{
order_id: 1,
username: "test"
}
}В
СПМ, этот словарь будет иметь ключ, в виде названия функции, которая вернула этот словарь. Функции для работы с клавиатурой записываться вСПМне будут
Что бы вставить ваши данные, например, в текст меню, нужно указать: {my_function.data}. Или если мы хотим получить username пользователя: {my_function.order.username}
Проверка