add slack mod log
parent
7e9ed2e774
commit
6265cdbf49
|
@ -249,21 +249,20 @@ final class ModlogApi(repo: ModlogRepo, userRepo: UserRepo, slackApi: lila.slack
|
|||
|
||||
private def slackMonitor(m: Modlog): Funit = {
|
||||
import lila.mod.{ Modlog => M }
|
||||
userRepo.isMonitoredMod(m.mod) flatMap {
|
||||
_ ?? slackApi.monitorMod(
|
||||
m.mod,
|
||||
icon = m.action match {
|
||||
case M.alt | M.engine | M.booster | M.troll | M.closeAccount => "thorhammer"
|
||||
case M.unalt | M.unengine | M.unbooster | M.untroll | M.reopenAccount => "large_blue_circle"
|
||||
case M.deletePost | M.deleteTeam | M.terminateTournament => "x"
|
||||
case M.chatTimeout => "hourglass_flowing_sand"
|
||||
case M.closeTopic => "lock"
|
||||
case M.openTopic => "unlock"
|
||||
case M.modMessage => "left_speech_bubble"
|
||||
case _ => "gear"
|
||||
},
|
||||
text = s"""${m.showAction.capitalize} ${m.user.??(u => s"@$u ")}${~m.details}"""
|
||||
)
|
||||
val icon = m.action match {
|
||||
case M.alt | M.engine | M.booster | M.troll | M.closeAccount => "thorhammer"
|
||||
case M.unalt | M.unengine | M.unbooster | M.untroll | M.reopenAccount => "large_blue_circle"
|
||||
case M.deletePost | M.deleteTeam | M.terminateTournament => "x"
|
||||
case M.chatTimeout => "hourglass_flowing_sand"
|
||||
case M.closeTopic => "lock"
|
||||
case M.openTopic => "unlock"
|
||||
case M.modMessage => "left_speech_bubble"
|
||||
case _ => "gear"
|
||||
}
|
||||
val text = s"""${m.showAction.capitalize} ${m.user.??(u => s"@$u ")}${~m.details}"""
|
||||
userRepo.isMonitoredMod(m.mod) flatMap {
|
||||
_ ?? slackApi.monitorMod(m.mod, icon = icon, text = text)
|
||||
}
|
||||
slackApi.logMod(m.mod, icon = icon, text = text)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -54,7 +54,7 @@ final class SlackApi(
|
|||
if (username == "Anonymous") "Anonymous"
|
||||
else s"@$username"
|
||||
|
||||
private def amount(cents: Int) = s"$$${BigDecimal(cents, 2)}"
|
||||
private def amount(cents: Int) = s"$$${BigDecimal(cents.toLong, 2)}"
|
||||
}
|
||||
|
||||
def publishEvent(event: Event): Funit =
|
||||
|
@ -104,6 +104,20 @@ final class SlackApi(
|
|||
}
|
||||
}
|
||||
|
||||
def logMod(modId: User.ID, icon: String, text: String): Funit =
|
||||
lightUser(modId) flatMap {
|
||||
_ ?? { mod =>
|
||||
client(
|
||||
SlackMessage(
|
||||
username = mod.name,
|
||||
icon = "scroll",
|
||||
text = s":$icon: ${linkifyUsers(text)}",
|
||||
channel = "tavern-log"
|
||||
)
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
def chatPanic(mod: User, v: Boolean): Funit =
|
||||
client(
|
||||
SlackMessage(
|
||||
|
|
Loading…
Reference in New Issue