Если по какой-то причине вы не можете работать с DLL библиотекой или в списке интеграций нет того, что вам нужно, можно работать с сервером MyChat напрямую, через сетевые сокеты. Это позволяет большинство языков и систем программирования.
Данные по сети отправляются в однобайтовой ASCII кодировке. Каждая строка заканчивается символом CRLF (#13#10), 2 байта, внутренних разделителей в самой строке нет, все данные "склеиваются" одно за другим.
Схема работы любой команды MyChat Integration API состоит из четырёх этапов:
1.Подключение к серверу.
2.Отправка команды в JSON формате.
3.Получение результата работы в JSON формате.
4.Отключение от сервера.
Например, JSON объект для отправки приватного сообщения (MCIAPI_CS_SendPrivateMessage):
SendPrivateMessage JSON
{
"UserTo" : 15427,
"UserFrom" : 0,
"Msg" : "Hello",
"hash" : "",
"APIStype" : "customapi",
"ServerKey" : "iddqd"
}
Работаем в синхронном режиме (blocked mode), команды отправки и чтения идут строго по порядку.
На псевдокоде это будет выглядеть так:
try
1. Connect to IP/port
2. writeln "mc5.18"
3. readln (sc_hello)
4. writeln MagicPacket + cs_integration_api + iFlag + MCIAPI_CS_SendPrivateMessage + JSON
5. readln (JSON, server reply)
except
Warning!!! Network Error (SOCKET) number and description
end;
Константы, которые вы будете использовать
Константа |
Значение |
Размер в байтах |
---|---|---|
CRLF |
#13#10 |
2 (текстовая строка) |
MCIAPI_CS_SendPrivateMessage |
"0002" |
4 (текстовая строка) |
MagicPacket |
#23#6 |
2 |
cs_integration_api |
"0077" |
4 (текстовая строка) |
iFlag |
30 |
2 |