32 lines
1.2 KiB
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;
|
|
}
|
|
}
|