add message listener timeout
This commit is contained in:
parent
e536d8f22a
commit
483a77930f
38
bot.js
38
bot.js
@ -9,7 +9,6 @@ const { Worker } = require('worker_threads');
|
|||||||
warningMsg = ''+config.colours.brackets+'['+config.colours.warning+'WARNING'+config.colours.brackets+']'
|
warningMsg = ''+config.colours.brackets+'['+config.colours.warning+'WARNING'+config.colours.brackets+']'
|
||||||
errorMsg = ''+config.colours.brackets+'['+config.colours.error+'ERROR'+config.colours.brackets+']'
|
errorMsg = ''+config.colours.brackets+'['+config.colours.error+'ERROR'+config.colours.brackets+']'
|
||||||
|
|
||||||
|
|
||||||
var bot = new irc.Client(config.irc.server, config.irc.nickname, {
|
var bot = new irc.Client(config.irc.server, config.irc.nickname, {
|
||||||
channels: config.irc.channels,
|
channels: config.irc.channels,
|
||||||
secure: config.irc.ssl,
|
secure: config.irc.ssl,
|
||||||
@ -21,6 +20,9 @@ var bot = new irc.Client(config.irc.server, config.irc.nickname, {
|
|||||||
floodProtectionDelay: config.irc.floodprotectiondelay
|
floodProtectionDelay: config.irc.floodprotectiondelay
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const msgTimeout = new Set();
|
||||||
|
const msgTimeoutMsg = new Set();
|
||||||
|
|
||||||
const timer = ms => new Promise(res => setTimeout(res, ms))
|
const timer = ms => new Promise(res => setTimeout(res, ms))
|
||||||
|
|
||||||
const isValidUrl = urlString=> {
|
const isValidUrl = urlString=> {
|
||||||
@ -111,15 +113,31 @@ async function twitter(chan, provfeed, n) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
bot.addListener('message', function(nick, to, text, from) {
|
bot.addListener('message', function(nick, to, text, from) {
|
||||||
var args = text.split(' ');
|
if (msgTimeout.has(to)) {
|
||||||
if (args[0] === config.irc.prefix+'help') {
|
if (msgTimeoutMsg.has("yes")) {
|
||||||
help(to, args[1]);
|
return;
|
||||||
} else if (args[0] === config.irc.prefix+'feed') {
|
} else {
|
||||||
feed(to, nick, args[1], args[2]);
|
bot.say(to, errorMsg+" You are sending commands too quickly")
|
||||||
} else if (args[0] === config.irc.prefix+'twitter') {
|
msgTimeoutMsg.add("yes");
|
||||||
twitter(to, args[1], args[2])
|
setTimeout(() => {
|
||||||
} else if (args[0] === config.irc.prefix+'opt') {
|
msgTimeoutMsg.delete("yes");
|
||||||
opt(to, nick, args[1], args[2], args[3], args[4])
|
}, config.misc.command_listen_timeout)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
var args = text.split(' ');
|
||||||
|
if (args[0] === config.irc.prefix+'help') {
|
||||||
|
help(to, args[1]);
|
||||||
|
} else if (args[0] === config.irc.prefix+'feed') {
|
||||||
|
feed(to, nick, args[1], args[2]);
|
||||||
|
} else if (args[0] === config.irc.prefix+'twitter') {
|
||||||
|
twitter(to, args[1], args[2])
|
||||||
|
} else if (args[0] === config.irc.prefix+'opt') {
|
||||||
|
opt(to, nick, args[1], args[2], args[3], args[4])
|
||||||
|
}
|
||||||
|
msgTimeout.add(to);
|
||||||
|
setTimeout(() => {
|
||||||
|
msgTimeout.delete(to);
|
||||||
|
}, config.misc.command_listen_timeout)
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -27,6 +27,7 @@
|
|||||||
"body": "00",
|
"body": "00",
|
||||||
"link": "02",
|
"link": "02",
|
||||||
"help_logo": "07",
|
"help_logo": "07",
|
||||||
|
"help_motd": "08",
|
||||||
"warning": "08",
|
"warning": "08",
|
||||||
"error": "05"
|
"error": "05"
|
||||||
},
|
},
|
||||||
@ -47,6 +48,14 @@
|
|||||||
},
|
},
|
||||||
"misc": {
|
"misc": {
|
||||||
"display_help_logo": "true",
|
"display_help_logo": "true",
|
||||||
"logging": "true"
|
"logging": "true",
|
||||||
|
"command_listen_timeout": "2500"
|
||||||
|
},
|
||||||
|
"motd": {
|
||||||
|
"enable": "true",
|
||||||
|
"list": [
|
||||||
|
"COLD HARD CHATS"
|
||||||
|
],
|
||||||
|
"version": "git-master"
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user