Added weight and speed conversions.
This commit is contained in:
parent
7caf1ffa3f
commit
a3e86067c0
|
|
@ -11,6 +11,9 @@ repositories {
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
testImplementation(kotlin("test"))
|
testImplementation(kotlin("test"))
|
||||||
|
// https://mvnrepository.com/artifact/org.javacord/javacord
|
||||||
|
implementation("org.javacord:javacord:3.8.0")
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
tasks.test {
|
tasks.test {
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,60 @@
|
||||||
package org.example
|
package org.example
|
||||||
|
|
||||||
|
import org.javacord.api.DiscordApiBuilder
|
||||||
|
import org.javacord.api.event.message.MessageCreateEvent
|
||||||
|
|
||||||
|
fun extractNumbers(pattern: String, text: String?): List<Double> {
|
||||||
|
val matches = Regex(pattern).findAll(text ?: "")
|
||||||
|
return matches
|
||||||
|
.filter { it.groups[1] != null }
|
||||||
|
.map { it.value.lowercase() }
|
||||||
|
.map { it.replace(",", ".").toDouble() }
|
||||||
|
.toList()
|
||||||
|
}
|
||||||
|
|
||||||
|
fun convertKg(event: MessageCreateEvent) {
|
||||||
|
for (kgs in extractNumbers("/(\\d+[,.]*\\d*)\\s*kg/gm", 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)) {
|
||||||
|
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)) {
|
||||||
|
val kmph = mph * 1.609344
|
||||||
|
val mps = kmph / 3.6
|
||||||
|
event.channel.sendMessage("$mph lb = $kmph km/h = $mps m/s")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fun convertKmh(event: MessageCreateEvent) {
|
||||||
|
for (kmph in extractNumbers("/(\\d+[,.]*\\d*)\\s*km*[p\\/]h/gm", event.message.content)) {
|
||||||
|
val mph = kmph / 1.609344
|
||||||
|
val mps = kmph / 3.6
|
||||||
|
event.channel.sendMessage("$kmph km/h = $mph lb = $mps m/s")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
fun main() {
|
fun main() {
|
||||||
println("Hello World!")
|
val token = System.getenv("DISCORD_UNITS_BOT_TOKEN") ?: return
|
||||||
|
|
||||||
|
val api = DiscordApiBuilder()
|
||||||
|
.setAllIntents()
|
||||||
|
.setToken(token)
|
||||||
|
.login()
|
||||||
|
.join()
|
||||||
|
|
||||||
|
api.addMessageCreateListener {
|
||||||
|
convertKg(it)
|
||||||
|
convertLbs(it)
|
||||||
|
convertMph(it)
|
||||||
|
convertKmh(it)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Loading…
Reference in a new issue