Software /
code /
verse
File
plugins/vcard.lua @ 445:b119dc4d8bc2
plugins.smacks: Don't warn about zero stanzas acked
It's only if the count somehow goes backwards that something is really
wrong. An ack for zero stanzas is fine and we don't need to do anything.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Thu, 10 Jun 2021 11:58:23 +0200 |
parent | 395:e86144a4eaa1 |
child | 490:6b2f31da9610 |
line wrap: on
line source
local verse = require "verse"; local vcard = require "util.vcard"; local xmlns_vcard = "vcard-temp"; function verse.plugins.vcard(stream) function stream:get_vcard(jid, callback) --jid = nil for self stream:send_iq(verse.iq({to = jid, type="get"}) :tag("vCard", {xmlns=xmlns_vcard}), callback and function(stanza) local vCard = stanza:get_child("vCard", xmlns_vcard); if stanza.attr.type == "result" and vCard then vCard = vcard.from_xep54(vCard) callback(vCard) else callback(false) -- FIXME add error end end or nil); end function stream:set_vcard(aCard, callback) local xCard; if type(aCard) == "table" and aCard.name then xCard = aCard; elseif type(aCard) == "string" then xCard = vcard.to_xep54(vcard.from_text(aCard)[1]); elseif type(aCard) == "table" then xCard = vcard.to_xep54(aCard); error("Converting a table to vCard not implemented") end if not xCard then return false end stream:debug("setting vcard to %s", tostring(xCard)); stream:send_iq(verse.iq({type="set"}) :add_child(xCard), callback); end end