mirror of
https://github.com/nioc/xmpp-bot.git
synced 2024-12-04 22:23:36 +01:00
Set config file as parameter and refactoring XMPP
This commit is contained in:
parent
d1da553ec2
commit
5b968af106
2 changed files with 11 additions and 7 deletions
|
@ -9,13 +9,16 @@
|
|||
* @license AGPL-3.0+
|
||||
*/
|
||||
|
||||
module.exports = function Configuration (logger) {
|
||||
module.exports = function Configuration (logger, configPath = null) {
|
||||
let config
|
||||
if (configPath === null) {
|
||||
configPath = './lib/config/config.json'
|
||||
}
|
||||
try {
|
||||
let data = require('fs').readFileSync('./lib/config/config.json')
|
||||
let data = require('fs').readFileSync(configPath)
|
||||
config = JSON.parse(data)
|
||||
} catch (error) {
|
||||
logger.fatal(`Invalid configuration file: ${error.message}`)
|
||||
logger.fatal(`Invalid configuration file: ${error.message}, current directory is: ${process.cwd()}`)
|
||||
process.exit(99)
|
||||
}
|
||||
return {
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
|
||||
module.exports = (logger, config) => {
|
||||
const xmpp = require('simple-xmpp')
|
||||
const outgoing = require('../outgoing')
|
||||
this.jid = null
|
||||
|
||||
// handle connection
|
||||
|
@ -30,15 +31,15 @@ module.exports = (logger, config) => {
|
|||
xmpp.on('chat', function (from, message) {
|
||||
logger.info(`Incoming chat message from ${from}`)
|
||||
logger.debug(`Message: "${message}"`)
|
||||
let xmppHook = config.getXmppHookAction('bot')
|
||||
let xmppHook = config.getXmppHookAction(this.jid)
|
||||
if (!xmppHook) {
|
||||
logger.error('There is no action for incoming chat message from bot')
|
||||
logger.error(`There is no action for incoming chat message to ${this.jid}`)
|
||||
return
|
||||
}
|
||||
switch (xmppHook.action) {
|
||||
case 'outgoing_webhook':
|
||||
logger.debug(`Call outgoing webhook: ${xmppHook.args[0]}`)
|
||||
require('../outgoing')(logger, config, xmpp, from, from, message, false, xmppHook.args[0])
|
||||
outgoing(logger, config, xmpp, from, from, message, false, xmppHook.args[0])
|
||||
break
|
||||
default:
|
||||
break
|
||||
|
@ -62,7 +63,7 @@ module.exports = (logger, config) => {
|
|||
switch (xmppHook.action) {
|
||||
case 'outgoing_webhook':
|
||||
logger.debug(`Call outgoing webhook: ${xmppHook.args[0]}`)
|
||||
require('../outgoing')(logger, config, xmpp, from, conference, message, true, xmppHook.args[0])
|
||||
outgoing(logger, config, xmpp, from, conference, message, true, xmppHook.args[0])
|
||||
break
|
||||
default:
|
||||
break
|
||||
|
|
Loading…
Reference in a new issue