Skip to content

Commit 0354f3f

Browse files
committed
fix member caching issues with getOwner()
1 parent e22d773 commit 0354f3f

File tree

4 files changed

+20
-17
lines changed

4 files changed

+20
-17
lines changed

src/main/java/net/discordjug/javabot/listener/JobChannelCloseOldPostsListener.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import net.discordjug.javabot.data.config.guild.ModerationConfig;
1010
import net.discordjug.javabot.util.InteractionUtils;
1111
import net.dv8tion.jda.api.EmbedBuilder;
12+
import net.dv8tion.jda.api.entities.UserSnowflake;
1213
import net.dv8tion.jda.api.entities.channel.ChannelType;
1314
import net.dv8tion.jda.api.entities.channel.concrete.ThreadChannel;
1415
import net.dv8tion.jda.api.events.channel.ChannelCreateEvent;
@@ -53,7 +54,7 @@ public void onChannelCreate(ChannelCreateEvent event) {
5354
.setTitle("Post closed")
5455
.setDescription("This post has been blocked because you have created other recent posts.\nPlease do not spam posts.")
5556
.build())
56-
.setContent(post.getOwner().getAsMention())
57+
.setContent(UserSnowflake.fromId(post.getOwnerIdLong()).getAsMention())
5758
.flatMap(msg -> post.getManager().setArchived(true).setLocked(true))
5859
.queue();
5960
return;

src/main/java/net/discordjug/javabot/systems/help/HelpForumUpdater.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -81,9 +81,8 @@ private void checkForumPost(@NotNull ThreadChannel post, HelpConfig config) {
8181
private void sendDMDormantInfoIfEnabled(ThreadChannel post, HelpConfig config) {
8282
if(Boolean.parseBoolean(preferenceService.getOrCreate(post.getOwnerIdLong(), Preference.PRIVATE_DORMANT_NOTIFICATIONS).getState())) {
8383
post
84-
.getOwner()
85-
.getUser()
86-
.openPrivateChannel()
84+
.getJDA()
85+
.openPrivateChannelById(post.getOwnerIdLong())
8786
.flatMap(c -> c.sendMessageEmbeds(createDMDormantInfo(post, config)))
8887
.queue();
8988
}

src/main/java/net/discordjug/javabot/systems/help/HelpManager.java

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -117,10 +117,11 @@ public void close(IReplyCallback callback, boolean withHelpers, @Nullable String
117117
.queue(s -> postThread.getManager().setLocked(true).setArchived(true).queue());
118118
if (callback.getMember().getIdLong() != postThread.getOwnerIdLong() &&
119119
Boolean.parseBoolean(preferenceService.getOrCreate(postThread.getOwnerIdLong(), Preference.PRIVATE_CLOSE_NOTIFICATIONS).getState())) {
120-
121-
postThread.getOwner().getUser().openPrivateChannel()
122-
.flatMap(c -> createDMCloseInfoEmbed(callback.getMember(), postThread, reason, c))
123-
.queue(success -> {}, failure -> {});
120+
postThread
121+
.getJDA()
122+
.openPrivateChannelById(postThread.getOwnerIdLong())
123+
.flatMap(c -> createDMCloseInfoEmbed(callback.getMember(), postThread, reason, c))
124+
.queue(success -> {}, failure -> {});
124125

125126
botConfig.get(callback.getGuild())
126127
.getModerationConfig()
@@ -191,13 +192,15 @@ public void thankHelper(@NotNull Guild guild, ThreadChannel postThread, long hel
191192
service.performTransaction(helper.getIdLong(), config.getThankedExperience(), guild, postThread.getIdLong());
192193
} catch (SQLException e) {
193194
ExceptionLogger.capture(e, getClass().getSimpleName());
194-
botConfig.get(guild).getModerationConfig().getLogChannel().sendMessageFormat(
195-
"Could not record user %s thanking %s for help in post %s: %s",
196-
UserUtils.getUserTag(postThread.getOwner().getUser()),
197-
UserUtils.getUserTag(helper),
198-
postThread.getAsMention(),
199-
e.getMessage()
200-
).queue();
195+
guild.getJDA().retrieveUserById(postThread.getOwnerIdLong()).queue(owner -> {
196+
botConfig.get(guild).getModerationConfig().getLogChannel().sendMessageFormat(
197+
"Could not record user %s thanking %s for help in post %s: %s",
198+
UserUtils.getUserTag(owner),
199+
UserUtils.getUserTag(helper),
200+
postThread.getAsMention(),
201+
e.getMessage()
202+
).queue();
203+
});
201204
}
202205
});
203206
}

src/main/java/net/discordjug/javabot/util/WebhookUtil.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,8 +65,8 @@ public static void ensureWebhookExists(@NotNull IWebhookContainer channel, @NotN
6565
channel.retrieveWebhooks().queue(webhooks -> {
6666
Optional<Webhook> hook = webhooks.stream()
6767
.filter(webhook -> webhook.getChannel().getIdLong() == channel.getIdLong())
68-
.filter(wh -> wh.getOwner() != null)
69-
.filter(wh -> wh.getOwner().getIdLong() == channel.getJDA().getSelfUser().getIdLong())
68+
.filter(wh -> wh.getOwnerAsUser() != null)
69+
.filter(wh -> wh.getOwnerAsUser().getIdLong() == channel.getJDA().getSelfUser().getIdLong())
7070
.filter(wh -> wh.getToken() != null)
7171
.findAny();
7272
if (hook.isPresent()) {

0 commit comments

Comments
 (0)