在我的项目中你好我有发送者和接收者的JID以及消息的正文。我需要在不使用任何聊天客户端的情况下发送消息,因此我使用mod_rest以便我可以访问mod_admin_extra。我使用Ejabberd服务器14.05配置它并尝试运行以下休息呼叫
[root@centos ~]# wget localhost:5280/rest/ --server-response --post-data 'registered_users localhost'
--2016-06-20 17:03:33-- http://localhost:5280/rest/
Connecting to <<proxy ip>>... connected.
Proxy request sent, awaiting response...
HTTP/1.0 200 OK
Content-Type: text/html; charset=utf-8
Content-Length: 1015
Connection: close
Date: Mon, 20 Jun 2016 11:33:33 GMT
Length: 1015 [text/html]
Saving to: “index.html.3”
index.html.3有以下消息,
Problem 'error function_clause' occurred executing the command.
Stacktrace: [{ejabberd_commands,'-check_access_commands/5-fun-0-',
[{rest,[{registered_users,[all]},{connected_users,[all]}]}],
[{file,"src/ejabberd_commands.erl"},{line,372}]},
{lists,'-filter/2-lc$^0/1-0-',2,[{file,"lists.erl"},{line,1284}]},
{ejabberd_commands,check_access_commands,5,
[{file,"src/ejabberd_commands.erl"},{line,371}]},
{ejabberd_commands,execute_command,4,
[{file,"src/ejabberd_commands.erl"},{line,308}]},
{ejabberd_ctl,call_command,3,
[{file,"src/ejabberd_ctl.erl"},{line,293}]},
{ejabberd_ctl,try_call_command,3,
[{file,"src/ejabberd_ctl.erl"},{line,269}]},
{ejabberd_ctl,process2,3,
[{file,"src/ejabberd_ctl.erl"},{line,218}]},
{mod_rest,maybe_post_request,3,
[{file,"src/mod_rest.erl"},{line,135}]}]
在ejabberd配置文件中添加了mod_admin_extra。这是一个命令问题尚未确定。如果是,请解释如何在ejabberdctl中添加mod_Admin_extra命令我是erlang的新手,所以我很难调试因此任何帮助都会对我有益,如果你们知道除了使用mod_rest之外发送消息的更好方法,请告诉我 非常感谢
答案 0 :(得分:0)
我遇到了这个问题。 ejabberd 14.05的ejabberd_commands.hrl和mod_admin_extra模块不支持我需要的命令。因此我添加了两个模块的更新版本并开始工作
答案 1 :(得分:0)
您甚至可以尝试使用命令send__message