diff --git a/src/main/kotlin/Main.kt b/src/main/kotlin/Main.kt index fe44eb1..c05033e 100644 --- a/src/main/kotlin/Main.kt +++ b/src/main/kotlin/Main.kt @@ -6,28 +6,28 @@ import org.javacord.api.event.message.MessageCreateEvent fun extractNumbers(pattern: String, text: String?): List { val matches = Regex(pattern).findAll(text ?: "") return matches - .filter { it.groups[1] != null } - .map { it.value.lowercase() } - .map { it.replace(",", ".").toDouble() } + .map { it.groups[1]?.value?.lowercase() } + .filter { it != null } + .map { it!!.replace(",", ".").toDouble() } .toList() } fun convertKg(event: MessageCreateEvent) { - for (kgs in extractNumbers("/(\\d+[,.]*\\d*)\\s*kg/gm", event.message.content)) { + for (kgs in extractNumbers("(\\d+[,.]*\\d*)\\s*kg", event.message.content)) { val pounds = kgs * 2.20462262 event.channel.sendMessage("$kgs kg = $pounds lb") } } fun convertLbs(event: MessageCreateEvent) { - for (pounds in extractNumbers("/(\\d+[,.]*\\d*)\\s*lb/gm", event.message.content)) { + for (pounds in extractNumbers("(\\d+[,.]*\\d*)\\s*lb", event.message.content)) { val kgs = pounds / 2.20462262 event.channel.sendMessage("$pounds lb = $kgs kg") } } fun convertMph(event: MessageCreateEvent) { - for (mph in extractNumbers("/(\\d+[,.]*\\d*)\\s*mi*ph/gm", event.message.content)) { + for (mph in extractNumbers("(\\d+[,.]*\\d*)\\s*mi*ph", event.message.content)) { val kmph = mph * 1.609344 val mps = kmph / 3.6 event.channel.sendMessage("$mph lb = $kmph km/h = $mps m/s") @@ -35,7 +35,7 @@ fun convertMph(event: MessageCreateEvent) { } fun convertKmh(event: MessageCreateEvent) { - for (kmph in extractNumbers("/(\\d+[,.]*\\d*)\\s*km*[p\\/]h/gm", event.message.content)) { + for (kmph in extractNumbers("(\\d+[,.]*\\d*)\\s*km*[p\\/]h", event.message.content)) { val mph = kmph / 1.609344 val mps = kmph / 3.6 event.channel.sendMessage("$kmph km/h = $mph lb = $mps m/s") @@ -46,8 +46,8 @@ fun main() { val token = System.getenv("DISCORD_UNITS_BOT_TOKEN") ?: return val api = DiscordApiBuilder() - .setAllIntents() .setToken(token) + .setAllIntents() .login() .join()