Small kotlin improvement
This commit is contained in:
parent
361427488f
commit
6567c5e6c7
@ -44,12 +44,11 @@ object CommandParser {
|
||||
return ParsedCommand.ErrorNotACommand
|
||||
}
|
||||
|
||||
var messageParts: List<String>? = null
|
||||
|
||||
try {
|
||||
messageParts = textMessage.split("\\s+".toRegex()).dropLastWhile { it.isEmpty() }
|
||||
val messageParts = try {
|
||||
textMessage.split("\\s+".toRegex()).dropLastWhile { it.isEmpty() }
|
||||
} catch (e: Exception) {
|
||||
Timber.e(e, "## manageSplashCommand() : split failed")
|
||||
null
|
||||
}
|
||||
|
||||
// test if the string cut fails
|
||||
@ -57,10 +56,8 @@ object CommandParser {
|
||||
return ParsedCommand.ErrorEmptySlashCommand
|
||||
}
|
||||
|
||||
val slashCommand = messageParts[0]
|
||||
|
||||
when (slashCommand) {
|
||||
Command.CHANGE_DISPLAY_NAME.command -> {
|
||||
when (val slashCommand = messageParts.first()) {
|
||||
Command.CHANGE_DISPLAY_NAME.command -> {
|
||||
val newDisplayName = textMessage.substring(Command.CHANGE_DISPLAY_NAME.command.length).trim()
|
||||
|
||||
return if (newDisplayName.isNotEmpty()) {
|
||||
@ -69,7 +66,7 @@ object CommandParser {
|
||||
ParsedCommand.ErrorSyntax(Command.CHANGE_DISPLAY_NAME)
|
||||
}
|
||||
}
|
||||
Command.TOPIC.command -> {
|
||||
Command.TOPIC.command -> {
|
||||
val newTopic = textMessage.substring(Command.TOPIC.command.length).trim()
|
||||
|
||||
return if (newTopic.isNotEmpty()) {
|
||||
@ -78,12 +75,12 @@ object CommandParser {
|
||||
ParsedCommand.ErrorSyntax(Command.TOPIC)
|
||||
}
|
||||
}
|
||||
Command.EMOTE.command -> {
|
||||
Command.EMOTE.command -> {
|
||||
val message = textMessage.substring(Command.EMOTE.command.length).trim()
|
||||
|
||||
return ParsedCommand.SendEmote(message)
|
||||
}
|
||||
Command.JOIN_ROOM.command -> {
|
||||
Command.JOIN_ROOM.command -> {
|
||||
val roomAlias = textMessage.substring(Command.JOIN_ROOM.command.length).trim()
|
||||
|
||||
return if (roomAlias.isNotEmpty()) {
|
||||
@ -92,7 +89,7 @@ object CommandParser {
|
||||
ParsedCommand.ErrorSyntax(Command.JOIN_ROOM)
|
||||
}
|
||||
}
|
||||
Command.PART.command -> {
|
||||
Command.PART.command -> {
|
||||
val roomAlias = textMessage.substring(Command.PART.command.length).trim()
|
||||
|
||||
return if (roomAlias.isNotEmpty()) {
|
||||
@ -101,7 +98,7 @@ object CommandParser {
|
||||
ParsedCommand.ErrorSyntax(Command.PART)
|
||||
}
|
||||
}
|
||||
Command.INVITE.command -> {
|
||||
Command.INVITE.command -> {
|
||||
return if (messageParts.size == 2) {
|
||||
val userId = messageParts[1]
|
||||
|
||||
@ -114,7 +111,7 @@ object CommandParser {
|
||||
ParsedCommand.ErrorSyntax(Command.INVITE)
|
||||
}
|
||||
}
|
||||
Command.KICK_USER.command -> {
|
||||
Command.KICK_USER.command -> {
|
||||
return if (messageParts.size >= 2) {
|
||||
val userId = messageParts[1]
|
||||
if (MatrixPatterns.isUserId(userId)) {
|
||||
@ -130,7 +127,7 @@ object CommandParser {
|
||||
ParsedCommand.ErrorSyntax(Command.KICK_USER)
|
||||
}
|
||||
}
|
||||
Command.BAN_USER.command -> {
|
||||
Command.BAN_USER.command -> {
|
||||
return if (messageParts.size >= 2) {
|
||||
val userId = messageParts[1]
|
||||
if (MatrixPatterns.isUserId(userId)) {
|
||||
@ -146,7 +143,7 @@ object CommandParser {
|
||||
ParsedCommand.ErrorSyntax(Command.BAN_USER)
|
||||
}
|
||||
}
|
||||
Command.UNBAN_USER.command -> {
|
||||
Command.UNBAN_USER.command -> {
|
||||
return if (messageParts.size == 2) {
|
||||
val userId = messageParts[1]
|
||||
|
||||
@ -159,7 +156,7 @@ object CommandParser {
|
||||
ParsedCommand.ErrorSyntax(Command.UNBAN_USER)
|
||||
}
|
||||
}
|
||||
Command.SET_USER_POWER_LEVEL.command -> {
|
||||
Command.SET_USER_POWER_LEVEL.command -> {
|
||||
return if (messageParts.size == 3) {
|
||||
val userId = messageParts[1]
|
||||
if (MatrixPatterns.isUserId(userId)) {
|
||||
@ -192,25 +189,25 @@ object CommandParser {
|
||||
ParsedCommand.ErrorSyntax(Command.SET_USER_POWER_LEVEL)
|
||||
}
|
||||
}
|
||||
Command.MARKDOWN.command -> {
|
||||
Command.MARKDOWN.command -> {
|
||||
return if (messageParts.size == 2) {
|
||||
when {
|
||||
"on".equals(messageParts[1], true) -> ParsedCommand.SetMarkdown(true)
|
||||
"on".equals(messageParts[1], true) -> ParsedCommand.SetMarkdown(true)
|
||||
"off".equals(messageParts[1], true) -> ParsedCommand.SetMarkdown(false)
|
||||
else -> ParsedCommand.ErrorSyntax(Command.MARKDOWN)
|
||||
else -> ParsedCommand.ErrorSyntax(Command.MARKDOWN)
|
||||
}
|
||||
} else {
|
||||
ParsedCommand.ErrorSyntax(Command.MARKDOWN)
|
||||
}
|
||||
}
|
||||
Command.CLEAR_SCALAR_TOKEN.command -> {
|
||||
Command.CLEAR_SCALAR_TOKEN.command -> {
|
||||
return if (messageParts.size == 1) {
|
||||
ParsedCommand.ClearScalarToken
|
||||
} else {
|
||||
ParsedCommand.ErrorSyntax(Command.CLEAR_SCALAR_TOKEN)
|
||||
}
|
||||
}
|
||||
else -> {
|
||||
else -> {
|
||||
// Unknown command
|
||||
return ParsedCommand.ErrorUnknownSlashCommand(slashCommand)
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user