27 lines
876 B
JavaScript
27 lines
876 B
JavaScript
module.exports = Self => {
|
|
require('../methods/chat/getServiceAuth')(Self);
|
|
require('../methods/chat/send')(Self);
|
|
require('../methods/chat/sendCheckingPresence')(Self);
|
|
require('../methods/chat/notifyIssues')(Self);
|
|
require('../methods/chat/sendQueued')(Self);
|
|
|
|
Self.observe('before save', async function(ctx) {
|
|
if (!ctx.isNewInstance) return;
|
|
|
|
let {message} = ctx.instance;
|
|
if (!message) return;
|
|
|
|
const parts = message.match(/(?<=\[)[a-zA-Z0-9_\-+!@#$%^&*()={};':"\\|,.<>/?\s]*(?=])/g);
|
|
if (!parts) return;
|
|
|
|
const replacedParts = parts.map(part => {
|
|
return part.replace(/[!$%^&*()={};':"\\,.<>/?]/g, '');
|
|
});
|
|
|
|
for (const [index, part] of parts.entries())
|
|
message = message.replace(part, replacedParts[index]);
|
|
|
|
ctx.instance.message = message;
|
|
});
|
|
};
|