Files
prosody-nodejs/examples/modules/mod_welcome.js
2025-12-27 03:39:14 +01:00

50 líneas
1.3 KiB
JavaScript

/**
* 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');
}
};