有没有通过sleekxmpp发送文件的例子?

2024-05-23 16:44:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经阅读了stackoverflow中的一些文档和帖子,我没有找到任何使用sleekxmpp发送文件或图像的示例,我已经阅读了sleekxmpp包中提供的{}中的代码,但我无法使用它代码。如果任何人有或知道通过sleekxmpp发送文件的例子请告诉我知道。谢谢提前!在

这是我试图用sleekxmpp发送文件的代码

import logging

from sleekxmpp import Iq, Message
from sleekxmpp.plugins import BasePlugin
from sleekxmpp.xmlstream.handler import Callback
from sleekxmpp.xmlstream.matcher import StanzaPath
from sleekxmpp.xmlstream import register_stanza_plugin, JID
from sleekxmpp.plugins.xep_0096 import stanza, File


log = logging.getLogger(__name__)


class XEP_0096(BasePlugin):

    name = 'xep_0096'
    description = 'XEP-0096: SI File Transfer'
    dependencies = set(['xep_0095'])
    stanza = stanza

    def plugin_init(self):
        register_stanza_plugin(self.xmpp['xep_0095'].stanza.SI, File)

        self.xmpp['xep_0095'].register_profile(File.namespace, self)

    def session_bind(self, jid):
        self.xmpp['xep_0030'].add_feature(File.namespace)

    def plugin_end(self):
        self.xmpp['xep_0030'].del_feature(feature=File.namespace)
        self.xmpp['xep_0095'].unregister_profile(File.namespace, self)

    def request_file_transfer(self, jid, sid=None, name=None, size=None,
                                desc=None, hash=None, date=None,
                                allow_ranged=False, mime_type=None,
                                **iqargs):
        data = File()
        data['name'] = name
        data['size'] = size
        data['date'] = date
        data['desc'] = desc
        if allow_ranged:
        data.enable('range')

        return self.xmpp['xep_0095'].offer(jid,
            sid=sid,
            mime_type=mime_type,
            profile=File.namespace,
            payload=data,
            **iqargs)

当我执行上面的例子时,我得到了下面的错误

^{pr2}$

Tags: 文件namefromimportselfnonedatadef