allow "\w" as "/whisper" alias
parent
ecef1f207d
commit
de63ae6497
|
@ -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"
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue