Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 37718929fc | |||
| 13dff08472 | |||
| 5800889923 |
76
dependency-reduced-pom.xml
Normal file
76
dependency-reduced-pom.xml
Normal file
@@ -0,0 +1,76 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>dev.viper</groupId>
|
||||
<artifactId>TelegramChatBridge</artifactId>
|
||||
<name>TelegramChatBridge</name>
|
||||
<version>1.1</version>
|
||||
<description>Bridge between Minecraft and Telegram chat</description>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<version>3.10.1</version>
|
||||
<configuration>
|
||||
<release>17</release>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<artifactId>maven-shade-plugin</artifactId>
|
||||
<version>3.4.1</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<phase>package</phase>
|
||||
<goals>
|
||||
<goal>shade</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<minimizeJar>true</minimizeJar>
|
||||
<relocations>
|
||||
<relocation>
|
||||
<pattern>org.telegram</pattern>
|
||||
<shadedPattern>dev.viper.shaded.telegram</shadedPattern>
|
||||
</relocation>
|
||||
</relocations>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
<repositories>
|
||||
<repository>
|
||||
<id>spigot-repo</id>
|
||||
<url>https://hub.spigotmc.org/nexus/content/repositories/snapshots/</url>
|
||||
</repository>
|
||||
<repository>
|
||||
<id>opencollab-snapshot</id>
|
||||
<url>https://repo.opencollab.dev/maven-snapshots/</url>
|
||||
</repository>
|
||||
<repository>
|
||||
<id>opencollab-releases</id>
|
||||
<url>https://repo.opencollab.dev/maven-releases/</url>
|
||||
</repository>
|
||||
</repositories>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.spigotmc</groupId>
|
||||
<artifactId>spigot-api</artifactId>
|
||||
<version>1.21.1-R0.1-SNAPSHOT</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.geysermc.floodgate</groupId>
|
||||
<artifactId>api</artifactId>
|
||||
<version>2.2.2-SNAPSHOT</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<properties>
|
||||
<maven.compiler.target>17</maven.compiler.target>
|
||||
<java.version>17</java.version>
|
||||
<telegrambots.version>6.5.0</telegrambots.version>
|
||||
<maven.compiler.source>17</maven.compiler.source>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
</properties>
|
||||
</project>
|
||||
175
pom.xml
175
pom.xml
@@ -1,74 +1,101 @@
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
|
||||
http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<groupId>dev.viper</groupId>
|
||||
<artifactId>TelegramChatBridge</artifactId>
|
||||
<version>1.1</version>
|
||||
|
||||
<name>TelegramChatBridge</name>
|
||||
<description>Bridge between Minecraft and Telegram chat</description>
|
||||
|
||||
<properties>
|
||||
<java.version>17</java.version>
|
||||
<telegrambots.version>6.5.0</telegrambots.version>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
<maven.compiler.source>17</maven.compiler.source>
|
||||
<maven.compiler.target>17</maven.compiler.target>
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
<!-- Telegram Bots -->
|
||||
<dependency>
|
||||
<groupId>org.telegram</groupId>
|
||||
<artifactId>telegrambots</artifactId>
|
||||
<version>${telegrambots.version}</version>
|
||||
</dependency>
|
||||
|
||||
<!-- Bukkit/Spigot API -->
|
||||
<dependency>
|
||||
<groupId>org.spigotmc</groupId>
|
||||
<artifactId>spigot-api</artifactId>
|
||||
<version>1.21.5-R0.1-SNAPSHOT</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<!-- Compiler Plugin -->
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<version>3.10.1</version>
|
||||
<configuration>
|
||||
<release>17</release>
|
||||
</configuration>
|
||||
</plugin>
|
||||
|
||||
<!-- Shade Plugin: packt Telegram-Bibliothek in die JAR -->
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-shade-plugin</artifactId>
|
||||
<version>3.4.1</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<phase>package</phase>
|
||||
<goals><goal>shade</goal></goals>
|
||||
<configuration>
|
||||
<minimizeJar>true</minimizeJar>
|
||||
<relocations>
|
||||
<relocation>
|
||||
<pattern>org.telegram</pattern>
|
||||
<shadedPattern>dev.viper.shaded.telegram</shadedPattern>
|
||||
</relocation>
|
||||
</relocations>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
|
||||
http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<groupId>dev.viper</groupId>
|
||||
<artifactId>TelegramChatBridge</artifactId>
|
||||
<version>1.1</version>
|
||||
|
||||
<name>TelegramChatBridge</name>
|
||||
<description>Bridge between Minecraft and Telegram chat</description>
|
||||
|
||||
<properties>
|
||||
<java.version>17</java.version>
|
||||
<telegrambots.version>6.5.0</telegrambots.version>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
<maven.compiler.source>17</maven.compiler.source>
|
||||
<maven.compiler.target>17</maven.compiler.target>
|
||||
</properties>
|
||||
|
||||
<repositories>
|
||||
<!-- Spigot Repository -->
|
||||
<repository>
|
||||
<id>spigot-repo</id>
|
||||
<url>https://hub.spigotmc.org/nexus/content/repositories/snapshots/</url>
|
||||
</repository>
|
||||
|
||||
<!-- Opencollab Repository (Für GeyserMC / Floodgate) -->
|
||||
<repository>
|
||||
<id>opencollab-snapshot</id>
|
||||
<url>https://repo.opencollab.dev/maven-snapshots/</url>
|
||||
</repository>
|
||||
<repository>
|
||||
<id>opencollab-releases</id>
|
||||
<url>https://repo.opencollab.dev/maven-releases/</url>
|
||||
</repository>
|
||||
</repositories>
|
||||
|
||||
<dependencies>
|
||||
<!-- Telegram Bots API -->
|
||||
<dependency>
|
||||
<groupId>org.telegram</groupId>
|
||||
<artifactId>telegrambots</artifactId>
|
||||
<version>${telegrambots.version}</version>
|
||||
</dependency>
|
||||
|
||||
<!-- Bukkit/Spigot API -->
|
||||
<dependency>
|
||||
<groupId>org.spigotmc</groupId>
|
||||
<artifactId>spigot-api</artifactId>
|
||||
<version>1.21.1-R0.1-SNAPSHOT</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
|
||||
<!-- Floodgate API für Bedrock-Support -->
|
||||
<dependency>
|
||||
<groupId>org.geysermc.floodgate</groupId>
|
||||
<artifactId>api</artifactId>
|
||||
<version>2.2.2-SNAPSHOT</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<!-- Compiler Plugin -->
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<version>3.10.1</version>
|
||||
<configuration>
|
||||
<release>17</release>
|
||||
</configuration>
|
||||
</plugin>
|
||||
|
||||
<!-- Shade Plugin: Packt externe Bibliotheken in die JAR -->
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-shade-plugin</artifactId>
|
||||
<version>3.4.1</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<phase>package</phase>
|
||||
<goals><goal>shade</goal></goals>
|
||||
<configuration>
|
||||
<minimizeJar>true</minimizeJar>
|
||||
<relocations>
|
||||
<!-- Verschiebt die Telegram-Lib, damit es keine Konflikte gibt -->
|
||||
<relocation>
|
||||
<pattern>org.telegram</pattern>
|
||||
<shadedPattern>dev.viper.shaded.telegram</shadedPattern>
|
||||
</relocation>
|
||||
</relocations>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
||||
69
src/main/java/dev/viper/telegramchat/BedrockSupport.java
Normal file
69
src/main/java/dev/viper/telegramchat/BedrockSupport.java
Normal file
@@ -0,0 +1,69 @@
|
||||
package dev.viper.telegramchat;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.geysermc.floodgate.api.FloodgateApi;
|
||||
import org.geysermc.floodgate.api.player.FloodgatePlayer;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* Hilfsklasse zur Unterstützung von Bedrock-Spielern via Floodgate.
|
||||
*/
|
||||
public class BedrockSupport {
|
||||
|
||||
private static FloodgateApi floodgateApi = null;
|
||||
|
||||
/**
|
||||
* Initialisiert die Floodgate-API, falls das Plugin auf dem Server existiert.
|
||||
*/
|
||||
public static void init() {
|
||||
if (Bukkit.getPluginManager().getPlugin("Floodgate") != null) {
|
||||
try {
|
||||
floodgateApi = FloodgateApi.getInstance();
|
||||
Bukkit.getLogger().info("[" + TelegramChatBridge.getInstance().getName() + "] Floodgate erkannt! Bedrock-Support aktiviert.");
|
||||
} catch (Exception e) {
|
||||
Bukkit.getLogger().warning("[" + TelegramChatBridge.getInstance().getName() + "] Konnte Floodgate-API nicht laden: " + e.getMessage());
|
||||
}
|
||||
} else {
|
||||
Bukkit.getLogger().info("[" + TelegramChatBridge.getInstance().getName() + "] Kein Floodgate gefunden. Nur Java-Support aktiv.");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Gibt den Anzeigenamen des Spielers zurück.
|
||||
* Wenn es ein Bedrock-Spieler ist, wird der Bedrock-Name zurückgegeben, sonst der Java-Name.
|
||||
*/
|
||||
public static String getDisplayName(Player player) {
|
||||
if (floodgateApi != null) {
|
||||
// Prüfen ob der Spieler ein Floodgate-Spieler ist
|
||||
if (floodgateApi.isFloodgatePlayer(player.getUniqueId())) {
|
||||
FloodgatePlayer fp = floodgateApi.getPlayer(player.getUniqueId());
|
||||
if (fp != null) {
|
||||
return fp.getUsername(); // Echter Bedrock-Name
|
||||
}
|
||||
}
|
||||
}
|
||||
return player.getName(); // Standard Java-Name
|
||||
}
|
||||
|
||||
/**
|
||||
* Gibt den Namen für eine UUID zurück (auch für Offline-Spieler, z.B. in der API-Logik).
|
||||
*/
|
||||
public static String getDisplayName(UUID uuid) {
|
||||
if (floodgateApi != null) {
|
||||
try {
|
||||
if (floodgateApi.isFloodgatePlayer(uuid)) {
|
||||
FloodgatePlayer fp = floodgateApi.getPlayer(uuid);
|
||||
if (fp != null) {
|
||||
return fp.getUsername();
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
// Falls API-Aufruf fehlschlägt, Fallback nutzen
|
||||
}
|
||||
}
|
||||
// Fallback auf Bukkit OfflinePlayer
|
||||
return Bukkit.getOfflinePlayer(uuid).getName();
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,8 @@
|
||||
package dev.viper.telegramchat;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.EventPriority;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.player.AsyncPlayerChatEvent;
|
||||
|
||||
@@ -11,20 +13,36 @@ public class ChatListener implements Listener {
|
||||
this.plugin = plugin;
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
@EventHandler(priority = EventPriority.HIGHEST)
|
||||
public void onChat(AsyncPlayerChatEvent event) {
|
||||
// Sicherheitscheck: Falls ein Plugin das Event bereits cancelt hat (z.B. EssentialsChat Local), tun wir nichts
|
||||
if (event.isCancelled()) {
|
||||
return;
|
||||
}
|
||||
|
||||
var player = event.getPlayer();
|
||||
var mode = plugin.getChatModeManager().getMode(player.getUniqueId());
|
||||
|
||||
String username = player.getName();
|
||||
// DEBUG LOGGING
|
||||
// Wir loggen jetzt JEDE Nachricht, damit wir wissen, ob der Spieler tippt
|
||||
plugin.getLogger().info("Chat-Event: Spieler '" + BedrockSupport.getDisplayName(player) + "' schreibt: '" + event.getMessage() + "'");
|
||||
plugin.getLogger().info("Aktueller Modus: " + mode);
|
||||
|
||||
String username = BedrockSupport.getDisplayName(player);
|
||||
String message = event.getMessage();
|
||||
|
||||
if (mode == ChatModeManager.ChatMode.TELEGRAM) {
|
||||
// Nachricht an Telegram senden und im Minecraft-Chat unterdrücken
|
||||
plugin.getBotHandler().sendMessageToTelegram(username, message);
|
||||
plugin.getLogger().info("-> Modus ist TELEGRAM. Sende an Telegram und cancelle MC-Chat.");
|
||||
|
||||
// Nachricht asynchron an Telegram senden (wichtig!)
|
||||
Bukkit.getScheduler().runTaskAsynchronously(plugin, () -> {
|
||||
plugin.getBotHandler().sendMessageToTelegram(username, message);
|
||||
});
|
||||
|
||||
// Nachricht im MC-Chat unterdrücken
|
||||
event.setCancelled(true);
|
||||
} else {
|
||||
plugin.getLogger().info("-> Modus ist MINECRAFT. Nachricht geht normal weiter.");
|
||||
}
|
||||
|
||||
// Im Minecraft-Modus passiert nichts weiter – Nachricht wird normal angezeigt
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -37,4 +37,4 @@ public class ChatModeManager {
|
||||
public void clearAllModes() {
|
||||
playerModes.clear();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -22,4 +22,4 @@ public class MinecraftChatCommand implements CommandExecutor {
|
||||
player.sendMessage(ChatColor.translateAlternateColorCodes('&', msg));
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2,9 +2,9 @@ package dev.viper.telegramchat;
|
||||
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.entity.PlayerDeathEvent;
|
||||
import org.bukkit.event.player.PlayerJoinEvent;
|
||||
import org.bukkit.event.player.PlayerQuitEvent;
|
||||
import org.bukkit.event.entity.PlayerDeathEvent;
|
||||
|
||||
public class PlayerEventListener implements Listener {
|
||||
|
||||
@@ -18,7 +18,8 @@ public class PlayerEventListener implements Listener {
|
||||
public void onPlayerJoin(PlayerJoinEvent event) {
|
||||
if (!plugin.getConfig().getBoolean("messages.joinAndLeaveEvent", true)) return;
|
||||
|
||||
String message = event.getPlayer().getName() + " ist dem Server beigetreten.";
|
||||
String playerName = BedrockSupport.getDisplayName(event.getPlayer());
|
||||
String message = playerName + " ist dem Server beigetreten.";
|
||||
plugin.getBotHandler().sendMessageToTelegram("Server", message);
|
||||
}
|
||||
|
||||
@@ -26,7 +27,8 @@ public class PlayerEventListener implements Listener {
|
||||
public void onPlayerQuit(PlayerQuitEvent event) {
|
||||
if (!plugin.getConfig().getBoolean("messages.joinAndLeaveEvent", true)) return;
|
||||
|
||||
String message = event.getPlayer().getName() + " hat den Server verlassen.";
|
||||
String playerName = BedrockSupport.getDisplayName(event.getPlayer());
|
||||
String message = playerName + " hat den Server verlassen.";
|
||||
plugin.getBotHandler().sendMessageToTelegram("Server", message);
|
||||
}
|
||||
|
||||
@@ -34,7 +36,8 @@ public class PlayerEventListener implements Listener {
|
||||
public void onPlayerDeath(PlayerDeathEvent event) {
|
||||
if (!plugin.getConfig().getBoolean("messages.deathEvent", true)) return;
|
||||
|
||||
String message = event.getDeathMessage();
|
||||
String playerName = BedrockSupport.getDisplayName(event.getEntity());
|
||||
String message = playerName + " ist gestorben: " + event.getDeathMessage();
|
||||
plugin.getBotHandler().sendMessageToTelegram("Server", message);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -80,4 +80,4 @@ public class TBCommand implements CommandExecutor {
|
||||
"&f/status &7- Zeigt die Serverlaufzeit an"));
|
||||
sender.sendMessage(helpMessage);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -112,9 +112,16 @@ public class TelegramBotHandler extends TelegramLongPollingBot {
|
||||
}
|
||||
|
||||
UUID uuid = plugin.getAccountLinkManager().findUUIDByTelegramId(telegramId);
|
||||
String from = uuid != null && Bukkit.getOfflinePlayer(uuid).getName() != null
|
||||
? Bukkit.getOfflinePlayer(uuid).getName()
|
||||
: msg.getFrom().getFirstName();
|
||||
|
||||
// Name-Ermittlung: Zuerst versuchen den verknüpften Spielernamen zu nutzen (inkl. Bedrock-Check)
|
||||
// Falls nicht verknüpft, den Telegram Vornamen nutzen
|
||||
String from = msg.getFrom().getFirstName();
|
||||
if (uuid != null) {
|
||||
String playerName = BedrockSupport.getDisplayName(uuid);
|
||||
if (playerName != null) {
|
||||
from = playerName;
|
||||
}
|
||||
}
|
||||
|
||||
String formatted = plugin.getTelegramToMinecraftFormat()
|
||||
.replace("{username}", from)
|
||||
@@ -133,9 +140,15 @@ public class TelegramBotHandler extends TelegramLongPollingBot {
|
||||
String args = split.length > 1 ? split[1] : "";
|
||||
|
||||
UUID uuid = plugin.getAccountLinkManager().findUUIDByTelegramId(telegramId);
|
||||
String from = uuid != null && Bukkit.getOfflinePlayer(uuid).getName() != null
|
||||
? Bukkit.getOfflinePlayer(uuid).getName()
|
||||
: msg.getFrom().getFirstName();
|
||||
String from = msg.getFrom().getFirstName(); // Standardname für Antworten
|
||||
|
||||
// Wenn verknüpft, versuchen den echten Spielernamen (Bedrock oder Java) zu holen
|
||||
if (uuid != null) {
|
||||
String playerName = BedrockSupport.getDisplayName(uuid);
|
||||
if (playerName != null) {
|
||||
from = playerName;
|
||||
}
|
||||
}
|
||||
|
||||
switch (cmd) {
|
||||
case "/verify":
|
||||
@@ -235,7 +248,7 @@ public class TelegramBotHandler extends TelegramLongPollingBot {
|
||||
private void handleOtherCommands(String cmd, String args, String from, Message msg, UUID uuid) {
|
||||
switch (cmd) {
|
||||
case "/online":
|
||||
List<String> players = Bukkit.getOnlinePlayers().stream().map(Player::getName).collect(Collectors.toList());
|
||||
List<String> players = Bukkit.getOnlinePlayers().stream().map(p -> BedrockSupport.getDisplayName(p)).collect(Collectors.toList());
|
||||
String msgText = players.isEmpty()
|
||||
? getConfigMessage("messages.telegram.command.online-empty")
|
||||
: getConfigMessage("messages.telegram.command.online-list").replace("{list}", String.join(", ", players));
|
||||
@@ -323,17 +336,28 @@ public class TelegramBotHandler extends TelegramLongPollingBot {
|
||||
return false;
|
||||
}
|
||||
|
||||
public void sendMessageToTelegram(String username, String message) {
|
||||
public void sendMessageToTelegram(String username, String message) {
|
||||
// DEBUG: Prüfen ob Chat-IDs geladen wurden
|
||||
if (chatIds.isEmpty()) {
|
||||
plugin.getLogger().severe("Keine Chat-IDs gefunden! Bitte prüfe die config.yml unter telegram.chat-id");
|
||||
return;
|
||||
}
|
||||
|
||||
String formatted = plugin.getMinecraftToTelegramFormat()
|
||||
.replace("{username}", username)
|
||||
.replace("{message}", message);
|
||||
String telegramMessage = formatted.replaceAll("&[0-9a-fk-or]", "");
|
||||
|
||||
plugin.getLogger().info("Versuche Nachricht an " + chatIds.size() + " Chat(s) zu senden...");
|
||||
|
||||
try {
|
||||
for (String id : chatIds) {
|
||||
execute(new SendMessage(id, telegramMessage));
|
||||
plugin.getLogger().info("Erfolgreich an Chat-ID gesendet: " + id);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
plugin.getLogger().warning("Fehler beim Senden an Telegram: " + e.getMessage());
|
||||
plugin.getLogger().severe("Fehler beim Senden an Telegram: " + e.getMessage());
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -352,4 +376,4 @@ public class TelegramBotHandler extends TelegramLongPollingBot {
|
||||
String msg = plugin.getConfig().getString(path);
|
||||
return msg != null ? msg : "Fehlende Nachricht: " + path;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -14,6 +14,10 @@ public class TelegramChatBridge extends JavaPlugin {
|
||||
@Override
|
||||
public void onEnable() {
|
||||
instance = this;
|
||||
|
||||
// Bedrock-Support initialisieren
|
||||
BedrockSupport.init();
|
||||
|
||||
saveDefaultConfig();
|
||||
|
||||
chatModeManager = new ChatModeManager();
|
||||
|
||||
Reference in New Issue
Block a user