Перейти к содержимому


aolsystemmsg


Сообщений в теме: 13

#1 fantomas

    Пользователь

  • Пользователи
  • PipPip
  • 77 сообщений
  • ГородВладимир

Отправлено 26 Ноябрь 2011 - 19:41

Наверное многие сталкивались с проблемой когда при запуске чата некоторые уины скрываются
Некоторое время назад на просторах этого форума было найдено решение - зайти на уин чата с QIPа и написать на aolsystemmsg цифру 1
Но если уины исчисляются десятками это довольна долгий процесс так почему бы не автоматизировать его?
Т.е - написать программку которая будет заходить на уины и слать сообщение "1" на aolsystemmsg
Кто что думает по этому поводу?

P.S. Я пытался это сделать но моих знаний оказалось очень мало

Сообщение отредактировал fantomas: 26 Ноябрь 2011 - 20:04


#2 Ar2r

    Dexsor

  • Специалисты
  • PipPipPipPipPip
  • 1 137 сообщений

Отправлено 26 Ноябрь 2011 - 20:08

а команду написать в боте??? или же неизвестен юин этой системы::???

#3 fantomas

    Пользователь

  • Пользователи
  • PipPip
  • 77 сообщений
  • ГородВладимир

Отправлено 26 Ноябрь 2011 - 20:17

Цитата

а команду написать в боте??? или же неизвестен юин этой системы:??
Написать команду тоже можно, будет даже удобнее но вот как отправить сообщение на aolsystemmsg ведь это AIM-бот?

Сообщение отредактировал fantomas: 26 Ноябрь 2011 - 20:19


#4 Maximus

    Специалист

  • Пользователи
  • PipPipPipPip
  • 334 сообщений
  • ГородВладимирская область

Отправлено 26 Ноябрь 2011 - 22:01

обычно хоть так: proc.mq.add("aolsystemmsg", "1");

Встрой в рассылку отдельным методом, чтобы с каждого уина отправлял сообщение с N паузой. У меня так

Сообщение отредактировал Maximus: 27 Ноябрь 2011 - 00:28


#5 fantomas

    Пользователь

  • Пользователи
  • PipPip
  • 77 сообщений
  • ГородВладимир

Отправлено 26 Ноябрь 2011 - 22:12

Я тут задумался - он же ведь завершает все сессии кроме текущей как же мы хотим его выбить та?
если бы он выбивал текущую сессию то да а так можно наверно только программой (как я и хотел сначала):-(

________________
Если делать командой то может так -
!команда <уин>
разрываем соединение введенного уина и подключаем заново :blink:
P.S - Кто подскажет как разорвать соединение одного уина?

Сообщение отредактировал fantomas: 27 Ноябрь 2011 - 00:43


#6 dim@X

    Хостер ICQ чатов

  • Пользователи
  • PipPipPipPipPip
  • 1 538 сообщений
  • ГородОрел

Отправлено 27 Ноябрь 2011 - 02:31

При запуске уина тупо отправляй сообщение на уин бота, в методе login в протоколе

Сообщение отредактировал dim@X: 27 Ноябрь 2011 - 02:32


#7 fantomas

    Пользователь

  • Пользователи
  • PipPip
  • 77 сообщений
  • ГородВладимир

Отправлено 27 Ноябрь 2011 - 09:53

Просмотр сообщенияdim@X (27 Ноябрь 2011 - 02:31) писал:

При запуске уина тупо отправляй сообщение на уин бота, в методе login в протоколе
И что это даст?

#8 Пушкожук

    Профи

  • Специалисты
  • PipPipPipPipPip
  • 617 сообщений
  • ГородМосква

Отправлено 27 Ноябрь 2011 - 18:04

Просмотр сообщенияfantomas (26 Ноябрь 2011 - 22:12) писал:

Если делать командой то может так -
!команда <уин>
разрываем соединение введенного уина и подключаем заново :blink:
P.S - Кто подскажет как разорвать соединение одного уина?
IcqProtocol proto = srv.getIcqProcess((String) v.get(0));
if (proto == null)
    proc.mq.add(uin, "Ошибка: такого уина на этом сервисе нет");
else
    proto.reConnect();


#9 fantomas

    Пользователь

  • Пользователи
  • PipPip
  • 77 сообщений
  • ГородВладимир

Отправлено 28 Ноябрь 2011 - 00:20

Ну вот что получилось благодаря Пушкожуку


в private void init()
Скрытый текст
case
Скрытый текст
Скрытый текст


Пушкожук - Спасибо за помощь ;)


