发送直接邀请不适用于 MUC [ejabberd mod muc 管理员]

Posted

技术标签:

【中文标题】发送直接邀请不适用于 MUC [ejabberd mod muc 管理员]【英文标题】:send direct invitation not working on MUC [ejabberd mod muc admin] 【发布时间】:2017-11-09 03:34:48 【问题描述】:

创建 MUC 房间没有问题。但是当我想添加参与者并使用以下命令时:

ejabberdctl send_direct_invitation testRoom@localhost localhost "" "hi" msg_test1@localhost

它返回我这样的错误:

执行命令时出现问题'error function_clause'。

Stacktrace: [jid,to_string,[error],[file,"src/jid.erl",line,134],
             mod_muc_admin,send_direct_invitation,5,
                            [file,"src/mod_muc_admin.erl",line,695],
             ejabberd_commands,execute_command2,2,
                                [file,"src/ejabberd_commands.erl",
                                 line,407],
             ejabberd_ctl,call_command,3,
                           [file,"src/ejabberd_ctl.erl",line,295],
             ejabberd_ctl,try_call_command,3,
                           [file,"src/ejabberd_ctl.erl",line,271],
             ejabberd_ctl,process2,3,
                           [file,"src/ejabberd_ctl.erl",line,220],
             ejabberd_ctl,process,1,
                           [file,"src/ejabberd_ctl.erl",line,205],
             rpc,'-handle_call_call/6-fun-0-',5,
                  [file,"rpc.erl",line,206]]

我不知道我的命令有什么问题......那么有什么方法可以使用该命令吗?

【问题讨论】:

【参考方案1】:

我可以看到您的命令的前两个参数存在问题。第一个参数应该是没有@hostname 的房间名称,第二个参数应该是 muc 服务的名称,例如muc.localhost (你可以在配置文件中检查) 所以试试下面:

ejabberdctl send_direct_invitation testRoom muc.localhost "" "hi" msg_test1@localhost

【讨论】:

以上是关于发送直接邀请不适用于 MUC [ejabberd mod muc 管理员]的主要内容,如果未能解决你的问题,请参考以下文章

集群 ejabberd 的 MUC 和 PubSub 主机

无法从 ejabberd 列出 muc 房间

Ejabberd muc_rooms 和 muc_registered 表为空

ejabberd MUC 未通知新消息

如何在 ejabberd 上为 muc(多用户聊天)设置不同的消息间隔?

为 iOS 实现 Ejabberd MUC Sub