如何在 jaxl xmpp ejabberd 中发送额外参数?

How to send extra parameters in jaxl xmpp ejabberd?

我想向 xmpp 服务器发送一些额外的参数。但没有在味精中获得那些额外的参数。 使用 https://github.com/jaxl/JAXL , https://www.ejabberd.im/

我正在尝试使用 jaxl.php 中的这种方法。

public function send_msg($to,$body,$sender_id,$id,$xmpp_msg_attribute,$thread=null, $subject=null) {
    $msg = new XMPPMsg(
        array(
            'id'=>$id,
            'sender_id'=>$sender_id,
            'type'=>'normal', 
            'to'=>$to, 
            'from'=>$this->full_jid->to_string(),
            'attributes'=> 'extra information',
        ), 
        $body,
        $thread,
        $subject
    );
    $this->send($msg);
}

但是没有额外参数的输出发送:

<message xml:lang='en'
         to='7070707070@localhost.com'
         from='9696969696@localhost.com/jaxl#3090b93066351b9a90ebad79bb208745'
         id='5b6137010b0bc'
         xmlns='jabber:client'>
  <body><p>check me</p></body>
</message>

我没有找到属性,sender_id。 我还尝试更改属性 -> attrs.

来源 http://jaxl.readthedocs.io/en/latest/users/xml_objects.html#xmppstanza

Message 和 Body 元素已经由 XMPP 协议定义,因此您不能向它们添加属性。

但您可以添加新元素,例如客户端可以发送此内容,并将由目的地接收:

<message id='46:941386'
    xml:lang='es'
    type='chat'
    to='user2@localhost'>
  <body>hola</body>
  <xxx aa='asd' bb='qwe'/>
</message>