Skip to content

Commit ccc0a26

Browse files
committed
Re-implement persisted roles
1 parent 2bebf83 commit ccc0a26

File tree

14 files changed

+127
-43
lines changed

14 files changed

+127
-43
lines changed

.github/workflows/release.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ jobs:
3636
BUILD_NUMBER: ${{ github.run_number }}
3737
- name: Make Changelog
3838
id: changelog
39-
run: ./gradlew :makeChangelog -Ptag=${{ env.TAG }}
39+
run: ./gradlew :makeChangelog -Ptag=${{ env.TAG }} -Pbot_version=${{ env.TAG }}
4040
env:
4141
GITHUB_TOKEN: ${{ github.token }}
4242
- name: Create release
@@ -48,4 +48,4 @@ jobs:
4848
name: Release ${{ env.TAG }}
4949
artifactErrorsFailBuild: true
5050
artifacts: 'build/libs/*[-all].jar'
51-
bodyFile: 'changelog.html'
51+
bodyFile: 'changelog.md'

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ OCR.png
3636
qr.png
3737
diction.txt
3838
data/
39-
changelog.html
39+
changelog.md
4040

4141
#BotStuff
4242
mmdbot_config.toml

build.gradle

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ dependencies {
138138
global libs.jdbi.sqlobject
139139

140140
testImplementation libs.junit
141-
testImplementation 'org.mockito:mockito-core:4.5.1'
141+
testImplementation libs.mockito
142142

143143
testImplementation sourceSets.watcher.output
144144
}
@@ -157,7 +157,7 @@ tasks.named('run', JavaExec).configure {
157157
}
158158

159159
tasks.named('test', Test).configure {
160-
workingDir = new File("run")
160+
workingDir = java.nio.file.Path.of("run").resolve("tests").toFile()
161161
}
162162

