Improved event null-checks.
This commit is contained in:
parent
ba9d79ce60
commit
bc75d1eb73
2 changed files with 58 additions and 42 deletions
|
@ -162,73 +162,87 @@ class Mobibot(nickname: String, channel: String, logsDirPath: String, p: Propert
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onAction(event: ActionEvent?) {
|
override fun onAction(event: ActionEvent?) {
|
||||||
if (channel == event?.channel?.name) {
|
event?.channel?.let {
|
||||||
storeRecap(event.user!!.nick, event.action, true)
|
if (channel == it.name) {
|
||||||
|
event.user?.let { user ->
|
||||||
|
storeRecap(user.nick, event.action, true)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onDisconnect(event: DisconnectEvent?) {
|
override fun onDisconnect(event: DisconnectEvent?) {
|
||||||
with(event!!.getBot<PircBotX>()) {
|
event?.let {
|
||||||
LinksMgr.twitter.notification("$nick disconnected from irc://$serverHostname")
|
with(event.getBot<PircBotX>()) {
|
||||||
|
LinksMgr.twitter.notification("$nick disconnected from irc://$serverHostname")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
LinksMgr.twitter.shutdown()
|
LinksMgr.twitter.shutdown()
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onPrivateMessage(event: PrivateMessageEvent?) {
|
override fun onPrivateMessage(event: PrivateMessageEvent?) {
|
||||||
if (logger.isTraceEnabled) logger.trace("<<< ${event!!.user!!.nick}: ${event.message}")
|
event?.user?.let { user ->
|
||||||
val cmds = event!!.message.trim().split(" ".toRegex(), 2)
|
if (logger.isTraceEnabled) logger.trace("<<< ${user.nick}: ${event.message}")
|
||||||
val cmd = cmds[0].lowercase()
|
val cmds = event.message.trim().split(" ".toRegex(), 2)
|
||||||
val args = if (cmds.size > 1) {
|
val cmd = cmds[0].lowercase()
|
||||||
cmds[1].trim()
|
val args = if (cmds.size > 1) {
|
||||||
} else ""
|
cmds[1].trim()
|
||||||
if (cmd.startsWith(Constants.HELP_CMD)) { // help
|
} else ""
|
||||||
helpResponse(event, args)
|
if (cmd.startsWith(Constants.HELP_CMD)) { // help
|
||||||
} else if (!addons.exec(channel, cmd, args, event)) { // Execute command or module
|
helpResponse(event, args)
|
||||||
helpDefault(event)
|
} else if (!addons.exec(channel, cmd, args, event)) { // Execute command or module
|
||||||
|
helpDefault(event)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onJoin(event: JoinEvent?) {
|
override fun onJoin(event: JoinEvent?) {
|
||||||
with(event!!.getBot<PircBotX>()) {
|
event?.user?.let { user ->
|
||||||
if (event.user!!.nick == nick) {
|
with(event.getBot<PircBotX>()) {
|
||||||
LinksMgr.twitter.notification("$nick has joined ${event.channel.name} on irc://$serverHostname")
|
if (user.nick == nick) {
|
||||||
} else {
|
LinksMgr.twitter.notification("$nick has joined ${event.channel.name} on irc://$serverHostname")
|
||||||
tell.send(event)
|
} else {
|
||||||
|
tell.send(event)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onMessage(event: MessageEvent?) {
|
override fun onMessage(event: MessageEvent?) {
|
||||||
val sender = event!!.user!!.nick
|
event?.user?.let { user ->
|
||||||
val message = event.message
|
val sender = user.nick
|
||||||
tell.send(event)
|
val message = event.message
|
||||||
if (message.matches("(?i)${Pattern.quote(event.bot().nick)}:.*".toRegex())) { // mobibot: <command>
|
tell.send(event)
|
||||||
if (logger.isTraceEnabled) logger.trace(">>> $sender: $message")
|
if (message.matches("(?i)${Pattern.quote(event.bot().nick)}:.*".toRegex())) { // mobibot: <command>
|
||||||
val cmds = message.substring(message.indexOf(':') + 1).trim().split(" ".toRegex(), 2)
|
if (logger.isTraceEnabled) logger.trace(">>> $sender: $message")
|
||||||
val cmd = cmds[0].lowercase()
|
val cmds = message.substring(message.indexOf(':') + 1).trim().split(" ".toRegex(), 2)
|
||||||
val args = if (cmds.size > 1) {
|
val cmd = cmds[0].lowercase()
|
||||||
cmds[1].trim()
|
val args = if (cmds.size > 1) {
|
||||||
} else ""
|
cmds[1].trim()
|
||||||
if (cmd.startsWith(Constants.HELP_CMD)) { // mobibot: help
|
} else ""
|
||||||
helpResponse(event, args)
|
if (cmd.startsWith(Constants.HELP_CMD)) { // mobibot: help
|
||||||
} else {
|
helpResponse(event, args)
|
||||||
// Execute module or command
|
} else {
|
||||||
addons.exec(channel, cmd, args, event)
|
// Execute module or command
|
||||||
|
addons.exec(channel, cmd, args, event)
|
||||||
|
}
|
||||||
|
} else if (addons.match(channel, event)) { // Links, e.g.: https://www.example.com/ or L1: , etc.
|
||||||
|
if (logger.isTraceEnabled) logger.trace(">>> $sender: $message")
|
||||||
}
|
}
|
||||||
} else if (addons.match(channel, event)) { // Links, e.g.: https://www.example.com/ or L1: , etc.
|
storeRecap(sender, message, false)
|
||||||
if (logger.isTraceEnabled) logger.trace(">>> $sender: $message")
|
|
||||||
}
|
}
|
||||||
storeRecap(sender, message, false)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onNickChange(event: NickChangeEvent?) {
|
override fun onNickChange(event: NickChangeEvent?) {
|
||||||
tell.send(event!!)
|
event?.let { tell.send(event) }
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onPart(event: PartEvent?) {
|
override fun onPart(event: PartEvent?) {
|
||||||
with(event!!.getBot<PircBotX>()) {
|
event?.user?.let { user ->
|
||||||
if (event.user!!.nick == nick) {
|
with(event.getBot<PircBotX>()) {
|
||||||
LinksMgr.twitter.notification("$nick has left ${event.channel.name} on irc://$serverHostname")
|
if (user.nick == nick) {
|
||||||
|
LinksMgr.twitter.notification("$nick has left ${event.channel.name} on irc://$serverHostname")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -63,7 +63,9 @@ class CryptoPrices : ThreadedModule() {
|
||||||
event.respond("${price.base} current price is $amount [${price.currency}]")
|
event.respond("${price.base} current price is $amount [${price.currency}]")
|
||||||
} catch (e: CryptoException) {
|
} catch (e: CryptoException) {
|
||||||
if (logger.isWarnEnabled) logger.warn("$debugMessage => ${e.statusCode}", e)
|
if (logger.isWarnEnabled) logger.warn("$debugMessage => ${e.statusCode}", e)
|
||||||
event.sendMessage(e.message!!)
|
e.message?.let {
|
||||||
|
event.sendMessage(it)
|
||||||
|
}
|
||||||
} catch (e: IOException) {
|
} catch (e: IOException) {
|
||||||
if (logger.isErrorEnabled) logger.error(debugMessage, e)
|
if (logger.isErrorEnabled) logger.error(debugMessage, e)
|
||||||
event.sendMessage("An IO error has occurred while retrieving the cryptocurrency market price.")
|
event.sendMessage("An IO error has occurred while retrieving the cryptocurrency market price.")
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue