MyChat Scripts Language: довідник "Типи повідомлень"
Список можливих варіантів типів повідомлень у MyChat.
У всіх JSON-об'єктах UNICODE-символи та спеціальні символи (слеші, лапки тощо) повинні екрануватися.
Зображення. Текст, розбитий рядками CRLF. Символи "//" та текст після них — пояснення, у реальному повідомленні їх немає.
01baeef3a5b9c339aebf2511e9b5ab819df713be // SHA1 хеш файлу Screenshot (Alexey Pikurov) 2020-12-09 19-12-39.png // назва файлу 61959556.737768 // date and time stamp файлу в UTC 94147 // розмір файлу в байтах 1087x600 // роздільність картинки в точках |
Посилання на виконання функції автоматизації MyChat. JSON об'єкт.
{ "ActionIdx" : 16 // номер action-у ... // можуть бути інші поля , залежно від типу action-у } |
Посилання на ресурс у локальній мережі. JSON об'єкт. Приклади:
c:\folder\ d:\folder\file.txt Z:\ file:///E:/Doc/%D0%94%D0%BE%D0%BA/ \\COMP\Folder\ \\COMP\Folder\file.exe
"\\TOSHIBA-PC\test\mcclient77to8Test\7z.dll" "\\TOSHIBA-PC\backup\txt"
{ "Link" : "\\TOSHIBA-PC\backup\txt", // текст посилання "Desc" : "Бла-бла-бла" // опис посилання. Необов'язковий параметр, // якщо його немає, вставляти в чат опис, // рівний тексту посилання } |
Інтернет-посилання. JSON об'єкт. Приклади:
http:// https:// ftp:// www.nsoft-s.com domain.google internal.google домен.укр { "Link" : "https://nsoft-s.com", // текст посилання "Desc" : "Бла-бла-бла" // опис посилання. Необов'язковий параметр, // якщо його немає, вставляти в чат опис, // рівний тексту посилання }
|
9. MSG_TYPE_PREVIEW_CUSTOM_LINK
Звичайний UNICODE багаторядковий текст. Цей тип ставиться, якщо в команді надсилання повідомлення Integration API (наприклад, MCIAPI_CS_SendPrivateMessage або MCIAPI_CS_SendChannelMessage) не був вказаний тип повідомлення. |
Медіа-дзвінок (аудіо або відео). JSON об'єкт.
{ "UINFrom" : 17, // хто дзвонив "UINTo" : 23, // кому дзвонив "dtUTC" : "12.11.2019.17.37.55", // дата та час дзвінка в UTC "Type" : 0, // тип дзвінка (voice, video, screen sharing) "Duration" : 0, // тривалість дзвінка за секунди, // якщо 0 – дзвінок не відбувся "State" : 0, // статус дзвінка, константа, mediastate_.... "Error" : "", // текст помилки, якщо є "UINFromClientType" : "win32", // тип програми, хто дзвонив, може бути порожнім "UINToClientType" : "android" // тип програми, кому дзвонили, може бути порожнім } |
13. MSG_TYPE_IGNORE
14. MSG_TYPE_SERVICE
17. MSG_TYPE_CONF_CHANGE_TOPIC
Покарання користувача конференції за будь-що. JSON об'єкт.
{ "bantype" : 1, // тип бана, 1 - заборона на відправку повідомлень, // 2 - заборона на вхід до конференції "reason" : "bla-bla-bla", // причина бана "banneduin" : 1, // UIN покараного користувача "dtutcuntil" : "09.12.2020.20.54.56"} // дата та час закінчення покарання, в UTC |
Вигнання користувача із конференції. JSON об'єкт.
{ "UIN" : 17, // ідентифікатор користувача, якого вигнали "DisplayName" : "John Smith" // ім'я користувача, якого вигнали з конференції } |
Повідомлення про прочитане оповіщення. JSON об'єкт.
{ "UIN" : 17, // ідентифікатор користувача, що прочитав оповіщення "ChangeID" : 786, // ChangeID цього користувача "ID" : 14750, // ідентифікатор оповіщення, ціле число > 0 "ReadCount" : 3, // скільки вже прочитано цих оповіщень "TotalCount" : 10, // скільки було надіслано таких оповіщень "MsgBrief" : "Bla-bla-bla" // текст оповіщення, скорочений до 100 символів } |
21. MSG_TYPE_COMMENT
Просто багаторядковий текст, коментар, який не відображається у WEB-чаті підтримки на сайті, але видно у всіх програмах MyChat. |
Повідомлення про подію на Kanban-дошці. JSON об'єкт.
{ "Avatar": 1178101805, "UIN": 3, "Sex": 1, "OldStageName": "test stage", "TaskID": 641, "StageName": "in work", "DisplayName": "Andrey Rakov", "ProjectID": 12, "What": 4, // що відбулось: // 1: KANBAN_NOTIFY_TASK_ADDED // 2: KANBAN_NOTIFY_TASK_PERFORMER_CHANGED // 3: KANBAN_NOTIFY_COMMENT_ADDED // 4: KANBAN_NOTIFY_TASK_MOVED // 5: KANBAN_NOTIFY_TASK_CHANGED // 6: KANBAN_NOTIFY_TASK_DELETED // 7: KANBAN_NOTIFY_PROJECT_CLOSED // 8: KANBAN_NOTIFY_TASK_TAKEN "TaskName": "Bla-bla-bla" } |
23. MSG_TYPE_FILE
Файл. Багаторядковий UNICODE текст, розбитий CRLF. Символи "//" та текст після них — пояснення, у реальному повідомленні їх немає.
34ad8f64d45ae5e9f8f98aa66b13e8110a9a36d9 // SHA1 хеш файлу C:\Users\hobit\OneDrive\Документи\документ.docx // назва та повний шлях до файлу на пристрої відправника 36201701.737550 // date and time stamp файлу в UTC 19149 // розмір файлу в байтах |
Географічні позиції, JSON об'єкт.
{ "Address" : "м. Фастів, Київська обл., Україна, 08500", // адреса в текстовому форматі "Latitude" : "51.53543533", // широта "Longitude" : "47.55158556" // довгота } |
25. MSG_TYPE_CONTACT
Контакт в форматі vCard, JSON об'єкт.
{ "Name" : "Hobit", // назва контакту "Data" : "xurhdctkues5hmthm5yi8csd5y" // vCard-рядок } |
26. MSG_TYPE_AUDIO
27. MSG_TYPE_VIDEO
28. MSG_TYPE_ADM_DELETE_MESSAGE
Видалення будь-якого повідомлення за його індексом. Повідомлення генерується виключно сервером. JSON об'єкт.
{ "Type" : 0, // 0 - видалити для всіх, 1 - видалити тільки у мене "Idx" : 1745 // індекс повідомлення, яке потрібно видалити } |
Повідомлення про подію на вбудованому форумі. JSON об'єкт.
{ "Avatar": 1178101805, "UIN": 3, "Sex": 1, "DisplayName": "Andrіі Rakov", "PostID": 458, "Topic": "MyChat internal documentation", "What": 1, // що відбулось: // 1: FORUM_NOTIFY_POST_CREATED // 2: FORUM_NOTIFY_POST_CHANGED "Path": "s8\/t10" } |
Розмова перенаправлена від одного користувача іншому. JSON об'єкт.
{ "UIN" : 17, // користувач, якого потрібно "передати" іншому співрозмовнику "UINTo" : 3, // користувач, якому ми передаємо розмову "UINFrom" : 6, // користувач, який передає розмову "DisplayName" : "User1", "DisplayNameTo" : "Andy", "DisplayNameFrom" : "Alex" } |
31. MSG_TYPE_FORWARD
Вміст буфера обміну у текстовому вигляді таблиці MS Excel. Текстові рядки розділені CRLF. Символи "//" та текст після них — пояснення, у реальному повідомленні їх немає.
819ce3ba3278be1e88086f177b82a3f65292f3e4 // SHA1 хеш файлу скріншота Table data (Alexey Pikurov) 2020-12-09 23-32-21.png // назва файлу скріншота 77541357.737768 // date and time stamp файлу в UTC 7148 // розмір файлу картинки в байтах 929x115 // роздільна здатність картинки в точках Text // вміст тексту таблиці, за комірками, розділеними tab-ми (#9) та рядками, розділеними CRLF |
33. MSG_TYPE_BARCODE
Штрих-код або QR-код. JSON об'єкт.
{ "Data" : "https://nsoft-s.com/forum/", // дані зі штрихкоду "Body" : "kdjfnbgsk,sjdngfkjdnfgkjdnkgdg", // зображення, PNG 128х128 "Format" : "AZTEC" // формат } |
Посилання на спільну папку на файловому сервері FTP. Якщо Link порожній, перейти на кореневу папку. Можна послатись на папку або на конкретний файл, який лежить на публічному сервері FTP. JSON об'єкт.
{ "Link" : "" // текст посилання } |
Посилання на персональний FTP. Якщо Link порожній, перейти на кореневу папку. Можна послатись на папку або на конкретний файл, який лежить на сервері FTP. JSON об'єкт.
{ "Link" : "", // текст посилання "UIN" : 17 // ідентифікатор власника особистого FTP-акаунту } |
ідентифікатор власника особистого FTP-акаунту
{ "name" : "my conference", // назва конференції "conftype" : 1 // тип конференції, 1 - звичайна, 2 - закрита паролем, 3 - прихована } |
37. MSG_TYPE_CLEAR_TEXT_WINDOW
Повністю очистити вікно чату, працює тільки в чатах, у перегляді історії показується як технічне повідомлення, і вікно не очищається. JSON об'єкт.
{ "Total" : false // false - очищати чат тільки у відправника, // true - в обох учасників приватного діалогу // або у всіх учасників текстової конференції } |
38. MSG_TYPE_CONF_JUST_CREATED
Інформація про створену конференцію та запрошених до неї користувачів, JSON об'єкт.
{ "Name" : "Конференція", // назва конференції на момент створення "Topic" : "Бла-бла-бла", // тема конференції
"ConfType" : 1, // тип конференції: 1 - звичайна, 2 - закрита паролем, // 3 - прихована, вхід тільки за запрошенням
"JoinUsers":"17,1,3" // запрошені користувачі. Параметра може не бути // або він може бути порожнім. Це означає, // що не запрошували нікого } |
Вхідне оповіщення, JSON об'єкт.
{ "Msg": "Test message with some files", // текст оповіщення "Files": [ // масив файлів, які додали до оповіщення, може бути порожнім { "UTCWriteTime": "81201711.737768", "OriginalFileName": "free_serv_versions.sql", "Size": 6219, "Hash": "5c8c5f2629aa17504fbcef3783f8edbfc411e41f" }, { "UTCWriteTime": "81206099.737768", "OriginalFileName": "web_clients.sql", "Size": 1714, "Hash": "673223386a1c811aaee2c497de2746cde09f654b" } ] } |
Одного або кількох користувачів запросили на конференцію, JSON об'єкт.
{ "UINS" : "1,7,3" // ідентифікатори запрошених користувачів } |
Файл, об'єкт JSON.
{ "Hash":"4a9ce85f4eaa971526c599d60e4a1f7a477c233e", "FileName":"Screenshot (Oleksii Pikurov) 2021-03-09 16-52-51.png", "UTCWriteTime":"53571815.737858", "Size":112224, "Desc":"Bla-Bla-Bla" } |
48. MSG_TYPE_MYCHAT_GUEST_SENT
Користувача успішно запросили до чату через сервіс MyChat Guest, JSON об'єкт.
{ "Email" : "[email protected]", // email користувача "UserName" : "User1", // ім'я користувача "Link" : "https://......", // посилання для входу в чат "в один клік" "dtUTC" : "2021.08.17.15.44.27", // дата та час в UTC, термін дії запрошення у форматі рік.місяць.день.години.хвилини.секунди "Type" : 1, // тип запрошення, 0 — одноразове, 1 — багаторазове "UID" : 17, // ідентифікатор конференції, якщо запрошують користувача не в приват. Інакше = -1 "ConfName" : "TestConf" // назву конференції, куди запросили користувача. Може бути порожнім, якщо UID = -1 } |
49. MSG_TYPE_CONF_PERSONAL_MESSAGE
Текстове повідомлення, призначене для списку користувачів або конкретної людини в конференції, JSON об'єкт.
{ "Text" : "Bla-bla-bla", // текст повідомлення "Users" : "17,2,194", // одержувачі повідомлення, хто має показати це повідомлення. Інші його просто пропускають "ShowTop" : false, // показати вікно програми поверх всіх вікон "Switch" : true // примусово перемкнути на конференцію } |