50 líneas
1.3 KiB
JavaScript
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');
|
|
}
|
|
};
|