Log command executions
This commit is contained in:
parent
d662784d86
commit
3890b2bba9
|
@ -16,6 +16,9 @@ fun main() {
|
|||
object Kagebot {
|
||||
fun processMessage(event: MessageCreateEvent) {
|
||||
if (event.messageAuthor.isBotUser) {
|
||||
if (event.messageAuthor.isYourself) {
|
||||
log.info("<Self> ${event.readableMessageContent}")
|
||||
}
|
||||
return
|
||||
}
|
||||
for (command in Globals.config.commands) {
|
||||
|
|
|
@ -2,6 +2,7 @@ package moe.kageru.kagebot.command
|
|||
|
||||
import moe.kageru.kagebot.Globals
|
||||
import moe.kageru.kagebot.Globals.config
|
||||
import moe.kageru.kagebot.Log.log
|
||||
import moe.kageru.kagebot.MessageUtil
|
||||
import moe.kageru.kagebot.Util.doIf
|
||||
import moe.kageru.kagebot.config.RawCommand
|
||||
|
@ -35,8 +36,10 @@ class Command(cmd: RawCommand) {
|
|||
if (config.localization.permissionDenied.isNotBlank()) {
|
||||
message.channel.sendMessage(config.localization.permissionDenied)
|
||||
}
|
||||
log.info("Denying command ${this.trigger} to user ${message.messageAuthor.discriminatedName} (ID: ${message.messageAuthor.id})")
|
||||
return
|
||||
}
|
||||
log.info("Executing command ${this.trigger} triggered by user ${message.messageAuthor.discriminatedName} (ID: ${message.messageAuthor.id})")
|
||||
Globals.commandCounter.incrementAndGet()
|
||||
this.actions?.run(message, this)
|
||||
this.response?.let {
|
||||
|
@ -45,6 +48,7 @@ class Command(cmd: RawCommand) {
|
|||
}
|
||||
|
||||
fun matches(msg: String) = this.matchType.matches(msg, this)
|
||||
|
||||
private fun respond(author: MessageAuthor, response: String) = response.doIf({ it.contains(AUTHOR_PLACEHOLDER) }) {
|
||||
it.replace(AUTHOR_PLACEHOLDER, MessageUtil.mention(author))
|
||||
}
|
||||
|
|
|
@ -18,7 +18,6 @@ import java.util.*
|
|||
object TestUtil {
|
||||
fun mockMessage(
|
||||
content: String,
|
||||
author: Long = 1,
|
||||
replies: MutableList<String> = mutableListOf(),
|
||||
replyEmbeds: MutableList<EmbedBuilder> = mutableListOf(),
|
||||
isBot: Boolean = false
|
||||
|
@ -26,13 +25,18 @@ object TestUtil {
|
|||
return mockk {
|
||||
every { messageContent } returns content
|
||||
every { readableMessageContent } returns content
|
||||
every { messageAuthor.id } returns author
|
||||
every { channel.sendMessage(capture(replies)) } returns mockk()
|
||||
every { channel.sendMessage(capture(replyEmbeds)) } returns mockk()
|
||||
every { messageAuthor.isBotUser } returns isBot
|
||||
every { message.canYouDelete() } returns true
|
||||
every { messageAuthor.isBotOwner } returns false
|
||||
every { isPrivateMessage } returns false
|
||||
// We can’t use a nested mock here because other fields of messageAuthor might
|
||||
// get overwritten by other tests, which would delete a nested mock.
|
||||
every { messageAuthor.id } returns 1
|
||||
every { messageAuthor.discriminatedName } returns "testuser#1234"
|
||||
every { messageAuthor.isBotUser } returns isBot
|
||||
every { messageAuthor.isYourself } returns isBot
|
||||
every { messageAuthor.isBotOwner } returns false
|
||||
every { messageAuthor.asUser() } returns Optional.of(messageableAuthor())
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
package moe.kageru.kagebot
|
||||
package moe.kageru.kagebot.command
|
||||
|
||||
import io.kotlintest.matchers.string.shouldContain
|
||||
import io.kotlintest.shouldBe
|
||||
|
@ -6,7 +6,10 @@ import io.kotlintest.specs.StringSpec
|
|||
import io.mockk.every
|
||||
import io.mockk.mockk
|
||||
import io.mockk.verify
|
||||
import moe.kageru.kagebot.Globals
|
||||
import moe.kageru.kagebot.Globals.config
|
||||
import moe.kageru.kagebot.Kagebot
|
||||
import moe.kageru.kagebot.TestUtil
|
||||
import moe.kageru.kagebot.TestUtil.embedToString
|
||||
import moe.kageru.kagebot.TestUtil.messageableAuthor
|
||||
import moe.kageru.kagebot.TestUtil.mockMessage
|
||||
|
@ -111,7 +114,6 @@ class CommandTest : StringSpec({
|
|||
) {
|
||||
val replies = mutableListOf<String>()
|
||||
val mockMessage = mockMessage("!restricted", replies = replies)
|
||||
every { mockMessage.messageAuthor.asUser() } returns Optional.of(messageableAuthor())
|
||||
Kagebot.processMessage(mockMessage)
|
||||
replies shouldBe mutableListOf(config.localization.permissionDenied)
|
||||
withLocalization(
|
Loading…
Reference in New Issue
Block a user