ПредишенСледващото

Хабре вече писа за това как Mail.Ru Agent. В момента официалната документация за протокола не е в публичното пространство, така че трябва да се проучи устройството емпирично. В тази статия ще обсъди изпращането форматирани текстови съобщения и създаване и изпращане на съобщения до конференцията.

Няколко думи за протокола

Съобщенията, предавани пакети на определен формат. Първите 44 байта - заглавие, което изглежда по следния начин:

Числата се предават във формат UL, който изглежда като 16 байта, написани от дясно на ляво. Така броят 10 ще се появи 00 00 00 0A. Така че ние се опаковат в UL:

Форматът на текст се предава в LPS - съответствие с предварително определена дължина (дължина се определя като UL). Ние ще го опаковам, както следва:

Ние също така изискват опаковки линия в LPS в други кодировки:

Текстови съобщения с форматиране

Нека да видим как изглежда мнения. MSG поле в заглавната част трябва да бъдат запълнени с постоянна 0x1008, останалата част от пакета съобщение е както следва:

Последният компонент на пакета - част от съобщение, свързани с форматирането на текста. Ако ние не се нуждаем форматиране, rtf_part трябва да се състои от пространство. В този случай, Mail.Ru Agent, който ще получите, ще използва шрифтовете, инсталирани по подразбиране в агент на получателя.

Ако искаме да изпратим форматиран съобщение, последната част на всяка опаковка трябва да LPSZ (rtf_part), където:

Последният план - цвета на фона, в подготовката на полето за чат съобщение ще промени цвета си изцяло.
RTF да напише «QWERTY» изглежда така:

Може да забележите, че първата буква е написана в същия шрифт, а останалите на другите. За да се обясни това поведение, аз не, но може да RTF, генерирани Mail.Ru Agent, който успях да се приличаха. RTF, не разполагат с този имот, остават в сила. Останалите параметри (езикови, шрифт маса, на руски език) се отразят на валидността на RTF.

Остава да се отбележи, че ако RTF-част от съобщението, не е празна, той ще дойде в свое изявление. Ако определен текст част на съобщението (тяло), а след това текстът ще видим изскачащия прозорец, Mail.Ru Agent.

конференция

Ако, за да започнете чат с друг контакт, просто трябва да се изпрати съобщение, за да започнете да общуват в конференция, което трябва да направите няколко коремни преси.

Създаване на конференция

Всяка конференция има уникалното си име, което прилича [email protected], която получаваме от сървъра в отговор на следното съобщение:

В отговор на това съобщение съобщението идва от сървър с един и същ номер в cheder и aydishnikom. След получаване на отговор от сървъра, можете да изпращате съобщения до конференцията.

Изпращането на съобщения за конференцията

За да изпратите съобщение до конференцията, трябва да изпрати два пакета. Първият пакет носи никакво значение, това е подготвителен:

И сега, директно, съобщението:

Тя изглежда като нормален съобщение на конференцията на получател-aydishnikom.

Оставянето на конференция

Не можех да разбера как да получите най-абсолютния брой на конференцията, но експериментът установено, че идентифицирането на чата не е върху него. Следователно, можете да зададете всеки разумен брой, например 42.

Моите изследвания далеч не е пълна, така че аз ще се радвам на всякакви корекции и допълнения.

Свързани статии

Подкрепете проекта - споделете линка, благодаря!