diff --git a/src/main/java/net/sacredlabyrinth/phaed/simpleclans/hooks/discord/DiscordHook.java b/src/main/java/net/sacredlabyrinth/phaed/simpleclans/hooks/discord/DiscordHook.java index 1803f4ff..0c3c43ec 100644 --- a/src/main/java/net/sacredlabyrinth/phaed/simpleclans/hooks/discord/DiscordHook.java +++ b/src/main/java/net/sacredlabyrinth/phaed/simpleclans/hooks/discord/DiscordHook.java @@ -75,10 +75,8 @@ public class DiscordHook implements Listener { private final ChatManager chatManager; private final ClanManager clanManager; private final AccountLinkManager accountManager = DiscordSRV.getPlugin().getAccountLinkManager(); - private final Guild guild = DiscordSRV.getPlugin().getMainGuild(); private final List textCategories; private final List clanTags; - private final Role leaderRole; private final List whitelist; public DiscordHook(SimpleClans plugin) { @@ -93,8 +91,6 @@ public DiscordHook(SimpleClans plugin) { clanTags = clanManager.getClans().stream().map(Clan::getTag).collect(Collectors.toList()); - leaderRole = getLeaderRole(); - setupDiscord(); } @@ -227,7 +223,7 @@ public void onPlayerDemote(PlayerDemoteEvent event) { @Subscribe public void onPlayerLinking(AccountLinkedEvent event) { ClanPlayer clanPlayer = clanManager.getClanPlayer(event.getPlayer()); - Member member = guild.getMember(event.getUser()); + Member member = getGuild().getMember(event.getUser()); if (clanPlayer == null || member == null) { return; } @@ -248,7 +244,7 @@ public void onPlayerLinking(AccountLinkedEvent event) { @Subscribe public void onPlayerUnlinking(AccountUnlinkedEvent event) { ClanPlayer clanPlayer = clanManager.getClanPlayer(event.getPlayer()); - Member member = guild.getMember(event.getDiscordUser()); + Member member = getGuild().getMember(event.getDiscordUser()); if (clanPlayer == null || clanPlayer.getClan() == null || member == null) { return; } @@ -258,7 +254,7 @@ public void onPlayerUnlinking(AccountUnlinkedEvent event) { } protected void setupDiscord() { - Map discordTagChannels = getCachedChannels().stream(). + Map discordTagChannels = getChannels().stream(). collect(Collectors.toMap(TextChannel::getName, textChannel -> textChannel)); SimpleClans.debug("DiscordTagChannels before clearing: " + String.join(",", discordTagChannels.keySet())); @@ -274,7 +270,7 @@ protected void setupDiscord() { @NotNull public Guild getGuild() { - return guild; + return DiscordSRV.getPlugin().getMainGuild(); } /** @@ -282,10 +278,10 @@ public Guild getGuild() { */ @NotNull public Role getLeaderRole() { - Role role = guild.getRoleById(settingsManager.getString(DISCORDCHAT_LEADER_ID)); + Role role = getGuild().getRoleById(settingsManager.getString(DISCORDCHAT_LEADER_ID)); if (role == null || !role.getName().equals(settingsManager.getString(DISCORDCHAT_LEADER_ROLE))) { - role = guild.createRole(). + role = getGuild().createRole(). setName(settingsManager.getString(DISCORDCHAT_LEADER_ROLE)). setColor(getLeaderColor()). setMentionable(true). @@ -324,19 +320,19 @@ public Color getLeaderColor() { */ @Nullable public Category createCategory() { - if (guild.getChannels().size() >= MAX_CHANNELS_PER_GUILD) { + if (getGuild().getChannels().size() >= MAX_CHANNELS_PER_GUILD) { return null; } String categoryName = settingsManager.getString(DISCORDCHAT_TEXT_CATEGORY_FORMAT); Category category = null; try { - category = guild.createCategory(categoryName). + category = getGuild().createCategory(categoryName). addRolePermissionOverride( - guild.getPublicRole().getIdLong(), + getGuild().getPublicRole().getIdLong(), Collections.emptyList(), Collections.singletonList(VIEW_CHANNEL)). - addMemberPermissionOverride(guild.getSelfMember().getIdLong(), + addMemberPermissionOverride(getGuild().getSelfMember().getIdLong(), Arrays.asList(VIEW_CHANNEL, MANAGE_CHANNEL), Collections.emptyList()). submit().get(); @@ -419,7 +415,7 @@ public Optional getCachedChannel(@NotNull String channelName) { * @see #channelExists(String) */ public boolean categoryExists(String categoryId) { - return guild.getCategoryById(categoryId) != null; + return getGuild().getCategoryById(categoryId) != null; } /** @@ -485,7 +481,7 @@ public boolean deleteChannel(@NotNull String channelName) { public List getCachedCategories() { return textCategories.stream(). filter(this::categoryExists). - map(guild::getCategoryById). + map(getGuild()::getCategoryById). collect(Collectors.toList()); } @@ -495,7 +491,7 @@ public List getCachedCategories() { * @return categories from guild */ public List getCategories() { - return guild.getCategoriesByName(settingsManager.getString(DISCORDCHAT_TEXT_CATEGORY_FORMAT), false); + return getGuild().getCategoriesByName(settingsManager.getString(DISCORDCHAT_TEXT_CATEGORY_FORMAT), false); } /** @@ -635,10 +631,10 @@ private Map getDiscordPlayers(@NotNull Clan clan) { private void updateLeaderRole(@NotNull Member member, @NotNull ClanPlayer clanPlayer, DiscordAction action) { if (action == ADD && clanPlayer.isLeader()) { - guild.addRoleToMember(member, leaderRole).queue(); + getGuild().addRoleToMember(member, getLeaderRole()).queue(); SimpleClans.debug(String.format("Added leader role to %s (%s) discord member", member.getNickname(), member.getId())); } else { - guild.removeRoleFromMember(member, leaderRole).queue(); + getGuild().removeRoleFromMember(member, getLeaderRole()).queue(); SimpleClans.debug(String.format("Revoked leader role from %s (%s) discord member", member.getNickname(), member.getId())); } }