Fixes part 1

There's definitely more to do here, I am dead inside
This commit is contained in:
Paul Reilly
2023-04-05 20:46:24 -05:00
parent a48596de8a
commit 8262e81e69
16 changed files with 361 additions and 89 deletions

View File

@ -36,5 +36,11 @@
<version>3.5.4</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>me.totalfreedom</groupId>
<artifactId>commons</artifactId>
<version>2023.03</version>
<scope>compile</scope>
</dependency>
</dependencies>
</project>

View File

@ -5,16 +5,12 @@ import me.totalfreedom.discord.command.HelpCommand;
import me.totalfreedom.discord.command.ListCommand;
import me.totalfreedom.discord.command.TPSCommand;
import me.totalfreedom.discord.handling.CommandHandler;
import me.totalfreedom.discord.listener.AdminChatListener;
import me.totalfreedom.discord.listener.BukkitNative;
import me.totalfreedom.discord.listener.MinecraftListener;
import me.totalfreedom.discord.listener.*;
import me.totalfreedom.discord.react.ReactiveBukkitScheduler;
import me.totalfreedom.totalfreedommod.api.Context;
import me.totalfreedom.totalfreedommod.api.TFD4JCommons;
import org.apache.commons.lang.StringUtils;
import org.bukkit.Bukkit;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.util.StringUtil;
import org.slf4j.Logger;
/**
@ -28,6 +24,8 @@ public class TFD4J extends JavaPlugin
private Bot bot;
private MinecraftListener mc;
private AdminChatListener ac;
private PrivateMessageListener pm;
private ReactionListener rl;
private TFD4JCommons tfd4jcommons;
private BukkitNative bn;
private CommandHandler ch;
@ -55,6 +53,10 @@ public class TFD4J extends JavaPlugin
slf4j().info("Bukkit Native listener successfully registered! Registering the Discord4J Listeners...");
this.mc = new MinecraftListener(this);
this.ac = new AdminChatListener(this);
this.pm = new PrivateMessageListener(this);
this.rl = new ReactionListener(this);
pm.privateMessageReceived();
rl.onReactionAdd();
mc.minecraftChatBound();
ac.adminChatBound();

View File

@ -48,16 +48,14 @@ public class AdminChatListener
.getEventDispatcher()
.on(MessageCreateEvent.class)
.filter(m -> m.getMessage()
.getChannel()
.blockOptional()
.orElseThrow()
.getId()
.getChannelId()
.equals(SnowflakeEntry.ADMIN_CHAT_CHANNEL_ID.getSnowflake()))
.filter(m -> !m.getMessage()
.getAuthor()
.orElseThrow()
.getId()
.equals(tfd4j.getBot().getClient().getSelfId()))
.doOnError(FLog::severe)
.subscribe(this::createMessageSpec);
}

View File

@ -10,6 +10,7 @@ import me.totalfreedom.discord.TFD4J;
import me.totalfreedom.discord.util.SnowflakeEntry;
import me.totalfreedom.totalfreedommod.TotalFreedomMod;
import me.totalfreedom.totalfreedommod.config.ConfigEntry;
import me.totalfreedom.totalfreedommod.util.FLog;
import me.totalfreedom.totalfreedommod.util.FUtil;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.TextComponent;
@ -37,26 +38,17 @@ public class MinecraftListener
tfd4j.getBot().getClient()
.getEventDispatcher()
.on(MessageCreateEvent.class)
.filter(m -> m.getMessage()
.getChannelId()
.equals(SnowflakeEntry.CHAT_CHANNEL_ID.getSnowflake()))
.filter(m -> m.getMember().orElse(null) != null)
.filter(m -> !m.getMessage()
.getAuthor()
.orElseThrow(IllegalAccessError::new)
.getId()
.equals(tfd4j.getBot().getClient().getSelfId()))
.filter(m -> m.getMessage()
.getChannel()
.blockOptional()
.orElseThrow(IllegalAccessError::new)
.getId()
.equals(SnowflakeEntry.CHAT_CHANNEL_ID.getSnowflake()))
.filter(m ->
{
Boolean b = m.getMessage()
.getChannel()
.map(TextChannel.class::isInstance)
.block();
return b != null && b;
}).subscribe(this::doMessageBodyDetails);
.doOnError(FLog::severe)
.subscribe(this::doMessageBodyDetails);
}
private void doMessageBodyDetails(MessageCreateEvent m)

View File

@ -1,7 +1,6 @@
package me.totalfreedom.discord.listener;
import discord4j.core.event.domain.message.MessageCreateEvent;
import me.totalfreedom.discord.Bot;
import me.totalfreedom.discord.TFD4J;
import me.totalfreedom.totalfreedommod.TotalFreedomMod;
import me.totalfreedom.totalfreedommod.admin.Admin;
@ -43,8 +42,7 @@ public class PrivateMessageListener
TotalFreedomMod.getPlugin().pl.save(player);
tfd4j.getBot().getLinkCodes().remove(code);
}
else
} else
{
return;
}

View File

@ -8,6 +8,7 @@ import discord4j.core.object.entity.channel.TextChannel;
import discord4j.discordjson.json.MessageCreateRequest;
import me.totalfreedom.discord.TFD4J;
import me.totalfreedom.discord.util.SnowflakeEntry;
import me.totalfreedom.totalfreedommod.util.FLog;
public class ReactionListener
{
@ -30,18 +31,18 @@ public class ReactionListener
.orElseThrow()
.getId()
.equals(tfd4j.getBot().getClient().getSelfId()))
.filter(r -> !r.getChannel()
.blockOptional()
.orElseThrow().getId().equals(SnowflakeEntry.REPORT_CHANNEL_ID.getSnowflake()))
.filter(r -> !r.getChannelId()
.equals(SnowflakeEntry.REPORT_CHANNEL_ID.getSnowflake()))
.filter(r -> r.getEmoji()
.asUnicodeEmoji()
.orElseThrow(UnsupportedOperationException::new)
.getRaw()
.equals("\uD83D\uDCCB"))
.doOnError(FLog::severe)
.subscribe(this::reactionWork);
}
public void reactionWork(ReactionAddEvent event)
private void reactionWork(ReactionAddEvent event)
{
final TextChannel archiveChannel = tfd4j.getBot()
.getClient()