Python 使用SleekXMPP在消息节中使用自定义元素发送XMPP消息
我正在开发一个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
<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
。