summaryrefslogtreecommitdiffstats
path: root/app/xmpp/events/usermessage-created.js
diff options
context:
space:
mode:
Diffstat (limited to 'app/xmpp/events/usermessage-created.js')
-rw-r--r--app/xmpp/events/usermessage-created.js44
1 files changed, 44 insertions, 0 deletions
diff --git a/app/xmpp/events/usermessage-created.js b/app/xmpp/events/usermessage-created.js
new file mode 100644
index 0000000..921d820
--- /dev/null
+++ b/app/xmpp/events/usermessage-created.js
@@ -0,0 +1,44 @@
+'use strict';
+
+var Stanza = require('node-xmpp-core').Stanza,
+ settings = require('./../../config'),
+ helper = require('./../helper'),
+ EventListener = require('./../event-listener');
+
+var mentionPattern = /\B@(\w+)(?!@)\b/g;
+
+module.exports = EventListener.extend({
+
+ on: 'user-messages:new',
+
+ then: function(msg, user, owner) {
+ if (!settings.private.enable) {
+ return;
+ }
+
+ var connections = this.core.presence.system.connections.query({
+ userId: user._id.toString(),
+ type: 'xmpp'
+ });
+
+ connections.forEach(function(connection) {
+
+ var stanza = new Stanza.Message({
+ id: msg._id,
+ type: 'chat',
+ to: helper.getUserJid(user.username),
+ from: helper.getUserJid(owner.username)
+ });
+
+ stanza.c('active', {
+ xmlns: 'http://jabber.org/protocol/chatstates'
+ });
+
+ stanza.c('body').t(msg.text);
+
+ this.send(connection, stanza);
+
+ }, this);
+ }
+
+});