使用 SleekXMPP 在消息节中发送带有自定义元素的 XMPP 消息
Send XMPP message with custom element in message stanza using SleekXMPP
我正在开发一个 XMPP 机器人,它会 send/reply 向发件人发送一条消息,其中包含以下附加元素
<message to="user1@example.com" from="user2@example.com">
<my_element_1>foo</my_element_1>
<my_element_2>bar</my_element_2>
<body>Hi!</body>
</message>
我试过使用 SleekXMPP Object
、Iq
、Message
但无法实现目标。此外,我还尝试使用 send_message
方法。
我不确定我的谷歌搜索关键字是否不正确,但我找不到与此相关的任何文档或指南。但是,我确实找到了可能有助于与插件创建相关的指南。如果有人可以帮助我,将不胜感激。
谢谢
我才发现我的理解不正确。从技术上讲,要实现这一点,我只需要执行以下操作。
# create XML for element 1
element1 = ET.Element('my_element_1')
element1.text = 'foo'
# create XML for element 2
element2 = ET.Element('my_element_2')
element2.text = 'foo'
如果需要,我可以简单地为 xml 添加 child。
child = ET.Element('child-key')
child.text = 'child-value'
media.append(child)
在 Message
object 中,我将追加如下
msg = self.Message()
msg.appendxml(element1)
msg.appendxml(element2)
msg.send()
我正在开发一个 XMPP 机器人,它会 send/reply 向发件人发送一条消息,其中包含以下附加元素
<message to="user1@example.com" from="user2@example.com">
<my_element_1>foo</my_element_1>
<my_element_2>bar</my_element_2>
<body>Hi!</body>
</message>
我试过使用 SleekXMPP Object
、Iq
、Message
但无法实现目标。此外,我还尝试使用 send_message
方法。
我不确定我的谷歌搜索关键字是否不正确,但我找不到与此相关的任何文档或指南。但是,我确实找到了可能有助于与插件创建相关的指南。如果有人可以帮助我,将不胜感激。
谢谢
我才发现我的理解不正确。从技术上讲,要实现这一点,我只需要执行以下操作。
# create XML for element 1
element1 = ET.Element('my_element_1')
element1.text = 'foo'
# create XML for element 2
element2 = ET.Element('my_element_2')
element2.text = 'foo'
如果需要,我可以简单地为 xml 添加 child。
child = ET.Element('child-key')
child.text = 'child-value'
media.append(child)
在 Message
object 中,我将追加如下
msg = self.Message()
msg.appendxml(element1)
msg.appendxml(element2)
msg.send()