42 lines
1.3 KiB
JavaScript
42 lines
1.3 KiB
JavaScript
import log from '../log';
|
|
import { Strophe, $msg } from 'strophe.js/src/strophe';
|
|
import { _converse, api, converse } from '@converse/headless/core';
|
|
|
|
const u = converse.env.utils;
|
|
|
|
export function rejectMessage (stanza, text) {
|
|
// Reject an incoming message by replying with an error message of type "cancel".
|
|
api.send(
|
|
$msg({
|
|
'to': stanza.getAttribute('from'),
|
|
'type': 'error',
|
|
'id': stanza.getAttribute('id')
|
|
})
|
|
.c('error', { 'type': 'cancel' })
|
|
.c('not-allowed', { xmlns: 'urn:ietf:params:xml:ns:xmpp-stanzas' })
|
|
.up()
|
|
.c('text', { xmlns: 'urn:ietf:params:xml:ns:xmpp-stanzas' })
|
|
.t(text)
|
|
);
|
|
log.warn(`Rejecting message stanza with the following reason: ${text}`);
|
|
log.warn(stanza);
|
|
}
|
|
|
|
|
|
/**
|
|
* Send out a XEP-0333 chat marker
|
|
* @param { String } to_jid
|
|
* @param { String } id - The id of the message being marked
|
|
* @param { String } type - The marker type
|
|
* @param { String } msg_type
|
|
*/
|
|
export function sendMarker (to_jid, id, type, msg_type) {
|
|
const stanza = $msg({
|
|
'from': _converse.connection.jid,
|
|
'id': u.getUniqueId(),
|
|
'to': to_jid,
|
|
'type': msg_type ? msg_type : 'chat'
|
|
}).c(type, {'xmlns': Strophe.NS.MARKERS, 'id': id});
|
|
api.send(stanza);
|
|
}
|