Сообщение отредактировал fantomas: 28 Ноябрь 2011 - 11:30


#10 scano

    Профи

  • Пользователи
  • PipPipPipPipPip
  • 571 сообщений
  • ГородМосква

Отправлено 28 Ноябрь 2011 - 01:45

А если подумать и найти более оптимальное решение?
Командой геморойно получается.

PS. И ещё, когда я читаю подобные жалобы, что якобы протокол обновили и т.п., то меня удивляет - я иногда использую на своём соте Jimm скаченный как уже год назад, а его версия вышла в начале середины 2010 года и получается протоколу мобильного Jimm'а уже как полтора года, на UIN идёт много спама, активно общаюсь на нём и никаких дефектов в работе не наблюдал, доставка msg есть, статус читает, заходит без промедлений, ничего такого в чём я мог почувствовать хоть какие то изменения в самом протоколе ICQ. Иногда складывается чувство что либа протокола ICQ которая используется проектом JimBot построена слегка "криво".

public void commandReConnect(IcqProtocol proc, String uin, Vector v) {
    IcqProtocol proto = srv.getIcqProcess((String) v.get(0));
    if (proto == null)
    proc.mq.add(uin, "Ошибка: такого уина на этом сервисе нет");
    else
    proc.mq.add(uin,"Перезагружаем");
    proto.reConnect();
    }
Оповещение proc.mq.add(uin,"Перезагружаем"); вероятно не дойдёт до адресата, если пауза выше скорости выполнения proto.reConnect();

#11 Пушкожук

    Профи

  • Специалисты
  • PipPipPipPipPip
  • 617 сообщений
  • ГородМосква

Отправлено 28 Ноябрь 2011 - 05:03

Фигурные скобки забыли:
    public void commandReConnect(IcqProtocol proc, String uin, Vector v) {
    IcqProtocol proto = srv.getIcqProcess((String) v.get(0));
    if (proto == null)
    proc.mq.add(uin, "Ошибка: такого уина на этом сервисе нет");
    else {
        proc.mq.add(uin,"Перезагружаем");
        proto.reConnect();
    }
    }
Оповещение дойдёт только в том случае, если с одного уина переподключается другой.

#12 fantomas

    Пользователь

  • Пользователи
  • PipPip
  • 77 сообщений
  • ГородВладимир

Отправлено 28 Ноябрь 2011 - 11:15

Цитата

А если подумать и найти более оптимальное решение?
Командой геморойно получается.
Предложи своё оптимальное решение :mellow:

#13 Пушкожук

    Профи

  • Специалисты
  • PipPipPipPipPip
  • 617 сообщений
  • ГородМосква

Отправлено 28 Ноябрь 2011 - 18:29

Кстати. Не забудьте проверку прав, а то будут переподключать все подряд:
    public void commandReConnect(IcqProtocol proc, String uin, Vector v) {
        if(!psp.testAdmin(uin)) return;
        IcqProtocol proto = srv.getIcqProcess((String) v.get(0));
        if (proto == null) {
            proc.mq.add(uin, "Ошибка: такого уина на этом сервисе нет");
        } else {
            if (proc != proto)
                proc.mq.add(uin, "Перезагружаем");
            proto.reConnect();
        }
    }


#14 fantomas

    Пользователь

  • Пользователи
  • PipPip
  • 77 сообщений
  • ГородВладимир

Отправлено 28 Ноябрь 2011 - 18:46

Просмотр сообщенияПушкожук (28 Ноябрь 2011 - 18:29) писал:

Кстати. Не забудьте проверку прав, а то будут переподключать все подряд:
    public void commandReConnect(IcqProtocol proc, String uin, Vector v) {
        if(!psp.testAdmin(uin)) return;
        IcqProtocol proto = srv.getIcqProcess((String) v.get(0));
        if (proto == null) {
            proc.mq.add(uin, "Ошибка: такого уина на этом сервисе нет");
        } else {
            if (proc != proto)
                proc.mq.add(uin, "Перезагружаем");
            proto.reConnect();
        }
    }

Уже сделал





Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 скрытых пользователей