Pull to refresh

Comments 16

Как-то забавы ради пытался написать icq-gate, но быстро забил, слишком намудрили разработчики протокола. Вот и весь опыт :).
Тоже самое будет и здесь. Пройдёт неделька, не успеешь поиграться, как изменят протокол.
Вообще-то AOL предоставляет официальный SDK (поддерживается Java)

dev.aol.com/aimclient/OpenAIM182/reference/index.html

Существование разных левых библиотек объясняется только необходимостью показывать рекламу при числе клиентов программы более 100 000.

Так как клиент будет один, вы сами, то можно использовать SDK без показа рекламы.
SDK вроде бы для AIM, а не для ICQ, нет?
Пардон, что не в тему, но вам зачеркнутые блекджек и шлюхи не надоели еще?
про поэтесс было оригинально, мне понравилось :)
Не-не, это уже тоже баян :)
рано или поздно можете столкнуться с теми же проблемами, что и публичные гейты. Может пустить всё это дело через tor?
по правильному пути идёте, как mail.ru, сначала свой jabber, теперь icq, следуя тенденциям mail.ru, осталось купить права на ICQ и дело с концом)
Премного благодарствую, этот пост мне очень помог. Прошу, прокоментируйте парой строк что делают методы:

1) связанные с Roster. Я правильно понял, что Roster в jabber-е есть контакт-лист?
2) presenceChanged

И еще я столкнулся с такой проблемой: иногда связь по транспорту icq теряется, и надо бы переконнектиться именно нему, жаббер аккаунт же приконнекчен нормально. Но как это сделать через апи я совсем не нашел.

+ иногда во время перезапуска приложений в логах наблюдал, что icq сервер начинает злобно ругаться на то, что слишком часто коннектимся.

Вобщем хочется через яву четко контролировать процесс логина в сеть аськи, и мониторить это состояние. Возможно ли это делать через апи смак?
— Да, Roster — это контакт-лист.
— presenceChanged — изменение статуса одного из пользователей в контакт-листе
— Если транспорт теряет связь с сервером ICQ, он сам же ее и восстанавливает.
— Если слишком часто коннектиться, сервер ICQ перестанет пускать в
сеть, с этим ничего не поделаешь, надо коннектиться пореже.
— Транспорт присутствует в контакт листе, его состояние можно
контролировать через presenceChanged
Столкнулся еще с двумя проблемами:

1) примерно 5% контактов, что пишут на аську-бота, создают мессаги с кривой кодировкой. Автори, например
Можно ли как-то через АПИ узнать в какой кодировке намерен общаться контакт?

2) есть ли способ автоматически создавать на ejabber юзера, с заданными аська параметрами, и автоматически подключать этому жаббер юзеру гейт на аську?
1) Я не знаю никаких способов контролировать кодировку сообщений со
стороны пользователя.Транспорт сам перекодирует в UTF-8 все, что
может.
2) В настройках ejabberd можно разрешить регистрацию новых
пользователей через XMPP. В Smack новый пользователь создается
примерно так:

XMPPConnection connection = new XMPPConnection(«xmpp.bar.com»);
connection.login(«bofh», «lart»);
AccountManager accountManager = connection.getAccountManager();
accountManager.createAccount(«luser», «smack»);

Транспорт можно подключить с помощью ServiceDiscoveryManager.
Подробнее тут: www.igniterealtime.org/builds/smack/docs/latest/documentation/extensions/disco.html

Столкнулся с двумя проблемами, может быть Вы их тоже встречали и знаете пути решения:

1) ICQ connection lost! Reason: [Failure instance: Traceback (failure with no frames): struct.error: unpack str size does not match format ]
Вот такое иногда (а иногда очень уж часто) делает транспорт в сообщениях

2) Иногда при отправле сообщения аська-номеру это же сообщение от этого аська номера возвращается

Подозреваю что виной всему pyicqt, но в гугле так и не нашел как пофиксить проблему.
1) Не сталкивались.
2) Скорее всего эти пакеты можно отфильтровать по типу:
msg.getType() != org.jivesoftware.smack.packet.Message.Type.error
Sign up to leave a comment.

Articles