Список можливих варіантів типів повідомлень у MyChat.


У всіх JSON-об'єктах UNICODE-символи та спеціальні символи (слеші, лапки тощо) повинні екрануватися.
 

hmtoggle_plus1 0. MSG_TYPE_OLD_SHIT

 

Текстовий рядок, старий тип повідомлень, залишено для сумісності.
 

hmtoggle_plus1 1. MSG_TYPE_TEXT

 

Багаторядний UNICODE текст, розбитий CRLF.
 

hmtoggle_plus1 2. MSG_TYPE_IMAGE

 

Зображення. Текст, розбитий рядками CRLF. Символи "//" та текст після них — пояснення, у реальному повідомленні їх немає.

 

01baeef3a5b9c339aebf2511e9b5ab819df713be // SHA1 хеш файлу

Screenshot (Alexey Pikurov) 2020-12-09 19-12-39.png // назва файлу

61959556.737768 // date and time stamp файлу в UTC

94147 // розмір файлу в байтах

1087x600 // роздільність картинки в точках
 

hmtoggle_plus1 3. MSG_TYPE_BEEP

 

Звуковий сигнал для привернення уваги.
 

hmtoggle_plus1 5. MSG_TYPE_MARKDOWN

 

Текст у розмітці Markdown. Зарезервовано.
 

hmtoggle_plus1 6. MSG_TYPE_ACTION

 

Посилання на виконання функції автоматизації MyChat. JSON об'єкт.

 

{

 "ActionIdx" : 16 // номер action-у

 ...              // можуть бути інші поля , залежно від типу action-у

}
 

hmtoggle_plus1 7. MSG_TYPE_LAN_LINK

 

Посилання на ресурс у локальній мережі. 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"  : "Бла-бла-бла"              // опис посилання. Необов'язковий параметр,

                                        // якщо його немає, вставляти в чат опис,

                                        // рівний тексту посилання

}
 

hmtoggle_plus1 8. MSG_TYPE_ANY_LINK

 

Інтернет-посилання. JSON об'єкт. Приклади:

 

http://

https://

ftp://

www.nsoft-s.com

domain.google

internal.google

домен.укр
 

{

   "Link"  : "https://nsoft-s.com", // текст посилання

   "Desc"  : "Бла-бла-бла"          // опис посилання. Необов'язковий параметр,

                                    // якщо його немає, вставляти в чат опис,

                                    // рівний тексту посилання

}

 

hmtoggle_plus1 9. MSG_TYPE_PREVIEW_CUSTOM_LINK

 

Зарезервовано.
 

hmtoggle_plus1 10. MSG_TYPE_INTEGRATION_API

 

Звичайний UNICODE багаторядковий текст. Цей тип ставиться, якщо в команді надсилання повідомлення Integration API (наприклад, MCIAPI_CS_SendPrivateMessage або MCIAPI_CS_SendChannelMessage) не був вказаний тип повідомлення.
 

hmtoggle_plus1 11. MSG_TYPE_SOURCE_CODE

 

Оригінальний текст програми будь-якою мовою програмування. Зарезервовано.
 

hmtoggle_plus1 12. MSG_TYPE_MEDIA_CALL

 

Медіа-дзвінок (аудіо або відео). 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"  // тип програми, кому дзвонили, може бути порожнім

}
 

hmtoggle_plus1 13. MSG_TYPE_IGNORE

 

Повідомлення про те, що ваше повідомлення було проігноровано одержувачем. Зарезервовано.
 

hmtoggle_plus1 14. MSG_TYPE_SERVICE

 

Зарезервовано.
 

hmtoggle_plus1 17. MSG_TYPE_CONF_CHANGE_TOPIC

 

Зарезервовано.
 

hmtoggle_plus1 18. MSG_TYPE_CONF_BAN

 

Покарання користувача конференції за будь-що. JSON об'єкт.

 

{

 "bantype"    : 1,                     // тип бана, 1 - заборона на відправку повідомлень,

                                       // 2 - заборона на вхід до конференції

 "reason"     : "bla-bla-bla",         // причина бана

 "banneduin"  : 1,                     // UIN покараного користувача

 "dtutcuntil" : "09.12.2020.20.54.56"} // дата та час закінчення покарання, в UTC
 

hmtoggle_plus1 19. MSG_TYPE_CONF_TURN_OUT

 

