package net.essentialsx.api.v2.events.discord; import net.essentialsx.api.v2.ChatType; import org.bukkit.entity.Player; import org.bukkit.event.Cancellable; import org.bukkit.event.Event; import org.bukkit.event.HandlerList; import org.jetbrains.annotations.NotNull; /** * Fired before a chat message is about to be sent to a Discord channel. * Should be used to block chat messages (such as staff channels) from appearing in Discord. */ public class DiscordChatMessageEvent extends Event implements Cancellable { private static final HandlerList handlers = new HandlerList(); private final Player player; private final ChatType chatType; private String message; private boolean cancelled = false; /** * @param player The player which caused this event. * @param message The message of this event. */ public DiscordChatMessageEvent(Player player, String message, ChatType chatType) { this.player = player; this.message = message; this.chatType = chatType; } /** * The player which caused this chat message. * @return the player who caused the event. */ public Player getPlayer() { return player; } /** * The message being sent in this chat event. * @return the message of this event. */ public String getMessage() { return message; } /** * Sets the message of this event, and thus the chat message relayed to Discord. * @param message the new message. */ public void setMessage(String message) { this.message = message; } /** * Type of chat of the original message. * @return type of chat of the original message. */ public ChatType getChatType() { return chatType; } @Override public boolean isCancelled() { return cancelled; } @Override public void setCancelled(boolean cancel) { this.cancelled = cancel; } @NotNull @Override public HandlerList getHandlers() { return handlers; } public static HandlerList getHandlerList() { return handlers; } }