Skip to content

Commit eeac3d5

Browse files
authored
Merge pull request #52 from the-programmers-hangout/develop
release: 1.3.2 release
2 parents e7305be + e8c444b commit eeac3d5

File tree

4 files changed

+38
-35
lines changed

4 files changed

+38
-35
lines changed

src/main/kotlin/me/ddivad/judgebot/Main.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ suspend fun main(args: Array<String>) {
5858
field {
5959
name = "Build Info"
6060
value = "```" +
61-
"Version: 1.3.1\n" +
61+
"Version: 1.3.2\n" +
6262
"DiscordKt: ${versions.library}\n" +
6363
"Kotlin: $kotlinVersion" +
6464
"```"

src/main/kotlin/me/ddivad/judgebot/arguments/LowerMemberArg.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,6 @@ open class LowerMemberArg(override val name: String = "LowerMemberArg") : Argume
2929
override fun formatData(data: Member) = "@${data.tag}"
3030
}
3131

32-
private suspend fun Member.isHigherRankedThan(permissions: PermissionsService, targetMember: Member) =
32+
suspend fun Member.isHigherRankedThan(permissions: PermissionsService, targetMember: Member) =
3333
permissions.getPermissionRank(this) < permissions.getPermissionRank(targetMember)
3434

src/main/kotlin/me/ddivad/judgebot/listeners/MemberReactionListeners.kt

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ package me.ddivad.judgebot.listeners
33
import com.gitlab.kordlib.core.behavior.getChannelOf
44
import com.gitlab.kordlib.core.entity.channel.TextChannel
55
import com.gitlab.kordlib.core.event.message.ReactionAddEvent
6+
import com.gitlab.kordlib.kordx.emoji.Emojis
7+
import com.gitlab.kordlib.kordx.emoji.addReaction
68
import me.ddivad.judgebot.dataclasses.Configuration
79
import me.ddivad.judgebot.extensions.jumpLink
810
import me.jakejmattson.discordkt.api.dsl.listeners
@@ -15,11 +17,13 @@ fun onMemberReactionAdd(configuration: Configuration) = listeners {
1517
val guildConfiguration = configuration[guild.asGuild().id.longValue]
1618
if (!guildConfiguration?.reactions!!.enabled) return@on
1719

18-
if(this.emoji.name == guildConfiguration.reactions.flagMessageReaction) {
19-
message.deleteReaction(this.emoji)
20-
guild.asGuild().getChannelOf<TextChannel>(guildConfiguration.loggingConfiguration.alertChannel.toSnowflake())
21-
.asChannel().createMessage("User ${user.mention} flagged the message: " +
22-
"${this.message.asMessage().jumpLink(guild.id.value)} in: ${this.channel.mention}")
20+
when (this.emoji.name) {
21+
guildConfiguration.reactions.flagMessageReaction -> {
22+
message.deleteReaction(this.emoji)
23+
guild.asGuild().getChannelOf<TextChannel>(guildConfiguration.loggingConfiguration.alertChannel.toSnowflake()).asChannel()
24+
.createMessage("User ${user.mention} flagged the message: ${this.message.asMessage().jumpLink(guild.id.value)} in: ${this.channel.mention}")
25+
.addReaction(Emojis.whiteCheckMark)
26+
}
2327
}
2428
}
2529
}

src/main/kotlin/me/ddivad/judgebot/listeners/StaffReactionListeners.kt

Lines changed: 27 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package me.ddivad.judgebot.listeners
22

33
import com.gitlab.kordlib.common.exception.RequestException
44
import com.gitlab.kordlib.core.event.message.ReactionAddEvent
5+
import me.ddivad.judgebot.arguments.isHigherRankedThan
56
import me.ddivad.judgebot.dataclasses.Configuration
67
import me.ddivad.judgebot.embeds.createMessageDeleteEmbed
78
import me.ddivad.judgebot.embeds.createSelfHistoryEmbed
@@ -21,36 +22,34 @@ fun onStaffReactionAdd(muteService: MuteService,
2122
val guild = guild?.asGuildOrNull() ?: return@on
2223
val guildConfiguration = configuration[guild.asGuild().id.longValue]
2324
if (!guildConfiguration?.reactions!!.enabled) return@on
24-
25-
user.asMemberOrNull(guild.id)?.let {
26-
if (permissionsService.hasPermission(it, PermissionLevel.Moderator)) {
27-
val messageAuthor = message.asMessage().author ?: return@on
28-
29-
when (this.emoji.name) {
30-
guildConfiguration.reactions.gagReaction -> {
31-
message.deleteReaction(this.emoji)
32-
muteService.gag(messageAuthor.asMember(guild.id))
33-
it.sendPrivateMessage("${messageAuthor.mention} gagged.")
34-
}
35-
guildConfiguration.reactions.historyReaction -> {
36-
message.deleteReaction(this.emoji)
37-
val target = databaseService.users.getOrCreateUser(messageAuthor, guild.asGuild())
38-
it.sendPrivateMessage { createSelfHistoryEmbed(messageAuthor, target, guild.asGuild(), configuration) }
39-
}
40-
guildConfiguration.reactions.deleteMessageReaction -> {
41-
val content = message.asMessage()
42-
message.deleteReaction(this.emoji)
43-
message.delete()
44-
try {
45-
messageAuthor.sendPrivateMessage {
46-
createMessageDeleteEmbed(guild, content)
47-
}
48-
} catch (ex: RequestException) {
49-
this.user.sendPrivateMessage("User ${messageAuthor.mention} has DM's disabled." +
50-
" Message deleted without notification.")
25+
val member = user.asMemberOrNull(guild.id) ?: return@on
26+
val messageAuthor = message.asMessage().author?.asMemberOrNull(guild.id) ?: return@on
27+
28+
if (permissionsService.hasPermission(member, PermissionLevel.Moderator) && !member.isHigherRankedThan(permissionsService, messageAuthor)) {
29+
when (this.emoji.name) {
30+
guildConfiguration.reactions.gagReaction -> {
31+
message.deleteReaction(this.emoji)
32+
muteService.gag(messageAuthor.asMember(guild.id))
33+
member.sendPrivateMessage("${messageAuthor.mention} gagged.")
34+
}
35+
guildConfiguration.reactions.historyReaction -> {
36+
message.deleteReaction(this.emoji)
37+
val target = databaseService.users.getOrCreateUser(messageAuthor, guild.asGuild())
38+
member.sendPrivateMessage { createSelfHistoryEmbed(messageAuthor, target, guild.asGuild(), configuration) }
39+
}
40+
guildConfiguration.reactions.deleteMessageReaction -> {
41+
val content = message.asMessage()
42+
message.deleteReaction(this.emoji)
43+
message.delete()
44+
try {
45+
messageAuthor.sendPrivateMessage {
46+
createMessageDeleteEmbed(guild, content)
5147
}
52-
48+
} catch (ex: RequestException) {
49+
this.user.sendPrivateMessage("User ${messageAuthor.mention} has DM's disabled." +
50+
" Message deleted without notification.")
5351
}
52+
5453
}
5554
}
5655
}

0 commit comments

Comments
 (0)