Skip to content

Commit

Permalink
Big Update tm
Browse files Browse the repository at this point in the history
  • Loading branch information
sschr15 committed Dec 9, 2023
1 parent f6ec775 commit 7e7305d
Show file tree
Hide file tree
Showing 50 changed files with 216 additions and 275 deletions.
11 changes: 8 additions & 3 deletions .idea/jarRepositories.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion .idea/kotlinc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 0 additions & 12 deletions .idea/modules.xml

This file was deleted.

12 changes: 6 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -112,15 +112,15 @@ action {
val member = user.asMember(guild!!.id)
val roles = member.roles.toList().map { it.id }
if (MODERATOR_ROLES.any { it in roles }) {
targetMessages.forEach { it.pin("Pinned by ${member.tag}") }
targetMessages.forEach { it.pin("Pinned by ${member.tagOrUsername()}") }
edit { content = "Messages pinned." }
return@action
}
if (channel.ownerId != user.id && threads.isOwner(channel, user) != true) {
respond { content = "**Error:** This is not your thread." }
return@action
}
targetMessages.forEach { it.pin("Pinned by ${member.tag}") }
targetMessages.forEach { it.pin("Pinned by ${member.tagOrUsername()}") }
edit { content = "Messages pinned." }
}
```
Expand All @@ -130,7 +130,7 @@ action {
if (this.member?.asMemberOrNull()?.mayManageRole(arguments.role) == true) {
arguments.targetUser.removeRole(
arguments.role.id,
"${this.user.asUserOrNull()?.tag ?: this.user.id} used /team remove"
"${this.user.asUserOrNull()?.tagOrUsername() ?: this.user.id} used /team remove"
)
respond {
content = "Successfully removed ${arguments.targetUser.mention} from " +
Expand Down Expand Up @@ -166,7 +166,7 @@ action {
val roles = member.roles.toList().map { it.id }

if (MODERATOR_ROLES.any { it in roles }) {
targetMessages.forEach { it.pin("Pinned by ${member.tag}") }
targetMessages.forEach { it.pin("Pinned by ${member.tagOrUsername()}") }
edit { content = "Messages pinned." }

return@action
Expand All @@ -178,7 +178,7 @@ action {
return@action
}

targetMessages.forEach { it.pin("Pinned by ${member.tag}") }
targetMessages.forEach { it.pin("Pinned by ${member.tagOrUsername()}") }

edit { content = "Messages pinned." }
}
Expand All @@ -190,7 +190,7 @@ action {
arguments.targetUser.removeRole(
arguments.role.id,

"${this.user.asUserOrNull()?.tag ?: this.user.id} used /team remove"
"${this.user.asUserOrNull()?.tagOrUsername() ?: this.user.id} used /team remove"
)

respond {
Expand Down
16 changes: 8 additions & 8 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -87,13 +87,13 @@ dependencies {
implementation(libs.kx.ser)
implementation(libs.graphql)

implementation(project(":module-ama"))
implementation(project(":module-log-parser"))
implementation(project(":module-moderation"))
implementation(project(":module-role-sync"))
implementation(project(":module-tags"))
implementation(project(":module-user-cleanup"))
implementation(project(":module-welcome"))
implementation(projects.moduleAma)
implementation(projects.moduleLogParser)
implementation(projects.moduleModeration)
implementation(projects.moduleRoleSync)
implementation(projects.moduleTags)
implementation(projects.moduleUserCleanup)
implementation(projects.moduleWelcome)
}

graphql {
Expand All @@ -107,7 +107,7 @@ graphql {

application {
// This is deprecated, but the Shadow plugin requires it
mainClassName = "org.quiltmc.community.AppKt"
mainClass = "org.quiltmc.community.AppKt"
}

gitHooks {
Expand Down
10 changes: 5 additions & 5 deletions buildSrc/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -17,15 +17,15 @@ dependencies {
implementation(gradleApi())
implementation(localGroovy())

implementation(kotlin("gradle-plugin", version = "1.8.0"))
implementation(kotlin("serialization", version = "1.8.0"))
implementation(kotlin("gradle-plugin", version = "1.9.21"))
implementation(kotlin("serialization", version = "1.9.21"))

implementation("gradle.plugin.org.cadixdev.gradle", "licenser", "0.6.1")
implementation("com.github.jakemarsden", "git-hooks-gradle-plugin", "0.0.2")
implementation("com.google.devtools.ksp", "com.google.devtools.ksp.gradle.plugin", "1.8.0-1.0.9")
implementation("io.gitlab.arturbosch.detekt", "detekt-gradle-plugin", "1.22.0")
implementation("com.google.devtools.ksp", "com.google.devtools.ksp.gradle.plugin", "1.9.21-1.0.15")
implementation("io.gitlab.arturbosch.detekt", "detekt-gradle-plugin", "1.23.4")
implementation("org.ec4j.editorconfig", "org.ec4j.editorconfig.gradle.plugin", "0.0.3")

implementation("com.expediagroup.graphql", "com.expediagroup.graphql.gradle.plugin", "6.3.5")
implementation("com.github.johnrengelman.shadow", "com.github.johnrengelman.shadow.gradle.plugin", "7.1.2")
implementation("com.github.johnrengelman.shadow", "com.github.johnrengelman.shadow.gradle.plugin", "8.1.1")
}
30 changes: 15 additions & 15 deletions libs.versions.toml → gradle/libs.versions.toml
Original file line number Diff line number Diff line change
@@ -1,26 +1,26 @@
[versions]
detekt = "1.22.0"
kotlin = "1.8.0"
detekt = "1.23.4"
kotlin = "1.9.21"
graphql = "6.3.5"

autolink = "0.10.1"
commons-text = "1.10.0"
excelkt = "1.0.2"
flexver = "1.1.0"
groovy = "3.0.14"
flexver = "1.1.1"
groovy = "3.0.19"
homoglyph = "1.2.1"
jansi = "2.4.0"
jsoup = "1.15.3"
kaml = "0.53.0"
jansi = "2.4.1"
jsoup = "1.17.1"
kaml = "0.55.0"
kmongo = "4.8.0"
kordex = "1.5.7-SNAPSHOT"
kordex = "1.7.1-SNAPSHOT"
kotlintest = "3.4.2"
ktor = "2.2.1"
kx-ser = "1.4.1"
logback = "1.4.5"
logback-groovy = "1.14.0"
logging = "2.1.23"
moshi = "1.13.0"
ktor = "2.2.4"
kx-ser = "1.6.2"
logback = "1.4.14"
logback-groovy = "1.14.5"
logging = "5.1.1"
moshi = "1.15.0"
rgxgen = "1.4"
semver = "1.4.2"

Expand Down Expand Up @@ -54,7 +54,7 @@ ktor-content-negotiation = { module = "io.ktor:ktor-client-content-negotiation",
kx-ser = { module = "org.jetbrains.kotlinx:kotlinx-serialization-core", version.ref = "kx-ser" }
logback = { module = "ch.qos.logback:logback-classic", version.ref = "logback" }
logback-groovy = { module = "io.github.virtualdogbert:logback-groovy-config", version.ref = "logback-groovy" }
logging = { module = "io.github.microutils:kotlin-logging", version.ref = "logging" }
logging = { module = "io.github.oshai:kotlin-logging", version.ref = "logging" }
moshi-adapters = { module = "com.squareup.moshi:moshi-adapters", version.ref = "moshi" }
moshi-kotlin = { module = "com.squareup.moshi:moshi-kotlin", version.ref = "moshi" }
rgxgen = { module = "com.github.curious-odd-man:rgxgen", version.ref = "rgxgen" }
Expand Down
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip
networkTimeout=10000
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@ import com.kotlindiscord.kord.extensions.modules.unsafe.extensions.unsafeSlashCo
import com.kotlindiscord.kord.extensions.modules.unsafe.types.InitialSlashCommandResponse
import com.kotlindiscord.kord.extensions.modules.unsafe.types.ackEphemeral
import com.kotlindiscord.kord.extensions.modules.unsafe.types.respondEphemeral
import com.kotlindiscord.kord.extensions.types.respond
import dev.kord.common.entity.ButtonStyle
import dev.kord.common.entity.ChannelType
import dev.kord.common.entity.Permission
Expand All @@ -47,7 +46,7 @@ import dev.kord.core.entity.channel.Channel
import dev.kord.core.entity.channel.GuildMessageChannel
import dev.kord.core.entity.channel.TopGuildChannel
import dev.kord.core.event.interaction.GuildButtonInteractionCreateEvent
import dev.kord.rest.builder.message.create.embed
import dev.kord.rest.builder.message.embed
import org.koin.core.component.inject
import org.quiltmc.community.cozy.modules.ama.data.AmaConfig
import org.quiltmc.community.cozy.modules.ama.data.AmaData
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ import com.kotlindiscord.kord.extensions.components.ComponentContainer
import com.kotlindiscord.kord.extensions.components.components
import com.kotlindiscord.kord.extensions.components.ephemeralButton
import com.kotlindiscord.kord.extensions.utils.loadModule
import com.kotlindiscord.kord.extensions.utils.tagOrUsername
import dev.kord.common.Color
import dev.kord.common.entity.ButtonStyle
import dev.kord.common.entity.Snowflake
Expand All @@ -25,8 +26,7 @@ import dev.kord.core.entity.Message
import dev.kord.core.entity.User
import dev.kord.core.entity.channel.GuildMessageChannel
import dev.kord.rest.builder.message.EmbedBuilder
import dev.kord.rest.builder.message.create.embed
import dev.kord.rest.builder.message.modify.embed
import dev.kord.rest.builder.message.embed
import kotlinx.serialization.KSerializer
import kotlinx.serialization.descriptors.PrimitiveKind
import kotlinx.serialization.descriptors.PrimitiveSerialDescriptor
Expand All @@ -49,7 +49,7 @@ public val User.uniqueName: String
"@${this.username}"
} else {
// Still using name#discrim system
this.tag
this.tagOrUsername()
}

public fun EmbedBuilder.questionEmbed(
Expand Down Expand Up @@ -383,7 +383,7 @@ public suspend inline fun ComponentContainer.answeringButtons(

check {
if (event.interaction.user != claimer) {
fail("You did not claim this question! ${claimer.tag} did")
fail("You did not claim this question! ${claimer.tagOrUsername()} did")
}
}

Expand All @@ -407,7 +407,7 @@ public suspend inline fun ComponentContainer.answeringButtons(
style = ButtonStyle.Success
check {
if (event.interaction.user != claimer) {
fail("You did not claim the question! ${claimer.tag} did")
fail("You did not claim the question! ${claimer.tagOrUsername()} did")
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,14 +20,14 @@ import com.kotlindiscord.kord.extensions.utils.scheduling.Scheduler
import dev.kord.core.entity.Message
import dev.kord.core.event.Event
import dev.kord.rest.builder.message.create.MessageCreateBuilder
import dev.kord.rest.builder.message.create.embed
import dev.kord.rest.builder.message.embed
import io.github.oshai.kotlinlogging.KLogger
import io.github.oshai.kotlinlogging.KotlinLogging
import io.ktor.client.*
import io.ktor.client.engine.cio.*
import io.ktor.client.request.*
import io.ktor.client.statement.*
import kotlinx.serialization.decodeFromString
import mu.KLogger
import mu.KotlinLogging
import org.koin.core.component.inject
import org.quiltmc.community.cozy.modules.logs.config.LogParserConfig
import org.quiltmc.community.cozy.modules.logs.data.Log
Expand Down Expand Up @@ -289,6 +289,9 @@ public class LogParserExtension : Extension() {
}
}

if (embeds == null) embeds = mutableListOf()
val embeds = embeds!!

if (embeds.size > 10) {
val extraEmbeds = embeds.size - 10
val allEmbeds = embeds.take(10)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ public class LauncherParser : LogParser() {
override suspend fun process(log: Log) {
val (launcher, match) = PATTERNS.entries
.map { (launcher, pattern) -> Pair(launcher, pattern.find(log.content)) }
.firstOrNull() { (_, match) -> match != null }
.firstOrNull { (_, match) -> match != null }
?: return

log.launcher = Launcher(launcher, match!!.groups[1]?.value)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,26 +14,25 @@ import com.kotlindiscord.kord.extensions.annotations.DoNotChain
import com.kotlindiscord.kord.extensions.checks.anyGuild
import com.kotlindiscord.kord.extensions.commands.Arguments
import com.kotlindiscord.kord.extensions.commands.application.slash.ephemeralSubCommand
import com.kotlindiscord.kord.extensions.commands.converters.impl.*
import com.kotlindiscord.kord.extensions.commands.converters.impl.duration
import com.kotlindiscord.kord.extensions.commands.converters.impl.member
import com.kotlindiscord.kord.extensions.commands.converters.impl.optionalDuration
import com.kotlindiscord.kord.extensions.commands.converters.impl.optionalString
import com.kotlindiscord.kord.extensions.extensions.Extension
import com.kotlindiscord.kord.extensions.extensions.chatCommand
import com.kotlindiscord.kord.extensions.extensions.chatGroupCommand
import com.kotlindiscord.kord.extensions.extensions.ephemeralSlashCommand
import com.kotlindiscord.kord.extensions.modules.extra.pluralkit.events.PKMessageCreateEvent
import com.kotlindiscord.kord.extensions.modules.extra.pluralkit.events.ProxiedMessageCreateEvent
import com.kotlindiscord.kord.extensions.types.respond
import com.kotlindiscord.kord.extensions.utils.deleteIgnoringNotFound
import com.kotlindiscord.kord.extensions.utils.removeTimeout
import com.kotlindiscord.kord.extensions.utils.respond
import com.kotlindiscord.kord.extensions.utils.timeout
import com.kotlindiscord.kord.extensions.utils.*
import dev.kord.common.Color
import dev.kord.core.behavior.channel.*
import dev.kord.core.behavior.channel.threads.edit
import dev.kord.core.entity.Member
import dev.kord.core.entity.channel.GuildMessageChannel
import dev.kord.core.entity.channel.TextChannel
import dev.kord.core.entity.channel.thread.ThreadChannel
import dev.kord.rest.builder.message.create.embed
import dev.kord.rest.builder.message.embed
import kotlinx.coroutines.flow.filterIsInstance
import kotlinx.coroutines.flow.firstOrNull
import kotlinx.coroutines.withTimeoutOrNull
Expand Down Expand Up @@ -129,11 +128,11 @@ public class ModerationExtension(
if (event.pkMessage.system != null) {
append(event.pkMessage.system?.tag ?: "(${event.pkMessage.system?.id})")
} else {
append("(${event.author.displayName})")
append("(${event.author.globalName})")
}
}
} else {
event.author!!.displayName
event.author!!.globalName
}

icon = if (event is ProxiedMessageCreateEvent && event.pkMessage.member != null) {
Expand Down Expand Up @@ -164,15 +163,15 @@ public class ModerationExtension(
if (arguments.duration != null) {
arguments.user.timeout(
arguments.duration!!,
reason = "Timed out by ${user.asUser().tag}: $reason"
reason = "Timed out by ${user.asUser().tagOrUsername()}: $reason"
)

respond {
content = "Timeout applied."
}
} else {
arguments.user.removeTimeout(
reason = "Timeout removed by ${user.asUser().tag}: $reason"
reason = "Timeout removed by ${user.asUser().tagOrUsername()}: $reason"
)

respond {
Expand Down Expand Up @@ -282,15 +281,15 @@ public class ModerationExtension(
if (arguments.duration != null) {
arguments.user.timeout(
arguments.duration!!,
reason = "Timed out by ${user?.asUser()?.tag}: $reason"
reason = "Timed out by ${user?.asUser()?.tagOrUsername()}: $reason"
)

message.respond {
content = "Timeout applied."
}
} else {
arguments.user.removeTimeout(
reason = "Timeout removed by ${user?.asUser()?.tag}: $reason"
reason = "Timeout removed by ${user?.asUser()?.tagOrUsername()}: $reason"
)

message.respond {
Expand Down
Loading

0 comments on commit 7e7305d

Please sign in to comment.