local vcards = module:open_store("vcard");
-- in a hook
local vcard = vcards:get(username);
local email = vcards:get_child_text("EMAIL");
[{"name":"EMAIL","attr":{"xmlns":"vcard-temp"},"__array":[{"attr":{"xmlns":"vcard-temp"},"name":"USERID","__array":["si...@domain.net"]},{"name":"PREF","attr":{"xmlns":"vcard-temp"}}]}]
I get the error:
[xmpp-1] 2015-03-20T00:53:13.198613705Z mod_bosh error Traceback[bosh]: ...sody-modules/mod_offline_email/mod_offline_email.lua:24: attempt to call method 'get_child_text' (a nil value)
[xmpp-1] 2015-03-20T00:53:13.198613705Z stack traceback:
[xmpp-1] 2015-03-20T00:53:13.198613705Z ...sody-modules/mod_offline_email/mod_offline_email.lua:24: in function '?'
[xmpp-1] 2015-03-20T00:53:13.198613705Z /usr/lib/prosody/util/events.lua:67: in function </usr/lib/prosody/util/events.lua:63>
[xmpp-1] 2015-03-20T00:53:13.198613705Z (tail call): ?
[xmpp-1] 2015-03-20T00:53:13.198613705Z /usr/lib/prosody/modules/mod_message.lua:53: in function </usr/lib/prosody/modules/mod_message.lua:18>
[xmpp-1] 2015-03-20T00:53:13.198613705Z (tail call): ?
[xmpp-1] 2015-03-20T00:53:13.198613705Z /usr/lib/prosody/util/events.lua:67: in function 'fire_event'
[xmpp-1] 2015-03-20T00:53:13.198613705Z /usr/lib/prosody/core/stanza_router.lua:187: in function 'core_post_stanza'
[xmpp-1] 2015-03-20T00:53:13.198613705Z /usr/lib/prosody/core/stanza_router.lua:135: in function </usr/lib/prosody/core/stanza_router.lua:56>
[xmpp-1] 2015-03-20T00:53:13.198613705Z (tail call): ?
[xmpp-1] 2015-03-20T00:53:13.198613705Z [C]: in function 'xpcall'
[xmpp-1] 2015-03-20T00:53:13.198613705Z ...
[xmpp-1] 2015-03-20T00:53:13.198613705Z /usr/lib/prosody/net/http/server.lua:108: in function 'process_next'
[xmpp-1] 2015-03-20T00:53:13.198613705Z /usr/lib/prosody/net/http/server.lua:124: in function 'success_cb'
[xmpp-1] 2015-03-20T00:53:13.198613705Z /usr/lib/prosody/net/http/parser.lua:154: in function 'feed'
[xmpp-1] 2015-03-20T00:53:13.198613705Z /usr/lib/prosody/net/http/server.lua:150: in function </usr/lib/prosody/net/http/server.lua:149>
[xmpp-1] 2015-03-20T00:53:13.198613705Z (tail call): ?
[xmpp-1] 2015-03-20T00:53:13.198613705Z /usr/lib/prosody/net/server_select.lua:861: in function </usr/lib/prosody/net/server_select.lua:843>
[xmpp-1] 2015-03-20T00:53:13.198613705Z [C]: in function 'xpcall'
[xmpp-1] 2015-03-20T00:53:13.198613705Z /usr/lib/prosody/../../bin/prosody:373: in function 'loop'
[xmpp-1] 2015-03-20T00:53:13.198613705Z /usr/lib/prosody/../../bin/prosody:404: in main chunk
What am I doing wrong? I don't fully understand the syntax accessing the vcard object, so it is hard to troubleshoot. Javascript and node.js is more my area hitherto.
Thanks!
Simon
info vCard for us...@domain.com
[xmpp-1] 2015-03-20T21:59:51.813731734Z mod_bosh error Traceback[bosh]: ...sody-modules/mod_offline_email/mod_offline_email.lua:28: attempt to index local 'vcard' (a nil value)
local username=jid_bare(stanza.attr.to);
module:log("info", "vCard for %s", username);
local vCardRaw=vcards:get(username);
local vcard = st.deserialize(vCardRaw);
local email = vcard:get_child_text("EMAIL"); <-- error
I haven't succeeded in logging out the contents of the vCard either. Keeps complaining of a nil index. But I am absolutely positive that the jid has the vCard - I see it in the db, and I can view it using Adium and retrieve it using stanza.io.
--
You received this message because you are subscribed to the Google Groups "prosody-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to prosody-dev...@googlegroups.com.
To post to this group, send email to proso...@googlegroups.com.
Visit this group at http://groups.google.com/group/prosody-dev.
For more options, visit https://groups.google.com/d/optout.
if text then
local username = jid_split(stanza.attr.to);
module:log("info", "vCard for %s", username);
local email; -- nil by default
local vCardRaw = vcards:get(username);
if vCardRaw then
local vcard = st.deserialize(vCardRaw);
email = vcard:get_child_text("EMAIL");
module:log("info", "vCard raw %s", vCardRaw);
text = text .. "\n\n /to:" .. jid_bare(stanza.attr.to) .. "/from:" .. jid_bare(stanza.attr.from) .. "/";
if email then
return send_message_as_email(email, smtp_daemon, text);
end
end
end
--
You received this message because you are subscribed to a topic in the Google Groups "prosody-dev" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/prosody-dev/hOD-FzM1pY0/unsubscribe.
To unsubscribe from this group and all its topics, send an email to prosody-dev...@googlegroups.com.