Essentials/EssentialsDiscord/src/main/java/net/essentialsx/discord/listeners/DiscordCommandDispatcher.java

32 lines
1.2 KiB
Java

package net.essentialsx.discord.listeners;
import net.dv8tion.jda.api.events.message.guild.GuildMessageReceivedEvent;
import net.dv8tion.jda.api.hooks.ListenerAdapter;
import net.essentialsx.discord.JDADiscordService;
import net.essentialsx.discord.util.DiscordCommandSender;
import org.bukkit.Bukkit;
import org.jetbrains.annotations.NotNull;
public class DiscordCommandDispatcher extends ListenerAdapter {
private final JDADiscordService jda;
private String channelId = null;
public DiscordCommandDispatcher(JDADiscordService jda) {
this.jda = jda;
}
@Override
public void onGuildMessageReceived(@NotNull GuildMessageReceivedEvent event) {
if (jda.getConsoleWebhook() != null && event.getChannel().getId().equals(channelId)
&& !event.isWebhookMessage() && !event.getAuthor().isBot()) {
Bukkit.getScheduler().runTask(jda.getPlugin(), () ->
Bukkit.dispatchCommand(new DiscordCommandSender(jda, Bukkit.getConsoleSender(), message ->
event.getMessage().reply(message).queue()).getSender(), event.getMessage().getContentRaw()));
}
}
public void setChannelId(String channelId) {
this.channelId = channelId;
}
}