163163
tasks.named('shadowJar', ShadowJar).configure {
@@ -240,7 +240,7 @@ license {
240240

241241
tasks.register('makeChangelog', GitChangelogTask) {
242242
fromRepo = projectDir.absolutePath.toString()
243-
file = file("changelog.html")
243+
file = file("changelog.md")
244244
untaggedName = "Current release $version"
245245
toRef = "HEAD"
246246
fromCommit = resolveStartCommit(project.tag)

changelog.mustache

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,9 @@
11
{{#tags}}
2-
<h3>{{name}}</h3>
3-
<ul>
4-
{{#commits}}
5-
<li>
6-
<a href="https://github.com/MinecraftModDevelopment/MMDBot/commit/{{hashFull}}">{{{messageTitle}}}</a> - {{{authorName}}}
7-
<ul>
8-
{{#messageBodyItems}}
9-
<li>{{.}}</li>
10-
{{/messageBodyItems}}
11-
</ul>
12-
</li>
13-
{{/commits}}
14-
</ul>
2+
## {{name}}
3+
{{#commits}}
4+
- [https://github.com/MinecraftModDevelopment/MMDBot/commit/{{hashFull}}]({{{messageTitle}}}) - {{{authorName}}}
5+
{{#messageBodyItems}}
6+
+ {{.}}
7+
{{/messageBodyItems}}
8+
{{/commits}}
159
{{/tags}}

gradle/libs.versions.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ javadocapi = "21ad5c1759"
3838
commons-io = "2.11.0"
3939
caffeine = "3.0.6"
4040
urldetector = "0.1.23"
41+
mockito = "4.5.1"
4142

4243
[libraries]
4344
# jda = { module = "net.dv8tion:JDA", version.ref = "jda" }
@@ -74,3 +75,4 @@ javadocapi = { module = "com.github.I-Al-Istannen:JavadocApi", version.ref = "ja
7475
commons-io = { module = "commons-io:commons-io", version.ref = "commons-io" }
7576
caffeine = { module = "com.github.ben-manes.caffeine:caffeine", version.ref = "caffeine" }
7677
urldetector = { module = "io.github.url-detector:url-detector", version.ref = "urldetector" }
78+
mockito = { module = "org.mockito:mockito-core", version.ref = "mockito" }

src/core/java/com/mcmoddev/mmdbot/core/database/jdbi/JdbiFactories.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ public static final class JdbiArgumentFactory implements org.jdbi.v3.core.argume
6969

7070
public static final JdbiArgumentFactory FACTORY = new JdbiArgumentFactory();
7171

72-
private JdbiArgumentFactory() {}
72+
public JdbiArgumentFactory() {}
7373

7474
@Override
7575
public Optional<Argument> build(final Type type, final Object value, final ConfigRegistry config) {

src/listener/java/com/mcmoddev/mmdbot/thelistener/TheListener.java

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -107,10 +107,12 @@ public void start() throws LoginException {
107107

108108
final var token = dotenv.get("BOT_TOKEN", "");
109109

110-
addListener(MessageEvents.INSTANCE);
111-
addListener(ModerationEvents.INSTANCE);
112-
addListener(new LeaveJoinEvents());
113-
addListener(new RoleEvents());
110+
GENERAL_EVENT_LISTENER.addListeners(
111+
MessageEvents.INSTANCE,
112+
ModerationEvents.INSTANCE,
113+
new LeaveJoinEvents(),
114+
new RoleEvents()
115+
);
114116

115117
jda = JDABuilder.create(
116118
token,
@@ -146,10 +148,6 @@ public void shutdown() {
146148
jda.shutdown();
147149
}
148150

149-
public static void addListener(net.dv8tion.jda.api.hooks.EventListener listener) {
150-
GENERAL_EVENT_LISTENER.addListener(listener);
151-
}
152-
153151
@Override
154152
public BotType<?> getType() {
155153
return BOT_TYPE;

src/listener/java/com/mcmoddev/mmdbot/thelistener/events/LeaveJoinEvents.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ public void onGuildMemberRemove(@NotNull final GuildMemberRemoveEvent event) {
6868
.setFooter("User ID: " + event.getMember().getId(), event.getMember().getEffectiveAvatarUrl())
6969
.addField("User:", event.getUser().getAsTag(), true)
7070
.addField("Join Time:", TimeFormat.DATE_TIME_SHORT.format(event.getMember().getUser().getTimeCreated()), true)
71-
.addField("Roles", String.join(" ", event.getMember().getRoles().stream().map(Role::getAsMention).toList()), false)
71+
.addField("Roles", RoleEvents.mentionsOrEmpty(event.getMember().getRoles()), false)
7272
.setThumbnail(event.getUser().getAvatarUrl())
7373
.build();
7474

src/listener/java/com/mcmoddev/mmdbot/thelistener/events/RoleEvents.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ private static void buildAndSendMessage(GenericGuildMemberEvent event, AuditLogE
109109
});
110110
}
111111

112-
private static String mentionsOrEmpty(List<? extends IMentionable> list) {
112+
public static String mentionsOrEmpty(List<? extends IMentionable> list) {
113113
final String str = list.stream().map(IMentionable::getAsMention).collect(Collectors.joining(" "));
114114
return str.isBlank() ? "_None_" : str;
115115
}

src/watcher/java/com/mcmoddev/mmdbot/watcher/TheWatcher.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@
4747
import com.mcmoddev.mmdbot.watcher.commands.moderation.CmdUnmute;
4848
import com.mcmoddev.mmdbot.watcher.commands.moderation.CmdWarning;
4949
import com.mcmoddev.mmdbot.watcher.event.EventReactionAdded;
50+
import com.mcmoddev.mmdbot.watcher.event.PersistedRolesEvents;
5051
import com.mcmoddev.mmdbot.watcher.punishments.PunishableActions;
5152
import com.mcmoddev.mmdbot.watcher.util.BotConfig;
5253
import com.mcmoddev.mmdbot.watcher.util.Configuration;
@@ -281,7 +282,7 @@ public void start() {
281282
// Buttons
282283
COMMANDS_LISTENER.addListener(new DismissListener());
283284

284-
MISC_LISTENER.addListeners(new EventReactionAdded());
285+
MISC_LISTENER.addListeners(new EventReactionAdded(), new PersistedRolesEvents());
285286

286287
MessageAction.setDefaultMentionRepliedUser(false);
287288
MessageAction.setDefaultMentions(DEFAULT_MENTIONS);

0 commit comments

Comments
 (0)