package dev.viper.telegramchat; import dev.viper.telegramchat.commands.LinkCommand; import dev.viper.telegramchat.commands.TBCommand; import org.bukkit.plugin.java.JavaPlugin; public class TelegramChatBridge extends JavaPlugin { private static TelegramChatBridge instance; private TelegramBotHandler botHandler; private ChatModeManager chatModeManager; private AccountLinkManager accountLinkManager; @Override public void onEnable() { instance = this; saveDefaultConfig(); chatModeManager = new ChatModeManager(); accountLinkManager = new AccountLinkManager(this); botHandler = new TelegramBotHandler(this); try { botHandler.start(); } catch (Exception e) { getLogger().severe("Fehler beim Starten des Telegram Bots: " + e.getMessage()); e.printStackTrace(); } getServer().getPluginManager().registerEvents(new ChatListener(this), this); getServer().getPluginManager().registerEvents(new PlayerEventListener(this), this); getCommand("tg").setExecutor(new TelegramCommand(this, chatModeManager)); getCommand("chat").setExecutor(new MinecraftChatCommand(chatModeManager)); getCommand("link").setExecutor(new LinkCommand(this)); getCommand("tb").setExecutor(new TBCommand(this)); getLogger().info("TelegramChatBridge aktiviert!"); } @Override public void onDisable() { if (botHandler != null) { try { botHandler.stop(); } catch (Exception e) { getLogger().warning("Fehler beim Stoppen des Telegram Bots: " + e.getMessage()); } } } public static TelegramChatBridge getInstance() { return instance; } public TelegramBotHandler getBotHandler() { return botHandler; } public ChatModeManager getChatModeManager() { return chatModeManager; } public AccountLinkManager getAccountLinkManager() { return accountLinkManager; } public String getBotToken() { return getConfig().getString("telegram.bot-token"); } public String getChatId() { return getConfig().getString("telegram.chat-id"); } public boolean isSendToTelegramEnabled() { return getConfig().getBoolean("telegram.send-to-telegram", true); } public boolean isSendToChatEnabled() { return getConfig().getBoolean("telegram.send-to-chat", true); } public boolean isJoinAndLeaveEnabled() { return getConfig().getBoolean("telegram.join-and-leave-event", true); } public boolean isDeathEventEnabled() { return getConfig().getBoolean("telegram.death-event", true); } public boolean isAdvancementEventEnabled() { return getConfig().getBoolean("telegram.advancement-event", true); } public boolean isSleepEventEnabled() { return getConfig().getBoolean("telegram.sleep-event", false); } public boolean isServerStartStopEnabled() { return getConfig().getBoolean("telegram.server-start-stop", false); } public String getTelegramToMinecraftFormat() { return getConfig().getString("messages.telegram-to-minecraft", "&7[&3TG &r-> &2MC&7] &f{username}: &r{message}"); } public String getMinecraftToTelegramFormat() { return getConfig().getString("messages.minecraft-to-telegram", "[MC -> TG] {username}: {message}"); } public String getTelegramEchoFormat() { return getConfig().getString("messages.telegram-echo", "&7[&2MC &r-> &3TG&7] &f{username}: &r{message}"); } public String getModeSetTelegramMessage() { return getConfig().getString("messages.mode-set-telegram", "&aDu bist jetzt im Telegram-Chatmodus."); } public String getModeSetMinecraftMessage() { return getConfig().getString("messages.mode-set-minecraft", "&aDu bist jetzt im Minecraft-Chatmodus."); } }