Skip to content

Commit 85bcac8

Browse files
committed
Update Discord Frameworks to intent-compatible versions and adapt integ tests
1 parent 825212c commit 85bcac8

File tree

8 files changed

+31
-12
lines changed

8 files changed

+31
-12
lines changed

buildSrc/src/main/kotlin/net/kautler/versions.gradle.kts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,8 @@ repositories {
3737
}
3838

3939
val messageFrameworkVersions by extra(mapOf(
40-
"javacord" to listOf("3.0.5"),
41-
"jda" to listOf("4.0.0_52")
40+
"javacord" to listOf("3.1.1"),
41+
"jda" to listOf("4.2.0_214")
4242
))
4343

4444
val versions by extra(mapOf(

examples/simplePingBotJda/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ dependencies {
3030
runtimeOnly("org.jboss.weld.se:weld-se-core:3.1.2.Final") { because("CDI implementation") }
3131
runtimeOnly("org.jboss:jandex:2.1.1.Final") { because("faster CDI bean scanning") }
3232

33-
implementation("net.dv8tion:JDA:4.0.0_52") {
33+
implementation("net.dv8tion:JDA:4.2.0_214") {
3434
exclude("club.minnced", "opus-java")
3535
exclude("com.google.code.findbugs", "jsr305")
3636
}

examples/simplePingBotJda/src/main/java/net/kautler/command/example/ping/JdaProducer.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,8 @@ public class JdaProducer {
4040
@ApplicationScoped
4141
private JDA produceJda() {
4242
try {
43-
return new JDABuilder(discordToken)
43+
return JDABuilder
44+
.createLight(discordToken)
4445
.build()
4546
.awaitReady();
4647
} catch (InterruptedException | LoginException e) {

src/javacordIntegTest/groovy/net/kautler/command/integ/test/javacord/restriction/RoleJavacordIntegTest.groovy

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,8 @@ class RoleJavacordIntegTest extends Specification {
7676
roleReceived.set(true)
7777
}
7878

79+
roleReceived.get()
80+
7981
return role
8082
} finally {
8183
listenerManager?.remove()
@@ -95,6 +97,8 @@ class RoleJavacordIntegTest extends Specification {
9597
}
9698

9799
role.addUser(user).join()
100+
101+
rolesUpdateReceived.get()
98102
} finally {
99103
listenerManager?.remove()
100104
}
@@ -119,6 +123,8 @@ class RoleJavacordIntegTest extends Specification {
119123
serverAsBot
120124
.reorderRoles([lowerRole, middleRole, higherRole])
121125
.join()
126+
127+
rolesUpdateReceived.get()
122128
} finally {
123129
listenerManager?.remove()
124130
}

src/javacordIntegTest/groovy/net/kautler/command/integ/test/javacord/restriction/ServerOwnerJavacordIntegTest.groovy

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ class ServerOwnerJavacordIntegTest extends Specification {
6666
]
6767

6868
when:
69-
def owner = serverTextChannelAsBot.server.owner
69+
def owner = serverTextChannelAsBot.server.owner.get()
7070
def commandReceived = new BlockingVariable<Boolean>(System.properties.testManualCommandTimeout as double)
7171
listenerManagers << owner.addMessageCreateListener {
7272
if ((it.channel == serverTextChannelAsBot) && (it.message.content == "!ping $random")) {

src/javacordIntegTest/groovy/net/kautler/command/integ/test/javacord/spock/JavacordExtension.groovy

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ import javax.enterprise.inject.Produces
3131
import static java.lang.Boolean.FALSE
3232
import static java.lang.System.arraycopy
3333
import static java.util.UUID.randomUUID
34+
import static org.javacord.api.entity.intent.Intent.GUILDS
3435
import static org.javacord.api.entity.permission.PermissionType.ADMINISTRATOR
3536

3637
@ApplicationScoped
@@ -49,6 +50,7 @@ class JavacordExtension implements IGlobalExtension {
4950
void start() {
5051
botDiscordApi = new DiscordApiBuilder()
5152
.setToken(System.properties.testDiscordToken1)
53+
.setAllIntents()
5254
.login()
5355
.join()
5456

@@ -60,6 +62,7 @@ class JavacordExtension implements IGlobalExtension {
6062

6163
userDiscordApi = new DiscordApiBuilder()
6264
.setToken(System.properties.testDiscordToken2)
65+
.setIntents(GUILDS)
6366
.login()
6467
.join()
6568

src/jdaIntegTest/groovy/net/kautler/command/integ/test/jda/restriction/RoleJdaIntegTest.groovy

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,8 @@ class RoleJdaIntegTest extends Specification {
7878
roleReceived.set(true)
7979
}
8080

81+
roleReceived.get()
82+
8183
return role
8284
} finally {
8385
if (eventListener) {
@@ -103,8 +105,10 @@ class RoleJdaIntegTest extends Specification {
103105

104106
role
105107
.guild
106-
.addRoleToMember(role.guild.getMember(user), role)
108+
.addRoleToMember(role.guild.retrieveMember(user).complete(), role)
107109
.complete()
110+
111+
rolesUpdateReceived.get()
108112
} finally {
109113
if (eventListener) {
110114
role.JDA.removeEventListener(eventListener)
@@ -182,6 +186,8 @@ class RoleJdaIntegTest extends Specification {
182186
}
183187
}
184188
.complete()
189+
190+
rolesUpdateReceived.get()
185191
} finally {
186192
if (eventListener) {
187193
guildAsBot.JDA.removeEventListener(eventListener)

src/jdaIntegTest/groovy/net/kautler/command/integ/test/jda/spock/JdaExtension.groovy

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import net.dv8tion.jda.api.entities.TextChannel
2323
import net.dv8tion.jda.api.events.channel.text.TextChannelCreateEvent
2424
import net.dv8tion.jda.api.events.guild.member.GuildMemberRoleRemoveEvent
2525
import net.dv8tion.jda.api.hooks.EventListener
26+
import net.dv8tion.jda.api.requests.GatewayIntent
2627
import org.spockframework.runtime.extension.IGlobalExtension
2728
import org.spockframework.runtime.model.SpecInfo
2829
import spock.util.concurrent.BlockingVariable
@@ -49,7 +50,8 @@ class JdaExtension implements IGlobalExtension {
4950

5051
@Override
5152
void start() {
52-
botJda = new JDABuilder(System.properties.testDiscordToken1)
53+
botJda = JDABuilder
54+
.create(System.properties.testDiscordToken1, GatewayIntent.values() as Collection)
5355
.build()
5456
.awaitReady()
5557

@@ -60,7 +62,8 @@ class JdaExtension implements IGlobalExtension {
6062
new IllegalArgumentException('Bot with testDiscordToken1 is not a member of guild testDiscordServerId')
6163
}
6264

63-
userJda = new JDABuilder(System.properties.testDiscordToken2)
65+
userJda = JDABuilder
66+
.createLight(System.properties.testDiscordToken2, [])
6467
.build()
6568
.awaitReady()
6669

@@ -75,7 +78,7 @@ class JdaExtension implements IGlobalExtension {
7578
throw new IllegalArgumentException('Bot with testDiscordToken1 must have ADMINISTRATOR permission')
7679
}
7780

78-
def userRoles = guildAsBot.getMember(userJda.selfUser).roles
81+
def userRoles = guildAsBot.retrieveMember(userJda.selfUser).complete().roles
7982
if (!userRoles.empty && (guildAsBot.selfMember.roles.first() <= userRoles.first())) {
8083
throw new IllegalArgumentException('Bot with testDiscordToken1 must have higher role than highest role of bot with testDiscordToken2')
8184
}
@@ -110,18 +113,18 @@ class JdaExtension implements IGlobalExtension {
110113
def rolesUpdateReceived = new BlockingVariable<Boolean>(System.properties.testResponseTimeout as double)
111114
EventListener eventListener = {
112115
if ((it instanceof GuildMemberRoleRemoveEvent) &&
113-
guildAsBot.getMember(userJda.selfUser).roles.empty) {
116+
guildAsBot.retrieveMember(userJda.selfUser).complete().roles.empty) {
114117
rolesUpdateReceived.set(true)
115118
}
116119
}
117120
botJda.addEventListener(eventListener)
118121
try {
119-
if (guildAsBot.getMember(userJda.selfUser).roles.empty) {
122+
if (guildAsBot.retrieveMember(userJda.selfUser).complete().roles.empty) {
120123
rolesUpdateReceived.set(true)
121124
}
122125

123126
guildAsBot
124-
.modifyMemberRoles(guildAsBot.getMember(userJda.selfUser))
127+
.modifyMemberRoles(guildAsBot.retrieveMember(userJda.selfUser).complete())
125128
.complete()
126129

127130
rolesUpdateReceived.get()

0 commit comments

Comments
 (0)