@@ -34,13 +34,16 @@ import kotlinx.serialization.json.jsonObject
3434import kotlinx.serialization.json.jsonPrimitive
3535import java.util.UUID
3636
37- class ApprovalExtension (override val name : String ) : Extension() {
37+ class ApprovalExtension () : Extension() {
3838
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 )!! }
4447
4548 override suspend fun setup () {
4649 this .event<ReactionAddEvent > {
@@ -49,7 +52,7 @@ class ApprovalExtension(override val name: String) : Extension() {
4952 return @action
5053 }
5154 val applicant: Member = event.messageAuthor?.asMember(CompSMPDiscordBot .guildSnowFlake) ? : return @action
52- applicant.addRole(Snowflake (approvalRoleId))
55+ applicant.addRole(Snowflake (approvalRoleId() ))
5356 }
5457
5558 }
@@ -60,21 +63,20 @@ class ApprovalExtension(override val name: String) : Extension() {
6063 }
6164 val applicant: Member = event.message.asMessage().author?.asMember(CompSMPDiscordBot .guildSnowFlake) ? : return @action
6265 val applicantRoles: Set <Snowflake > = applicant.roleIds
63- if (! applicantRoles.any { roleId -> roleId.value.toLong() == approvalRoleId }) {
66+ if (! applicantRoles.any { roleId -> roleId.value.toLong() == approvalRoleId() }) {
6467 return @action
6568 }
66- val reactionEmoji: ReactionEmoji = ReactionEmoji .Custom (Snowflake (approvalEmojiId) , approvalEmojiName, false )
69+ val reactionEmoji: ReactionEmoji = ReactionEmoji .Custom (Snowflake (approvalEmojiId()) , approvalEmojiName() , false )
6770 var hasApprovedRoleByOtherAdmin = false
68- event.message.getReactors(reactionEmoji)
6971 event.message.getReactors(reactionEmoji).filter { user -> user.id != event.user }.collect { user ->
7072 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() }) {
7274 hasApprovedRoleByOtherAdmin = true
7375 return @collect
7476 }
7577 }
7678 if (! hasApprovedRoleByOtherAdmin) {
77- applicant.removeRole(Snowflake (approvalRoleId))
79+ applicant.removeRole(Snowflake (approvalRoleId() ))
7880 }
7981 }
8082 }
@@ -118,13 +120,13 @@ class ApprovalExtension(override val name: String) : Extension() {
118120 return false
119121 }
120122 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() }) {
122124 return false
123125 }
124- if (message.channelId.value.toLong() != applicationChannelId) {
126+ if (message.channelId.value.toLong() != applicationChannelId() ) {
125127 return false
126128 }
127- if (eventEmoji.id.value.toLong() != approvalEmojiId) {
129+ if (eventEmoji.id.value.toLong() != approvalEmojiId() ) {
128130 return false
129131 }
130132 return true
0 commit comments