LINUX.ORG.RU
ФорумAdmin

ejabberd push-roster не работает

 ,


0

1

Пытаюсь импортировать ростер пользователя ejabberd при помощи ejabberdctl, но он выбрасывает исключение.

Алгоритм моих действий:

1)

ejabberdctl get-roster user1 example.org > user1-roster

Операция проходит нормально, в получившемся файле имеется список контактов пользователя user1

2)

ejabberdctl push-roster user1-roser user2 example.org

В результате выбрасывает исключение:

Problem 'error {badmatch,{error,enoent}}' occurred executing the command.

Stacktrace: [{mod_admin_extra,push_roster,3,
                              [{file,"mod_admin_extra.erl"},{line,1130}]},
             {ejabberd_ctl,call_command,3,
                           [{file,"ejabberd_ctl.erl"},{line,292}]},
             {ejabberd_ctl,try_call_command,3,
                           [{file,"ejabberd_ctl.erl"},{line,269}]},
             {ejabberd_ctl,process2,3,[{file,"ejabberd_ctl.erl"},{line,215}]},
             {ejabberd_ctl,process,1,[{file,"ejabberd_ctl.erl"},{line,200}]},
             {rpc,'-handle_call_call/6-fun-0-',5,
                  [{file,"rpc.erl"},{line,203}]}]

Ростер пользователя user2 остаётся пустым.

Версия ejabberd — 2.1.10, установлена из репов debian 7 и 14.07 из debian 8, в обеих то же самое.



Последнее исправление: te111011010 (всего исправлений: 1)

push-roster хочет файл в формате, похожем на JSON, типа:

   [{"bob", "example.org", "workers", "Bob"},
    {"mart", "example.org", "workers", "Mart"},
    {"Rich", "example.org", "bosses", "Rich"}].
а не в том, который выплёвывает get-roster.

blind_oracle ★★★★★
()
Ответ на: комментарий от blind_oracle

А в мане:

push-roster file user host
              Push items from the file file to the roster  of  the  user  user
              registered on the virtual host host.

              The  format  of file containing roster items is the same as used
              for output by the get-roster command.

te111011010
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.