Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Сети > Вопрос по TICQClient


Автор: Coderr 22.4.2007, 13:23
Раскажите, пожалуйста, о дополнительных статусах (типа утка, сердце, мужик в каске, джойстик, кружка с пивом...) Как определить какой доп статус сейчас у клиента, а также как получить их текст?

Автор: Coderr 25.4.2007, 16:09
Опять тишина... Неужели я ставлю нерешаемые задачи?  smile 

Автор: WolfON 27.4.2007, 18:53
В TICQClient их просто-напросто еще нет.

Описание протокола:
http://www.micq.org/ICQ-OSCAR-Protocol-v7-v8-v9/

Автор: Coderr 2.5.2007, 19:34
Я понимаю, что в TICQClient этого нет. Если б было, я не не спрашивал. А можно как-нибудь по-русски? А то по ссылке ничего непонятно... 

Автор: WolfON 3.5.2007, 18:37
если нету - читай описание протокола и сделай сам )
по-русски нигде не видел

Автор: yXo 6.5.2007, 16:31
Описание протокола лучше всего читать тут - http://iserverd.khstu.ru/oscar/. Там смотришь соответствующий snac на заход уина или на смену статуса, парсишь нужный tlv и вперед.

Вот список всех доп. статусов:
    "NONE"                => NULL,
    "ANGRY"         => "01D8D7EE-AC3B-492A-A58D-D3D877E66B92",
    "DUCK"                 => "5A581EA1-E580-430C-A06F-612298B7E4C7",
    "TIRED"         => "83C9B78E-77E7-4378-B2C5-FB6CFCC35BEC",
    "PARTY"         => "E601E41C-3373-4BD1-BC06-811D6C323D81",
    "BEER"                 => "8C50DBAE-81ED-4786-ACCA-16CC3213C7B7",
    "THINK"         => "3FB0BD36-AF3B-4A60-9EEF-CF190F6A5A7F",
    "EAT"                 => "F8E8D7B2-82C4-4142-90F8-10C6CE0A89A6",
    "TV"                 => "80537DE2-A467-4A76-B354-6DFD075F5EC6",
    "FRIENDS"         => "F18AB52E-DC57-491D-99DC-6444502457AF",
    "COFFEE"         => "1B78AE31-FA0B-4D38-93D1-997EEEAFB218",
    "MUSIC"         => "61BEE0DD-8BDD-475D-8DEE-5F4BAACF19A7",
    "BUSINESS"         => "488E1489-5C63-3861-CA4A-0882AA77CE7A",
    "CINEMA"         => "107A9A18-1232-4DA4-B6CD-0879DB780F09",
    "FUNNY"         => "6F493098-4F7C-4AFF-A276-34A03BCEAEA7",
    "PHONE"         => "1292E550-1B64-4F66-B206-B29AF378E48D",
    "GAMES"         => "D4A611D0-8F01-4EC0-9223-C5B6BEC6CCF0",
    "COLLEGE"         => "609D52F8-A29A-49A6-B2A0-2524C5E9D260",
    "SHOP"                 => "63627337-A03F-49FF-80E5-F709CDE0A4EE",
    "SICK"                 => "1F7A4071-BF3B-4E60-BC32-4C5787B04CF1",
    "SLEEP"         => "785E8C48-40D3-4C65-886F-04CF3F3F43DF",
    "SURF"                 => "A6ED557E-6BF7-44D4-A5D4-D2E7D95CE81F",
    "INTERNET"         => "12D07E3E-F885-489E-8E97-A72A6551E58D",
    "WORK"                 => "BA74DB3E-9E24-434B-87B6-2F6B8DFEE50F",
    "TYPING"         => "634F6BD8-ADD2-4AA1-AAB9-115BC26D05A1",
    "UNK"                 => "2CE0E4E5-7C64-4370-9C3A-7A1CE878A7DC",
    "PPC"                 => "101117C9-A3B0-40f9-81AC-49E159FBD5D4",
    "MOBILE"         => "160C60BB-DD44-43f3-9140-050F00E6C009",
    "MAN"                 => "6443C6AF-2260-4517-B58C-D7DF8E290352",
    "WC"                 => "16F5B76F-A9D2-4035-8CC5-C084703C98FA"
    "SMOKE"       => "3FB0BD36-AF3B-4A60-9EEF-CF190F6A5A7E",
    "SEX"         => "E601E41C-3373-4BD1-BC06811D6C323D82",
    "POISK"       => "631436FF-3F8A-40D0-A5CB7B66E051B364",
    "GEOMETRY"    =>"B70867F5-3825-4327-A1FFCF4CC1939797",
    "LOVE"        => "DDCF0EA9-7195-4048-A9C6413206D6F280"

Автор: Coderr 6.5.2007, 21:51
yXo, шикарно! Теперь бы ещё разобраться, как бы это всё воткнуть в компонент и куда - было бы ваще идеально...

Автор: yXo 7.5.2007, 19:42
Да все просто берем допустим событие, когда юзер выходит в онлайн snac 030b, читаем описание по ссылке которую давал выше:

..
00 0D   word   TLV.Type(0x0D) - user capabilities 
 xx xx   word   TLV.Length 
 
 xx ..... xx   CLSIDs   Client capabilities list 
 
..
Вот среди этих капабилитес и есть доп. статус. Открываешь icqclient.pas и ищешь procedure TICQClient.HSnac030B и в ней:
   $0D: {User Capabilities}
    begin
     s:= GetWStr(Pkt);

И на пример составляешь массив доп. статусов и начинаешь искать в нем.
Идея такая дальше копай сам ;)

Автор: Coderr 11.5.2007, 21:41
yXo,  smile 

Автор: GORA 30.8.2007, 19:49
Ну что у кого-нибудь есть дельные предложения как скрестить TICQClient и X-статусы? smile  smile 

Автор: GORA 5.9.2007, 11:12
Кто нибудь в курсе, как говорится, хоть в какую сторону копать? нужно ли вносить изменения в ICQClient.pas? либо они устанавливаются так же как и доп. квиповские статусы?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)