49
examples/modules/mod_welcome.js
Archivo normal
49
examples/modules/mod_welcome.js
Archivo normal
@@ -0,0 +1,49 @@
|
||||
/**
|
||||
* Example Module: Welcome Message
|
||||
* Sends a welcome message to users when they first log in
|
||||
*/
|
||||
|
||||
const ltx = require('ltx');
|
||||
|
||||
module.exports = {
|
||||
name: 'welcome_message',
|
||||
version: '1.0.0',
|
||||
description: 'Sends welcome messages to new users',
|
||||
author: 'Example',
|
||||
|
||||
load(module) {
|
||||
const { logger, sessionManager, config } = module.api;
|
||||
|
||||
// Get welcome message from config
|
||||
const welcomeMsg = module.api.getConfig('message',
|
||||
'Welcome to our XMPP server! Enjoy your stay.');
|
||||
|
||||
const sendWelcome = module.api.getConfig('sendOnLogin', true);
|
||||
|
||||
logger.info('Welcome message module loaded');
|
||||
|
||||
if (sendWelcome) {
|
||||
// Hook into session authentication
|
||||
sessionManager.on('session:authenticated', (session) => {
|
||||
logger.info(`Sending welcome message to ${session.jid}`);
|
||||
|
||||
// Create welcome message
|
||||
const message = new ltx.Element('message', {
|
||||
to: session.jid,
|
||||
from: module.host,
|
||||
type: 'chat'
|
||||
}).c('body').t(welcomeMsg).up()
|
||||
.c('subject').t('Welcome!');
|
||||
|
||||
// Send message
|
||||
session.send(message);
|
||||
});
|
||||
}
|
||||
|
||||
logger.info(`Welcome message: "${welcomeMsg}"`);
|
||||
},
|
||||
|
||||
unload(module) {
|
||||
module.api.logger.info('Welcome message module unloaded');
|
||||
}
|
||||
};
|
||||
Referencia en una nueva incidencia
Block a user