Что нового

[Сеть, интернет] Статус на Jabber

SECTOR

Продвинутый
Сообщения
399
Репутация
59
Привет всем!
Собственно дело вот в чём!
Я пишу своего Jabber бота, по подобию Jadmin'a но не могу сделать так чтоб бот ставил
статус на JID.

Если кто-то знает ответ или тоже пытался, поделитесь наработками! :smile:

OffTopic:
Я сделал первую версию бота, но не знаю выкладывать или нет! ;)
 

Nik_rus

Python The Snake.
Сообщения
214
Репутация
62
Думаю ты ждал ответа от меня :smile:
:
ох, давно меня тут не было!

А вот и функция:
Код:
Func _JabStatus($status,$statstr,ByRef $socket)
	$statstr=StringToBinary($statstr)
	$statstr=BinaryToString ($statstr , 4 )
    TCPSend($socket, "<presence><show>" & $status & "</show><status>" & $statstr & "</status></presence>")
EndFunc

Где $sock - это сокет к серверу Jabber, $status - это статус основной (online|dnd|chat|xa|away|invisible|unavailable), а $statstr - строка (!) статуса
:
вопщем курим xmpp.org и xml console
 
Автор
SECTOR

SECTOR

Продвинутый
Сообщения
399
Репутация
59
Хм, кажется сглазил. :smile:
Судя по тому, что как начал проверять нечего не случилось, бот как был не в сети так и остался. :(
Может тогда какую нибудь информацию по xmpp протоколу подкиньте, пошарился на xmpp.org, но увы ничего не понял!
 

Nik_rus

Python The Snake.
Сообщения
214
Репутация
62
SECTOR сказал(а):
Вот спасибо!!! :laugh:
:
Для выражения благодарности можно отметить сообщение полезным

Для начала советую скачать Miranda IM или любой другой, где есть XML Console (собственно для Jadmina я взял пакеты из миранды), там все подробно расписано ;)
А для того, чтобы бот выскочил онлайн, нужно:
1. Подключиться к серверу (открыть tcp коннект)
2. Выслать открытие потока aka stream (stream)
3. Авторизироваться (буквально 2 iq запроса)
После этого статус меняется на онлайн (или на тот, что был, точно не помню), а дальше можно совершать какие-либо действия (ставить статус, принимать и слать месаги)
 

Nik_rus

Python The Snake.
Сообщения
214
Репутация
62
:
_JabAuth... Jadmin'oм попахивает)

2 iq запроса, не 2 раза авторизация
 
Автор
SECTOR

SECTOR

Продвинутый
Сообщения
399
Репутация
59
Nik_rus сказал(а):
:
_JabAuth... Jadmin'oм попахивает)
Я только взял от него jabber.au3. А на счет всего остального! Писал с нуля!


Добавлено:
Сообщение автоматически объединено:

Nik_rus сказал(а):
:
_JabAuth... Jadmin'oм попахивает)
Я только взял от него jabber.au3. А на счет всего остального! Писал с нуля!
 

Nik_rus

Python The Snake.
Сообщения
214
Репутация
62
Советую взять какую-нибудь другую либу, эту я на коленке написал + дописываю...
:
Я не тупой, мне 2 раза повторять не надо :smile:

И, если честно, я против использования её в нон-опенсорс проектах... ну да ладно твоё дело ;)
 
Автор
SECTOR

SECTOR

Продвинутый
Сообщения
399
Репутация
59
Я искал длл, но приличной не нашел. А что на счет исходника, оптимизирую и выложу. :smile:
 
Верх