Структура пользовательских JSON-меню в MyChat
Приклад робочого меню:
{
"rootname": "Links",
"rooticon": 196,
"items": 11,
"item1": {
"name": "Sales requests",
"icon": 173,
"type": "open-link",
"data": "https://mycompany.com/kanban/#project=74"
},
"item2": {
"type": "hr"
},
"item3": {
"name": "iOS bugs",
"icon": 173,
"type": "open-link",
"data": "https://mycompany.com/kanban/#project=48"
},
"item4": {
"name": "Android bugs",
"icon": 173,
"type": "open-link",
"data": "https://mycompany.com/kanban/#project=25"
},
"item5": {
"name": "Kanban bugs",
"icon": 173,
"type": "open-link",
"data": "https://mycompany.com/kanban/#project=3"
},
"item6": {
"name": "Blue flag (server script)",
"icon": 172,
"type": "server-script",
"data": "OpenPrivateSupport",
"params": "%username% :)"
},
"item7": {
"name": "Tree example"
},
"item8": {
"parent": "item7",
"name": "Red flag (action link)",
"icon": 177,
"type": "exec-action",
"data": "about",
"params": ""
},
"item9": {
"parent": "item7",
"name": "Pill icon (Open help topic)",
"icon": 185,
"type": "open-help",
"data": "mychatclientwindows"
},
"item10": {
"name": "Disabled item",
"enable": false
},
"item11": {
"name": "Open text file",
"type": "open-link",
"data": "F:\\Public\\docs\\інструкція для техніків.txt"
}
}
Важливо! Назви параметрів та їх тип мають бути вказані у нижньому регістрі, точно, як у таблиці, це має значення.
Обов'язкові елементи
Параметр |
Тип |
Опис |
rootname |
string |
рядок, назва кореневого елемента меню, що буде видно у додатку MyChat Client у головному меню; |
rooticon |
integer |
індекс іконки з готового списку; |
items |
integer |
загальна кількість елементів меню. Всі вони будуть називатися "item1", "item2", "item3" і так далі. Нумерація з одиниці, пропуски не дозволяються. |
Вкладені елементи
Усі вкладені пункти меню мають обов'язкову назву "item" та номер елемента, наприклад, "item15". Послідовність не має значення, можна перераховувати елементи по порядку або згідно іншої схеми, як вам зручніше. Головне, щоб кількість елементів була не меншою, ніж зазначено в параметрі "items".
Параметр |
Тип |
Опис |
name |
string |
назва пункту меню, текстовий рядок; |
parent |
string |
якщо цього параметра немає, то пункт меню буде в кореневому розділі, якщо є — то вказується назва батьківського розділу, наприклад, "item12"; |
icon |
integer |
індекс іконки з готового списку; |
type |
string |
тип елемента меню, можливі варіанти:
|
data |
string |
вміст, з яким треба буде працювати команді:
|
params |
string |
|
enable |
boolean |
якщо вказати false, то пункт меню показуватиметься неактивним (disable) і по ньому не можна буде клікнути мишкою. Це буває зручно, якщо потрібно тимчасово заборонити елемент, але видаляти його з JSON не хочеться. |