allow "\w" as "/whisper" alias

pull/7011/head
Thibault Duplessis 2016-11-03 15:25:15 +01:00
parent ecef1f207d
commit de63ae6497
1 changed files with 9 additions and 6 deletions

View File

@ -15,7 +15,7 @@ final class Messenger(
def system(game: Game, message: SelectI18nKey, args: Any*) {
val translated = message(i18nKeys).en(args: _*)
chat ! SystemTalk(game.id + "/w", translated)
chat ! SystemTalk(watcherId(game.id), translated)
if (game.nonAi) chat ! SystemTalk(game.id, translated)
}
@ -26,17 +26,20 @@ final class Messenger(
def watcher(gameId: String, member: Member, text: String) =
member.userId foreach { userId =>
chat ! UserTalk(gameId + "/w", userId, text)
chat ! UserTalk(watcherId(gameId), userId, text)
}
private val whisper = "/whisper "
private val whisperCommands = List("/whisper ", "/w ")
def owner(gameId: String, member: Member, text: String) =
chat ! (member.userId match {
case Some(userId) if text startsWith whisper =>
UserTalk(gameId + "/w", userId, text drop whisper.size)
case Some(userId) =>
UserTalk(gameId, userId, text, public = false)
whisperCommands.collectFirst {
case command if text startsWith command =>
UserTalk(watcherId(gameId), userId, text drop command.size)
} | UserTalk(gameId, userId, text, public = false)
case None => PlayerTalk(gameId, member.color.white, text)
})
private def watcherId(gameId: String) = s"$gameId/w"
}