Вигнання користувача із конференції. JSON об'єкт.

 

{

 "UIN"         : 17,          // ідентифікатор користувача, якого вигнали

 "DisplayName" : "John Smith" // ім'я користувача, якого вигнали з конференції

}
 

hmtoggle_plus1 20. MSG_TYPE_BROADCAST_NOTIFY

 

Повідомлення про прочитане оповіщення. JSON об'єкт.

 

{

 "UIN"        : 17,           // ідентифікатор користувача, що прочитав оповіщення

 "ChangeID"   : 786,          // ChangeID цього користувача

 "ID"         : 14750,        // ідентифікатор оповіщення, ціле число > 0

 "ReadCount"  : 3,            // скільки вже прочитано цих оповіщень

 "TotalCount" : 10,           // скільки було надіслано таких оповіщень

 "MsgBrief"   : "Bla-bla-bla" // текст оповіщення, скорочений до 100 символів

}
 

hmtoggle_plus1 21. MSG_TYPE_COMMENT

 

Просто багаторядковий текст, коментар, який не відображається у WEB-чаті підтримки на сайті, але видно у всіх програмах MyChat.
 

hmtoggle_plus1 22. MSG_TYPE_KANBAN_NOTIFY

 

Повідомлення про подію на 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"

}
 

hmtoggle_plus1 23. MSG_TYPE_FILE

 

Файл. Багаторядковий UNICODE текст, розбитий CRLF. Символи "//" та текст після них — пояснення, у реальному повідомленні їх немає.

 

34ad8f64d45ae5e9f8f98aa66b13e8110a9a36d9 // SHA1 хеш файлу

C:\Users\hobit\OneDrive\Документи\документ.docx // назва та повний шлях до файлу на пристрої відправника

36201701.737550 // date and time stamp файлу в UTC

19149 // розмір файлу в байтах
 

hmtoggle_plus1 24. MSG_TYPE_LOCATION

 

Географічні позиції, JSON об'єкт.

 

{

 "Address"   : "м. Фастів, Київська обл., Україна, 08500", // адреса в текстовому форматі

 "Latitude"  : "51.53543533",                              // широта

 "Longitude" : "47.55158556"                               // довгота

}
 

hmtoggle_plus1 25. MSG_TYPE_CONTACT

 

Контакт в форматі vCard, JSON об'єкт.

 

{

 "Name" : "Hobit",                     // назва контакту

 "Data" : "xurhdctkues5hmthm5yi8csd5y" // vCard-рядок

}
 

hmtoggle_plus1 26. MSG_TYPE_AUDIO

 

Зарезервовано.
 

hmtoggle_plus1 27. MSG_TYPE_VIDEO

 

Зарезервовано.
 

hmtoggle_plus1 28. MSG_TYPE_ADM_DELETE_MESSAGE

 

Видалення будь-якого повідомлення за його індексом. Повідомлення генерується виключно сервером. JSON об'єкт.

 

{

 "Type" : 0,   // 0 - видалити для всіх, 1 - видалити тільки у мене

 "Idx"  : 1745 // індекс повідомлення, яке потрібно видалити

}
 

hmtoggle_plus1 29. MSG_TYPE_FORUM_NOTIFY

 

Повідомлення про подію на вбудованому форумі. 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"

}
 

hmtoggle_plus1 30. MSG_TYPE_PRIVATE_REDIRECT

 

Розмова перенаправлена від одного користувача іншому. JSON об'єкт.

 

{

 "UIN"             : 17, // користувач, якого потрібно "передати" іншому співрозмовнику

 "UINTo"           : 3,  // користувач, якому ми передаємо розмову

 "UINFrom"         : 6,  // користувач, який передає розмову

 "DisplayName"     : "User1",

 "DisplayNameTo"   : "Andy",

 "DisplayNameFrom" : "Alex"

}
 

hmtoggle_plus1 31. MSG_TYPE_FORWARD

 

Зарезервовано.
 

hmtoggle_plus1 32. MSG_TYPE_CLIPBOARD_EXCEL

 

Вміст буфера обміну у текстовому вигляді таблиці 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
 

hmtoggle_plus1 33. MSG_TYPE_BARCODE

 

Штрих-код або QR-код. JSON об'єкт.

 

