@@ -34,13 +34,16 @@ import kotlinx.serialization.json.jsonObject
34
34
import kotlinx.serialization.json.jsonPrimitive
35
35
import java.util.UUID
36
36
37
- class ApprovalExtension (override val name : String ) : Extension() {
37
+ class ApprovalExtension () : Extension() {
38
38
39
- val adminRoleId: Long = CompSMPDiscordBot .CONFIG_MANAGER .getRawNumberSettingValue(ConfigUtils .COMPSMP_ADMIN_ROLE_ID )!!
40
- val applicationChannelId: Long = CompSMPDiscordBot .CONFIG_MANAGER .getRawNumberSettingValue(ConfigUtils .APPLICATION_CHANNEL_ID )!!
41
- val approvalEmojiId: Long = CompSMPDiscordBot .CONFIG_MANAGER .getRawNumberSettingValue(ConfigUtils .APPROVAL_EMOJI_ID )!!
42
- val approvalRoleId: Long = CompSMPDiscordBot .CONFIG_MANAGER .getRawNumberSettingValue(ConfigUtils .APPROVAL_ROLE_ID )!!
43
- val approvalEmojiName: String = CompSMPDiscordBot .CONFIG_MANAGER .getRawStringSettingValue(ConfigUtils .APPROVAL_EMOJI_NAME )!!
39
+ override val name = " approval_extension"
40
+
41
+
42
+ val adminRoleId: () -> Long = { CompSMPDiscordBot .CONFIG_MANAGER .getRawNumberSettingValue(ConfigUtils .COMPSMP_ADMIN_ROLE_ID )!! }
43
+ val applicationChannelId: () -> Long = { CompSMPDiscordBot .CONFIG_MANAGER .getRawNumberSettingValue(ConfigUtils .APPLICATION_CHANNEL_ID )!! }
44
+ val approvalEmojiId: () -> Long = { CompSMPDiscordBot .CONFIG_MANAGER .getRawNumberSettingValue(ConfigUtils .APPROVAL_EMOJI_ID )!! }
45
+ val approvalRoleId: () -> Long = { CompSMPDiscordBot .CONFIG_MANAGER .getRawNumberSettingValue(ConfigUtils .APPROVAL_ROLE_ID )!! }
46
+ val approvalEmojiName: () -> String = { CompSMPDiscordBot .CONFIG_MANAGER .getRawStringSettingValue(ConfigUtils .APPROVAL_EMOJI_NAME )!! }
44
47
45
48
override suspend fun setup () {
46
49
this .event<ReactionAddEvent > {
@@ -49,7 +52,7 @@ class ApprovalExtension(override val name: String) : Extension() {
49
52
return @action
50
53
}
51
54
val applicant: Member = event.messageAuthor?.asMember(CompSMPDiscordBot .guildSnowFlake) ? : return @action
52
- applicant.addRole(Snowflake (approvalRoleId))
55
+ applicant.addRole(Snowflake (approvalRoleId() ))
53
56
}
54
57
55
58
}
@@ -60,21 +63,20 @@ class ApprovalExtension(override val name: String) : Extension() {
60
63
}
61
64
val applicant: Member = event.message.asMessage().author?.asMember(CompSMPDiscordBot .guildSnowFlake) ? : return @action
62
65
val applicantRoles: Set <Snowflake > = applicant.roleIds
63
- if (! applicantRoles.any { roleId -> roleId.value.toLong() == approvalRoleId }) {
66
+ if (! applicantRoles.any { roleId -> roleId.value.toLong() == approvalRoleId() }) {
64
67
return @action
65
68
}
66
- val reactionEmoji: ReactionEmoji = ReactionEmoji .Custom (Snowflake (approvalEmojiId) , approvalEmojiName, false )
69
+ val reactionEmoji: ReactionEmoji = ReactionEmoji .Custom (Snowflake (approvalEmojiId()) , approvalEmojiName() , false )
67
70
var hasApprovedRoleByOtherAdmin = false
68
- event.message.getReactors(reactionEmoji)
69
71
event.message.getReactors(reactionEmoji).filter { user -> user.id != event.user }.collect { user ->
70
72
val member: Member = user.asMember(CompSMPDiscordBot .guildSnowFlake)
71
- if (member.roleIds.any {roleId -> roleId.value.toLong() == adminRoleId}) {
73
+ if (member.roleIds.any {roleId -> roleId.value.toLong() == adminRoleId() }) {
72
74
hasApprovedRoleByOtherAdmin = true
73
75
return @collect
74
76
}
75
77
}
76
78
if (! hasApprovedRoleByOtherAdmin) {
77
- applicant.removeRole(Snowflake (approvalRoleId))
79
+ applicant.removeRole(Snowflake (approvalRoleId() ))
78
80
}
79
81
}
80
82
}
@@ -118,13 +120,13 @@ class ApprovalExtension(override val name: String) : Extension() {
118
120
return false
119
121
}
120
122
val reactor: Member = user.asMember(CompSMPDiscordBot .guildSnowFlake)
121
- if (! reactor.roleIds.any { roleId -> roleId.value.toLong() == adminRoleId }) {
123
+ if (! reactor.roleIds.any { roleId -> roleId.value.toLong() == adminRoleId() }) {
122
124
return false
123
125
}
124
- if (message.channelId.value.toLong() != applicationChannelId) {
126
+ if (message.channelId.value.toLong() != applicationChannelId() ) {
125
127
return false
126
128
}
127
- if (eventEmoji.id.value.toLong() != approvalEmojiId) {
129
+ if (eventEmoji.id.value.toLong() != approvalEmojiId() ) {
128
130
return false
129
131
}
130
132
return true
0 commit comments