Пн апр 25, 2016 4:12 pm Пн апр 25, 2016 4:12 pm
Пн апр 25, 2016 4:12 pm Пн апр 25, 2016 4:12 pm
SendPrivateMessage JSON
{
  "UserTo"   : 15427,
  "UserFrom" : 0,
  "Msg"      : "Hello",
  "APIStype" : "joomla3x",
  "ServerKey" : "iddqd"
}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
  Ahtung!!! Network Error (SOCKET) number and description
end;const
  cs_integration_api = '0077';
  MagicPacket = #23#6;
  mcsignature = 'mc5.3';
  MCIAPI_CS_SendPrivateMessage = '0002';
var
  CSock: TidTCPClient;
  sIn: string;
begin
  CSock := TIdTCPClient.Create;
  CSock.Host := sIP;
  CSock.Port := iPort;
  CSock.Connect;
  CSock.Socket.WriteLnRFC(mcsignature); // функция WriteLnRFC сама добавляет в конец отправляемой строки два байта CRLF
  sIn := CSock.Socket.ReadLn; // читаем входящую строку. Конец строки - CRLF, аналогично
  CSock.Socket.WriteLnRFC(MagicPacket + cs_integration_api + IntToHex(iFlag, 2) + MCIAPI_CS_SendPrivateMessage + JSONobj.AsJSon);
  sIn := CSock.Socket.ReadLn;
  FreeAndNil(CSock);
end;import socket
import json
import struct
HOST = "se-ad01"
PORT = 2004
dict_obj = {
    "UserTo":   4,
    "UserFrom": 1,
    "Msg":      "Hello",
    "hash":     "",
    "APIStype": "emailcheck",
    "ServerKey": "1111"
}
n = json.dumps(dict_obj)
CRLF = r"\r\n"; # #13#10
CRLF = struct.pack("BB", 13, 10) # #13#10
MCIAPI_CS_SendPrivateMessage  = struct.pack("l", 2) # l - signed long type. 4 bytes
MCIAPI_CS_IsUINOnline         = struct.pack("l", 3)
MCIAPI_CS_SendChannelMessage  = struct.pack("l", 4)
MCIAPI_CS_GetUINByNick        = struct.pack("l", 5)
MCIAPI_CS_GetUINByEmail       = struct.pack("l", 6)
MCIAPI_CS_IsUINExists         = struct.pack("l", 7)
MCIAPI_CS_AddBBSMessage       = struct.pack("l", 8)
MCIAPI_SC_SetChannelTopic     = struct.pack("l", 9)
MCIAPI_CS_GetChannelNameByUID = struct.pack("l", 10)
MCIAPI_CS_IsChannelExists     = struct.pack("l", 11)
MCIAPI_CS_GetUINByADLogin     = struct.pack("l", 12)
MCIAPI_CS_GetInfoByUIN        = struct.pack("l", 13)
MCIAPI_CS_GetServerInfo       = struct.pack("l", 14)
MagicPacket = struct.pack("BB", 23, 6) # B - unsigned char. 1 byte
cs_integration_api = struct.pack("l", 77)
iFlag = struct.pack("h", 30) # h - signed short. 2 bytes
try:
    try: 
        skt = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    except socket.error as e:
        print ("Error creating socket: %s" % e)
    try: 
        skt.connect((HOST, PORT))
    except socket.gaierror as e:
        print("Address-related error connecting to server: %s" % e)
    except socket.error as e:
        print("Error connecting to socket: %s" % e)
    try: 
        #skt.send(b'mc5.18')
        #data = skt.recv(1024) 
        #print( bytes.decode(data))
        
        skt.send(MagicPacket + cs_integration_api + iFlag + MCIAPI_CS_SendPrivateMessage + json.dumps(dict_obj))
        
        data = skt.recv(1024)
        print bytes.decode(data)
        
    except socket.error as e:
        print("Error connecting to socket: %s" % e)
finally:
    skt.close()