{

 "Data"   : "https://nsoft-s.com/forum/",     // дані зі штрихкоду

 "Body"   : "kdjfnbgsk,sjdngfkjdnfgkjdnkgdg", // зображення, PNG 128х128

 "Format" : "AZTEC"                           // формат

}
 

hmtoggle_plus1 34. MSG_TYPE_FTP_PUBLIC

 

Посилання на спільну папку на файловому сервері FTP. Якщо Link порожній, перейти на кореневу папку. Можна послатись на папку або на конкретний файл, який лежить на публічному сервері FTP. JSON об'єкт.

 

{

 "Link" : "" // текст посилання

}
 

hmtoggle_plus1 35. MSG_TYPE_FTP_PERSONAL

 

Посилання на персональний FTP. Якщо Link порожній, перейти на кореневу папку. Можна послатись на папку або на конкретний файл, який лежить на сервері FTP. JSON об'єкт.

 

{

 "Link" : "", // текст посилання

 "UIN"  : 17  // ідентифікатор власника особистого FTP-акаунту

}
 

hmtoggle_plus1 36. MSG_TYPE_TEXT_CONF_LINK

 

ідентифікатор власника особистого FTP-акаунту

 

{

 "name"     : "my conference", // назва конференції

 "conftype" : 1                // тип конференції, 1 - звичайна, 2 - закрита паролем, 3 - прихована

}
 

hmtoggle_plus1 37. MSG_TYPE_CLEAR_TEXT_WINDOW

 

Повністю очистити вікно чату, працює тільки в чатах, у перегляді історії показується як технічне повідомлення, і вікно не очищається. JSON об'єкт.

 

{

 "Total" : false // false - очищати чат тільки у відправника,

                 // true - в обох учасників приватного діалогу

                 // або у всіх учасників текстової конференції

}
 

hmtoggle_plus1 38. MSG_TYPE_CONF_JUST_CREATED

 

Інформація про створену конференцію та запрошених до неї користувачів, JSON об'єкт.

 

{

 "Name" : "Конференція", // назва конференції на момент створення

 "Topic" : "Бла-бла-бла", // тема конференції

 

 "ConfType" : 1, // тип конференції: 1 - звичайна, 2 - закрита паролем,

                 // 3 - прихована, вхід тільки за запрошенням

 

 "JoinUsers":"17,1,3" // запрошені користувачі. Параметра може не бути

                      // або він може бути порожнім. Це означає,

                      // що не запрошували нікого

}
 

hmtoggle_plus1 39. MSG_TYPE_BROADCAST

 

Вхідне оповіщення, 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"

   }

 ]

}
 

hmtoggle_plus1 40. MSG_TYPE_CONF_INVITED

 

Одного або кількох користувачів запросили на конференцію, JSON об'єкт.

 

{

 "UINS" : "1,7,3" // ідентифікатори запрошених користувачів

}
 

hmtoggle_plus1 41. MSG_TYPE_CONF_INVITED

 


 

hmtoggle_plus1 42. MSG_TYPE_CONF_INVITED

 


 

hmtoggle_plus1 43. MSG_TYPE_CONF_INVITED

 


 

hmtoggle_plus1 44. MSG_TYPE_CONF_INVITED

 


 

hmtoggle_plus1 45. MSG_TYPE_FILE_NEW

 

Файл, об'єкт JSON.

 

{

 "Hash":"4a9ce85f4eaa971526c599d60e4a1f7a477c233e",

 "FileName":"Screenshot (Oleksii Pikurov) 2021-03-09 16-52-51.png",

 "UTCWriteTime":"53571815.737858",

 "Size":112224,

 "Desc":"Bla-Bla-Bla"

}
 

hmtoggle_plus1 46. MSG_TYPE_CONF_INVITED

 


 

hmtoggle_plus1 47. MSG_TYPE_CONF_INVITED

 


 


hmtoggle_plus1 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

}

 

hmtoggle_plus1 49. MSG_TYPE_CONF_PERSONAL_MESSAGE

 

Текстове повідомлення, призначене для списку користувачів або конкретної людини в конференції, JSON об'єкт.

 

{

 "Text"    : "Bla-bla-bla", // текст повідомлення

 "Users"   : "17,2,194",    // одержувачі повідомлення, хто має показати це повідомлення. Інші його просто пропускають

 "ShowTop" : false,         // показати вікно програми поверх всіх вікон

 "Switch"  : true           // примусово перемкнути на конференцію

}