Added disabled modules and commands listing

This commit is contained in:
Erik C. Thauvin 2023-02-01 02:37:04 -08:00
parent 1b55736ee1
commit f06ba4a6f5
3 changed files with 21 additions and 3 deletions

View file

@ -74,7 +74,10 @@ class Addons(private val props: Properties) {
if (logger.isDebugEnabled) { if (logger.isDebugEnabled) {
logger.debug("Module $name is disabled.") logger.debug("Module $name is disabled.")
} }
names.disabledModules.add(name)
} }
} else {
names.disabledModules.add(name)
} }
} }
return enabled return enabled
@ -106,7 +109,10 @@ class Addons(private val props: Properties) {
if (logger.isDebugEnabled) { if (logger.isDebugEnabled) {
logger.debug("Command $name is disabled.") logger.debug("Command $name is disabled.")
} }
names.disabledCommands.add(name)
} }
} else {
names.disabledCommands.add(name)
} }
} }
return enabled return enabled
@ -168,12 +174,16 @@ class Addons(private val props: Properties) {
*/ */
object Names { object Names {
val modules: MutableList<String> = mutableListOf() val modules: MutableList<String> = mutableListOf()
val disabledModules: MutableList<String> = mutableListOf()
val commands: MutableList<String> = mutableListOf() val commands: MutableList<String> = mutableListOf()
val disabledCommands: MutableList<String> = mutableListOf()
val ops: MutableList<String> = mutableListOf() val ops: MutableList<String> = mutableListOf()
fun sort() { fun sort() {
modules.sort() modules.sort()
disabledModules.sort()
commands.sort() commands.sort()
disabledCommands.sort()
ops.sort() ops.sort()
} }
} }

View file

@ -148,6 +148,10 @@ class Mobibot(nickname: String, val channel: String, logsDirPath: String, p: Pro
event.sendMessage("The commands are:") event.sendMessage("The commands are:")
event.sendList(addons.names.commands, 8, isBold = true, isIndent = true) event.sendList(addons.names.commands, 8, isBold = true, isIndent = true)
if (event.isChannelOp(channel)) { if (event.isChannelOp(channel)) {
if (addons.names.disabledCommands.isNotEmpty()) {
event.sendMessage("The disabled commands are:")
event.sendList(addons.names.disabledCommands, 8, isBold = false, isIndent = true)
}
event.sendMessage("The op commands are:") event.sendMessage("The op commands are:")
event.sendList(addons.names.ops, 8, isBold = true, isIndent = true) event.sendList(addons.names.ops, 8, isBold = true, isIndent = true)
} }
@ -412,7 +416,7 @@ class Mobibot(nickname: String, val channel: String, logsDirPath: String, p: Pro
addons.add(Ignore()) addons.add(Ignore())
addons.add(LinksManager()) addons.add(LinksManager())
addons.add(Me()) addons.add(Me())
addons.add(Modules(addons.names.modules)) addons.add(Modules(addons.names.modules, addons.names.disabledModules))
addons.add(Msg()) addons.add(Msg())
addons.add(Nick()) addons.add(Nick())
addons.add(Posting()) addons.add(Posting())

View file

@ -36,9 +36,9 @@ import net.thauvin.erik.mobibot.Utils.isChannelOp
import net.thauvin.erik.mobibot.Utils.sendList import net.thauvin.erik.mobibot.Utils.sendList
import org.pircbotx.hooks.types.GenericMessageEvent import org.pircbotx.hooks.types.GenericMessageEvent
class Modules(private val modules: List<String>) : AbstractCommand() { class Modules(private val modules: List<String>, private val disabledModules: List<String>) : AbstractCommand() {
override val name = "modules" override val name = "modules"
override val help = listOf("To view a list of enabled modules:", helpFormat("%c $name")) override val help = listOf("To view a list of enabled/disabled modules:", helpFormat("%c $name"))
override val isOpOnly = true override val isOpOnly = true
override val isPublic = false override val isPublic = false
override val isVisible = true override val isVisible = true
@ -51,6 +51,10 @@ class Modules(private val modules: List<String>) : AbstractCommand() {
event.respondPrivateMessage("The enabled modules are: ") event.respondPrivateMessage("The enabled modules are: ")
event.sendList(modules, 7, isIndent = true) event.sendList(modules, 7, isIndent = true)
} }
if (disabledModules.isNotEmpty()) {
event.respondPrivateMessage("The disabled modules are: ")
event.sendList(disabledModules, 7, isIndent = true)
}
} else { } else {
helpResponse(channel, args, event) helpResponse(channel, args, event)
} }