#skt.send(b'mc5.18')
#data = skt.recv(1024) 
#print( bytes.decode(data))import socket
import json
import struct
HOST = "se-ad01"
PORT = 2004
dict_obj = {
    "UserTo":   4,
    "UserFrom": 0,
    "Msg":      "Hello",
    "hash":     "",
    "APIStype": "emailcheck",
    "ServerKey": "1111"
}
n = json.dumps(dict_obj)
CRLF = r"\r\n"; # #13#10
CRLF = struct.pack("BB", 13, 10) # #13#10
MCIAPI_CS_SendPrivateMessage  = struct.pack("l", 2) # l - signed long type. 4 bytes
MCIAPI_CS_IsUINOnline         = struct.pack("l", 3)
MCIAPI_CS_SendChannelMessage  = struct.pack("l", 4)
MCIAPI_CS_GetUINByNick        = struct.pack("l", 5)
MCIAPI_CS_GetUINByEmail       = struct.pack("l", 6)
MCIAPI_CS_IsUINExists         = struct.pack("l", 7)
MCIAPI_CS_AddBBSMessage       = struct.pack("l", 8)
MCIAPI_SC_SetChannelTopic     = struct.pack("l", 9)
MCIAPI_CS_GetChannelNameByUID = struct.pack("l", 10)
MCIAPI_CS_IsChannelExists     = struct.pack("l", 11)
MCIAPI_CS_GetUINByADLogin     = struct.pack("l", 12)
MCIAPI_CS_GetInfoByUIN        = struct.pack("l", 13)
MCIAPI_CS_GetServerInfo       = struct.pack("l", 14)
MagicPacket = struct.pack("BB", 23, 6) # B - unsigned char. 1 byte
cs_integration_api = struct.pack("l", 77)
iFlag = struct.pack("h", 30) # h - signed short. 2 bytes
try:
    try: 
        skt = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    except socket.error as e:
        print ("Error creating socket: %s" % e)
    try: 
        skt.connect((HOST, PORT))
    except socket.gaierror as e:
        print("Address-related error connecting to server: %s" % e)
    except socket.error as e:
        print("Error connecting to socket: %s" % e)
    try: 
        skt.send(b'mc5.18')
        data = skt.recv(1024) 
        print( bytes.decode(data))
        
        skt.send(MagicPacket + cs_integration_api + iFlag + MCIAPI_CS_SendPrivateMessage + json.dumps(dict_obj)+CRLF)
        
        data = skt.recv(1024)
        print bytes.decode(data)
        
    except socket.error as e:
        print("Error connecting to socket: %s" % e)
finally:
    skt.close()
800000{"ServPass":false,"ServName":"","UpdatePacketVer":"","UTC":6,"RelDate":"23.03.2016","ProtocolVer":"2.17","PortNode":80,"PortFTP":20000,"ServerVer":"5.18.0","HTTPS":false,"Registered":"-","HelloMsg":"","UpdatePacketSize":44769884,"YourIP":"192.168.3.2","HWID":"340981260_4497_6-10-5-600000000","Free":true,"UpdateCRC32":4072895046,"ForceUpdate":true,"CurrentDT":"26.04.2016.20.15.38.021"}
'\x17\x06M\x00\x00\x00\x1e\x00\x02\x00\x00\x00{"APIStype": "emailcheck", "hash": "", "ServerKey": "1111", "Msg": "Hello", "UserTo": 4, "UserFrom": 0}\r\n'import socket
import json
import struct
HOST = "se-ad01"
PORT = 2004
dict_obj = {
    "UserTo":   4,
    "UserFrom": 0,
    "Msg":      "Hello",
    "hash":     "",
    "APIStype": "customapi",
    "ServerKey": "1111"
}
CRLF = r"\r\n"; # #13#10
CRLF = struct.pack("BB", 13, 10) # #13#10
# MCIAPI_CS_SendPrivateMessage  = struct.pack("l", 2) # l - signed long type. 4 bytes
# MCIAPI_CS_IsUINOnline         = struct.pack("l", 3)
# MCIAPI_CS_SendChannelMessage  = struct.pack("l", 4)
# MCIAPI_CS_GetUINByNick        = struct.pack("l", 5)
# MCIAPI_CS_GetUINByEmail       = struct.pack("l", 6)
# MCIAPI_CS_IsUINExists         = struct.pack("l", 7)
# MCIAPI_CS_AddBBSMessage       = struct.pack("l", 8)
# MCIAPI_SC_SetChannelTopic     = struct.pack("l", 9)
# MCIAPI_CS_GetChannelNameByUID = struct.pack("l", 10)
# MCIAPI_CS_IsChannelExists     = struct.pack("l", 11)
# MCIAPI_CS_GetUINByADLogin     = struct.pack("l", 12)
# MCIAPI_CS_GetInfoByUIN        = struct.pack("l", 13)
# MCIAPI_CS_GetServerInfo       = struct.pack("l", 14)
MCIAPI_CS_SendPrivateMessage  = "0002"
MCIAPI_CS_IsUINOnline         = "0003"
MCIAPI_CS_SendChannelMessage  = "0004"
MCIAPI_CS_GetUINByNick        = "0005"
MCIAPI_CS_GetUINByEmail       = "0006"
MCIAPI_CS_IsUINExists         = "0007"
MCIAPI_CS_AddBBSMessage       = "0008"
MCIAPI_SC_SetChannelTopic     = "0009"
MCIAPI_CS_GetChannelNameByUID = "0010"
MCIAPI_CS_IsChannelExists     = "0011"
MCIAPI_CS_GetUINByADLogin     = "0012"
MCIAPI_CS_GetInfoByUIN        = "0013"
MCIAPI_CS_GetServerInfo       = "0014"
MagicPacket = struct.pack("BB", 23, 6) # B - unsigned char. 1 byte
cs_integration_api = "0077"
# iFlag = struct.pack("h", 30) # h - signed short. 2 bytes
iFlag = "30"
try:
    try: 
        skt = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    except socket.error as e:
        print ("Error creating socket: %s" % e)
    try: 
        skt.connect((HOST, PORT))
    except socket.gaierror as e:
        print("Address-related error connecting to server: %s" % e)
    except socket.error as e:
        print("Error connecting to socket: %s" % e)
    try: 
        skt.send(b'mc5.18\r\n')
        data = skt.recv(1024) 
        print( bytes.decode(data))
        
        skt.send(MagicPacket + cs_integration_api + iFlag + MCIAPI_CS_SendPrivateMessage + json.dumps(dict_obj)+CRLF)
        
        data = skt.recv(1024)
        print bytes.decode(data)
        
    except socket.error as e:
        print("Error connecting to socket: %s" % e)
