Python 使用SleekXMPP在消息节中使用自定义元素发送XMPP消息

Python 使用SleekXMPP在消息节中使用自定义元素发送XMPP消息,python,xmpp,sleekxmpp,Python,Xmpp,Sleekxmpp,我正在开发一个XMPP机器人,它将向发送者发送/回复一条消息,并添加如下元素 <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> msg

我正在开发一个XMPP机器人,它将向发送者发送/回复一条消息,并添加如下元素

<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>
msg = self.Message()
msg.appendxml(element1)
msg.appendxml(element2)
msg.send()

福
酒吧
你好
我曾尝试使用SleekXMPP
对象
Iq
消息
,但未能达到目标。此外,我还尝试使用
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 = ET.Element('child-key')
child.text = 'child-value'
media.append(child)
消息
对象中,我只需添加如下内容

<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>
msg = self.Message()
msg.appendxml(element1)
msg.appendxml(element2)
msg.send()

我刚刚意识到我的理解是不正确的。从技术上讲,要实现这一点,我只需要做以下几点

# 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 = ET.Element('child-key')
child.text = 'child-value'
media.append(child)
消息
对象中,我只需添加如下内容

<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>
msg = self.Message()
msg.appendxml(element1)
msg.appendxml(element2)
msg.send()

对于那些想知道
ET
是什么的人来说,SleekXMPP的
stanzabase.py
的源代码说它是来自xml.etree的
导入cElementTree作为ET
。它不是
import xml.etree.ElementTree as ET
。对于那些想知道
ET
是什么的人来说,SleekXMPP的
stanzabase.py
的源代码说它是
from xml.etree import celementree as ET
。它不是
将xml.etree.ElementTree导入为ET