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 ya.ru domain.google internal.yandex домен.укр { "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 (deprecated)
Файл. Многострочный 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": "Andrey 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-аккаунта } |
Ссылка на текстовую конференцию, JSON объект.
{ "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 объект.
{ "UINS" : "1,7,3" // идентификаторы приглашённых юзеров } |
Одного или нескольких пользователей пригласили в конференцию, JSON объект.
{ "UINS" : "1,7,3" // идентификаторы приглашённых юзеров } |
Одного или нескольких пользователей пригласили в конференцию, JSON объект.
{ "UINS" : "1,7,3" // идентификаторы приглашённых юзеров } |
Одного или нескольких пользователей пригласили в конференцию, JSON объект.
{ "UINS" : "1,7,3" // идентификаторы приглашённых юзеров } |
Файл, JSON объект. Символы "//" и текст после них — пояснение, в реальном сообщении их нет.
{ "Hash":"4a9ce85f4eaa971526c599d60e4a1f7a477c233e", // sha-1 хеш файла "FileName":"Screenshot (Alexey Pikurov) 2021-03-09 16-52-51.png", // название файла с локальным путём отправителя "UTCWriteTime":"53571815.737858", // UTC timestamp файла, формат: // Number of milliseconds since midnight.One plus number of days since 1/1/0001 "Size":112224, // размер файла в байтах "Desc":"Bla-Bla-Bla" // описание файла, необязательный параметр } |
Одного или нескольких пользователей пригласили в конференцию, JSON объект.
{ "UINS" : "1,7,3" // идентификаторы приглашённых юзеров } |
Одного или нескольких пользователей пригласили в конференцию, JSON объект.
{ "UINS" : "1,7,3" // идентификаторы приглашённых юзеров } |
Одного или нескольких пользователей пригласили в конференцию, JSON объект.
{ "UINS" : "1,7,3" // идентификаторы приглашённых юзеров } |
48. MSG_TYPE_MYCHAT_GUEST_SENT
Пользователя успешно пригласили в чат через сервис MyChat Guest, JSON объект.
{ "Email" : "test@test.com", // 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 // принудительно переключиться на конференцию } |