finally:
    skt.close()
function ExecuteEx(FileName,Parameters,WorkFolder:string;RunType:integer):integerusing System; 
using System.Net.Sockets; 
using System.Net; 
using System.IO;
using Newtonsoft.Json;
namespace Client
{
    class PrivateMessage
    {
        public string UserTo { get; set; }
        public string UserFrom { get; set; }
        public string Msg { get; set; }
        public string hash { get; set; }
        public string APIStype { get; set; }
        public string ServerKey { get; set; }
    }
    class AddBBSMessage
    {
        public string ServerKey { get; set; }
        public string APIStyle { get; set; }
        public string UserFrom { get; set; }
        public string Expired { get; set; }
        public string Sticky { get; set; }
        public string Msg { get; set; }
    }
    class Program
    {
        static void Main(string[] args)
        {
            PrivateMessage PM = new PrivateMessage();
            PM.UserTo = "2";
            PM.UserFrom = "0";
            PM.Msg = "lalala";
            PM.hash = "";
            PM.APIStype = "customapi";
            PM.ServerKey = "U65aRYZfZM0zgrw6_MTi";
            string json_send_message = JsonConvert.SerializeObject(PM);
            AddBBSMessage add_bbs = new AddBBSMessage();
            add_bbs.ServerKey = "U65aRYZfZM0zgrw6_MTi";
            add_bbs.APIStyle = "customapi";
            add_bbs.UserFrom = "1";
            add_bbs.Expired = "10.09.2016.17.34.15";
            add_bbs.Sticky = "true";
            add_bbs.Msg = "html?";
            string json_add_bbs = JsonConvert.SerializeObject(add_bbs);
            
            string CRLF = "\u000D\u000A";
            string MagicPacket = "\u0017\u0006";            
            string cs_integration_api = "0077";
            string iFlag = "30";
            string MCIAPI_CS_SendPrivateMessage = "0002";
            string MCIAPI_CS_AddBBSMessage = "0008";
           
            TcpClient client = new TcpClient();
            client.Connect(new IPEndPoint(IPAddress.Parse("127.0.0.1"), 2004));
            StreamWriter sw = new StreamWriter(client.GetStream());
            sw.AutoFlush = true;
            string message = "mc5.18" + CRLF;
            Console.WriteLine("Client : " + message);
            sw.WriteLine(message);
            StreamReader sr = new StreamReader(client.GetStream());
            Console.WriteLine("Server : " + sr.ReadLine());
            //message = aaa; 
            Console.WriteLine("Client : " + MagicPacket + cs_integration_api + iFlag + MCIAPI_CS_SendPrivateMessage + json_send_message + CRLF);
            sw.WriteLine(MagicPacket + cs_integration_api + iFlag + MCIAPI_CS_AddBBSMessage + json_add_bbs + CRLF);
            Console.WriteLine("Server : " + sr.ReadLine());
            client.Close();
            Console.ReadKey();
        }
    }
}
   
