Войдите в Muc комнату с exmpp - PullRequest
0 голосов
/ 19 мая 2011

Как я могу войти с exmpp ботом в многопользовательский чат?

попробуйте использовать:

create_move_room (Room, Username) ->
   #xmlel {name=presence, attrs=[#xmlattr{name = to,
                                          value = list_to_binary(Room ++ "@" ++ ?           JABBER_MUC_HOST ++ "/" ++ Username)}],
                                         children=[#xmlel{name=x,attrs=[#xmlattr{name=xmlns, value="?MUC"}]}]}.

Но получите ошибку:

** Reason for termination =
** {badarg,[{erlang,binary_to_list,[to]},
           {exmpp_xml,xmlnsattributes_to_xmlattributes2,3},
           {exmpp_xml,unresolve_xmlel_nss,3},
           {exmpp_xml,node_to_iolist2,4},
           {exmpp_xml,node_to_binary,3},
           {exmpp_socket,send,2},
           {exmpp_session,send_packet,3},
           {exmpp_session,logged_in,3}]}

Спасибо.

1 Ответ

1 голос
/ 19 мая 2011

Ошибка в том, что кто-то вызывает двоичный_по_писку / 1 для атома ('to').

Скорее всего, проблема в "name = to". возможно, это должен быть двоичный << "to" >>, список "to" или, может быть, даже переменная To (если она существует).

...