string message = "mc5.20" + CRLF;Console.WriteLine("Client : " + MagicPacket + cs_integration_api + iFlag + MCIAPI_CS_SendPrivateMessage + json_send_message + CRLF);
            sw.WriteLine(MagicPacket + cs_integration_api + iFlag + MCIAPI_CS_SendPrivateMessage + json_send_message + CRLF); using System; 
using System.Net.Sockets; 
using System.Net; 
using System.IO;
using Newtonsoft.Json;
using System.Text;
namespace Client
{
    class PrivateMessage
    {
        public string UserTo { get; set; }
        public string UserFrom { get; set; }
        public string Msg { get; set; }
        public string hash { get; set; }
        public string APIStype { get; set; }
        public string ServerKey { get; set; }
    }
    class AddBBSMessage
    {
        public string ServerKey { get; set; }
        public string APIStyle { get; set; }
        public string UserFrom { get; set; }
        public string Expired { get; set; }
        public string Sticky { get; set; }
        public string Msg { get; set; }
    }
    class Program
    {
        static void Main(string[] args)
        {
            PrivateMessage PM = new PrivateMessage();
            PM.UserTo = "1";
            PM.UserFrom = "0";
            PM.Msg = "lalala";
            PM.hash = "";
            PM.APIStype = "customapi";
            PM.ServerKey = "tRmbkBc6ZqHzuyk7dkEL";
            string json_send_message = JsonConvert.SerializeObject(PM);
            AddBBSMessage add_bbs = new AddBBSMessage();
            add_bbs.ServerKey = "tRmbkBc6ZqHzuyk7dkEL";
            add_bbs.APIStyle = "customapi";
            add_bbs.UserFrom = "1";
            add_bbs.Expired = "10.09.2016.17.34.15";
            add_bbs.Sticky = "true";
            add_bbs.Msg = @"текст ";
            string json_add_bbs = JsonConvert.SerializeObject(add_bbs);
            
            string CRLF = "\u000D\u000A";
            string MagicPacket = "\u0017\u0006";            
            string cs_integration_api = "0077";
            string iFlag = "30";
            string MCIAPI_CS_SendPrivateMessage = "0002";
            string MCIAPI_CS_AddBBSMessage = "0008";
           
            TcpClient client = new TcpClient();
            client.Connect(new IPEndPoint(IPAddress.Parse("192.168.1.10"), 2004));
            StreamWriter sw = new StreamWriter(client.GetStream(),Encoding.GetEncoding(1251));
            sw.AutoFlush = true;
            string message = "mc5.20" + CRLF;
            Console.WriteLine("Client : " + message);
            sw.WriteLine(message);
            StreamReader sr = new StreamReader(client.GetStream(),Encoding.GetEncoding(1251));
            Console.WriteLine("Server : " + sr.ReadLine());
            
            Console.WriteLine("Client : " + MagicPacket + cs_integration_api + iFlag + MCIAPI_CS_AddBBSMessage + json_add_bbs + CRLF);
            sw.WriteLine(MagicPacket + cs_integration_api + iFlag + MCIAPI_CS_AddBBSMessage + json_add_bbs + CRLF);
            Console.WriteLine("Server : " + sr.ReadLine());
            client.Close();
            Console.ReadKey();
        }
    }
}
   
Steal A Brainrot continues to captivate players wi[…]
MyChat Client [-] (03.11.2025) (android) на […]
Да, есть. Технически упоминания уже почти работают[…]
Добрый день Но ведь в любом случае, если импорт и[…]
Я решил пойти по тому же пути, что и со службой се[…]
Дополняю скриншотами
перепроверил - такое поведение было в EDGE Верси[…]
На одном из подопытных Android всё заработало посл[…]
Сейчас история загружается с сервера автоматически[…]
Реализована функция полной очистки истории, версия[…]
Реализовано в версии 2025.4, переношу тему в разде[…]
MyChat 2025.4 — полное удаление истории в конфере[…]