4 Commits
1.0 ... 1.1

4 changed files with 186 additions and 168 deletions

View File

@@ -50,8 +50,8 @@ messages:
- **Nachrichtenformate**: Anpassung der Nachrichten mit Platzhaltern `{username}` und `{message}`. - **Nachrichtenformate**: Anpassung der Nachrichten mit Platzhaltern `{username}` und `{message}`.
## Befehle ## Befehle
- `/tg`: Wechselt in den Telegram-Chatmodus. - `/tg on`: Wechselt in den Telegram-Chatmodus.
- `/chat`: Wechselt in den Minecraft-Chatmodus. - `/tg off`: Wechselt in den Minecraft-Chatmodus.
- `/link`: Verknüpft dein Minecraft-Konto mit einem Telegram-Konto. - `/link`: Verknüpft dein Minecraft-Konto mit einem Telegram-Konto.
- `/tb [reload|info|help]`: Verwaltet das Plugin (einige Unterbefehle nur für Admins). - `/tb [reload|info|help]`: Verwaltet das Plugin (einige Unterbefehle nur für Admins).

148
pom.xml
View File

@@ -1,74 +1,74 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" <project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd"> http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<groupId>dev.viper</groupId> <groupId>dev.viper</groupId>
<artifactId>TelegramChatBridge</artifactId> <artifactId>TelegramChatBridge</artifactId>
<version>1.0</version> <version>1.1</version>
<name>TelegramChatBridge</name> <name>TelegramChatBridge</name>
<description>Bridge between Minecraft and Telegram chat</description> <description>Bridge between Minecraft and Telegram chat</description>
<properties> <properties>
<java.version>17</java.version> <java.version>17</java.version>
<telegrambots.version>6.5.0</telegrambots.version> <telegrambots.version>6.5.0</telegrambots.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>17</maven.compiler.source> <maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target> <maven.compiler.target>17</maven.compiler.target>
</properties> </properties>
<dependencies> <dependencies>
<!-- Telegram Bots --> <!-- Telegram Bots -->
<dependency> <dependency>
<groupId>org.telegram</groupId> <groupId>org.telegram</groupId>
<artifactId>telegrambots</artifactId> <artifactId>telegrambots</artifactId>
<version>${telegrambots.version}</version> <version>${telegrambots.version}</version>
</dependency> </dependency>
<!-- Bukkit/Spigot API --> <!-- Bukkit/Spigot API -->
<dependency> <dependency>
<groupId>org.spigotmc</groupId> <groupId>org.spigotmc</groupId>
<artifactId>spigot-api</artifactId> <artifactId>spigot-api</artifactId>
<version>1.21.5-R0.1-SNAPSHOT</version> <version>1.21.5-R0.1-SNAPSHOT</version>
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
</dependencies> </dependencies>
<build> <build>
<plugins> <plugins>
<!-- Compiler Plugin --> <!-- Compiler Plugin -->
<plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId> <artifactId>maven-compiler-plugin</artifactId>
<version>3.10.1</version> <version>3.10.1</version>
<configuration> <configuration>
<release>17</release> <release>17</release>
</configuration> </configuration>
</plugin> </plugin>
<!-- Shade Plugin: packt Telegram-Bibliothek in die JAR --> <!-- Shade Plugin: packt Telegram-Bibliothek in die JAR -->
<plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId> <artifactId>maven-shade-plugin</artifactId>
<version>3.4.1</version> <version>3.4.1</version>
<executions> <executions>
<execution> <execution>
<phase>package</phase> <phase>package</phase>
<goals><goal>shade</goal></goals> <goals><goal>shade</goal></goals>
<configuration> <configuration>
<minimizeJar>true</minimizeJar> <minimizeJar>true</minimizeJar>
<relocations> <relocations>
<relocation> <relocation>
<pattern>org.telegram</pattern> <pattern>org.telegram</pattern>
<shadedPattern>dev.viper.shaded.telegram</shadedPattern> <shadedPattern>dev.viper.shaded.telegram</shadedPattern>
</relocation> </relocation>
</relocations> </relocations>
</configuration> </configuration>
</execution> </execution>
</executions> </executions>
</plugin> </plugin>
</plugins> </plugins>
</build> </build>
</project> </project>

View File

@@ -1,65 +1,83 @@
package dev.viper.telegramchat; package dev.viper.telegramchat;
import org.bukkit.ChatColor; import org.bukkit.ChatColor;
import org.bukkit.command.Command; import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
public class TelegramCommand implements CommandExecutor { public class TelegramCommand implements CommandExecutor {
private final TelegramChatBridge plugin; private final TelegramChatBridge plugin;
private final ChatModeManager chatModeManager; private final ChatModeManager chatModeManager;
public TelegramCommand(TelegramChatBridge plugin, ChatModeManager manager) { public TelegramCommand(TelegramChatBridge plugin, ChatModeManager manager) {
this.plugin = plugin; this.plugin = plugin;
this.chatModeManager = manager; this.chatModeManager = manager;
} }
@Override @Override
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
if (!(sender instanceof Player player)) { if (!(sender instanceof Player player)) {
sender.sendMessage(ChatColor.RED + "Dieser Befehl kann nur von einem Spieler ausgeführt werden."); sender.sendMessage(ChatColor.RED + "Dieser Befehl kann nur von einem Spieler ausgeführt werden.");
return true; return true;
} }
if (args.length == 0) { // Wenn keine Argumente angegeben wurden, standardmäßig den Telegram-Modus aktivieren
// Wechsel in Telegram-Chatmodus if (args.length == 0) {
chatModeManager.setMode(player.getUniqueId(), ChatModeManager.ChatMode.TELEGRAM); chatModeManager.setMode(player.getUniqueId(), ChatModeManager.ChatMode.TELEGRAM);
String msg = plugin.getConfig().getString("messages.mode-set-telegram", "Du bist jetzt im Telegram-Chatmodus."); String msg = plugin.getConfig().getString("messages.mode-set-telegram", "Du bist jetzt im Telegram-Chatmodus.");
player.sendMessage(ChatColor.translateAlternateColorCodes('&', msg)); player.sendMessage(ChatColor.translateAlternateColorCodes('&', msg));
return true; return true;
} }
String sub = args[0].toLowerCase(); String sub = args[0].toLowerCase();
if (sub.equals("info")) { // Befehl: /tg on
player.sendMessage(ChatColor.DARK_GRAY + "=== TelegramChatBridge Info ==="); if (sub.equals("on")) {
player.sendMessage(ChatColor.GRAY + "Version: " + ChatColor.WHITE + plugin.getDescription().getVersion()); chatModeManager.setMode(player.getUniqueId(), ChatModeManager.ChatMode.TELEGRAM);
player.sendMessage(ChatColor.GRAY + "Ersteller: " + ChatColor.WHITE + "M_Viper"); String msg = plugin.getConfig().getString("messages.mode-set-telegram", "Du bist jetzt im Telegram-Chatmodus.");
player.sendMessage(ChatColor.translateAlternateColorCodes('&', msg));
String chatId = plugin.getChatId(); return true;
String chatType = "Unbekannt"; }
if (chatId != null) {
if (chatId.startsWith("-")) { // Befehl: /tg off
chatType = "Gruppenchat"; if (sub.equals("off")) {
} else { chatModeManager.setMode(player.getUniqueId(), ChatModeManager.ChatMode.MINECRAFT);
chatType = "Privat Chat"; String msg = plugin.getConfig().getString("messages.mode-set-minecraft", "Du bist jetzt im Minecraft-Chatmodus.");
} player.sendMessage(ChatColor.translateAlternateColorCodes('&', msg));
} return true;
player.sendMessage(ChatColor.GRAY + "Chat-Typ: " + ChatColor.WHITE + chatType); }
return true; if (sub.equals("info")) {
} player.sendMessage(ChatColor.DARK_GRAY + "=== TelegramChatBridge Info ===");
player.sendMessage(ChatColor.GRAY + "Version: " + ChatColor.WHITE + plugin.getDescription().getVersion());
if (sub.equals("help")) { player.sendMessage(ChatColor.GRAY + "Ersteller: " + ChatColor.WHITE + "M_Viper");
player.sendMessage(ChatColor.GREEN + "=== TelegramChatBridge Befehle ===");
player.sendMessage(ChatColor.YELLOW + "/tg" + ChatColor.WHITE + " - Wechsel in Telegram-Chatmodus"); String chatId = plugin.getChatId();
player.sendMessage(ChatColor.YELLOW + "/tg info" + ChatColor.WHITE + " - Plugin-Informationen anzeigen"); String chatType = "Unbekannt";
player.sendMessage(ChatColor.YELLOW + "/tg help" + ChatColor.WHITE + " - Diese Hilfe anzeigen"); if (chatId != null) {
return true; if (chatId.startsWith("-")) {
} chatType = "Gruppenchat";
} else {
player.sendMessage(ChatColor.RED + "Unbekannter Unterbefehl. Nutze /tg help"); chatType = "Privat Chat";
return true; }
} }
} player.sendMessage(ChatColor.GRAY + "Chat-Typ: " + ChatColor.WHITE + chatType);
return true;
}
if (sub.equals("help")) {
player.sendMessage(ChatColor.GREEN + "=== TelegramChatBridge Befehle ===");
player.sendMessage(ChatColor.YELLOW + "/tg" + ChatColor.WHITE + " - Wechsel in Telegram-Chatmodus");
player.sendMessage(ChatColor.YELLOW + "/tg on" + ChatColor.WHITE + " - Aktiviert den Telegram-Chatmodus");
player.sendMessage(ChatColor.YELLOW + "/tg off" + ChatColor.WHITE + " - Deaktiviert den Telegram-Chatmodus (Normaler Chat)");
player.sendMessage(ChatColor.YELLOW + "/tg info" + ChatColor.WHITE + " - Plugin-Informationen anzeigen");
player.sendMessage(ChatColor.YELLOW + "/tg help" + ChatColor.WHITE + " - Diese Hilfe anzeigen");
return true;
}
player.sendMessage(ChatColor.RED + "Unbekannter Unterbefehl. Nutze /tg help");
return true;
}
}

View File

@@ -1,27 +1,27 @@
name: TelegramChatBridge name: TelegramChatBridge
version: 1.0 version: 1.1
main: dev.viper.telegramchat.TelegramChatBridge main: dev.viper.telegramchat.TelegramChatBridge
api-version: '1.21' api-version: '1.21'
commands: commands:
tg: tg:
description: Wechselt in den Telegram-Chatmodus description: Wechselt in den Telegram-Chatmodus
usage: /<command> usage: /<command>
chat: chat:
description: Wechselt in den Minecraft-Chatmodus description: Wechselt in den Minecraft-Chatmodus
usage: /<command> usage: /<command>
link: link:
description: Verknüpft deinen Minecraft-Account mit Telegram description: Verknüpft deinen Minecraft-Account mit Telegram
usage: /<command> usage: /<command>
tb: tb:
description: Verwaltet das TelegramChatBridge-Plugin description: Verwaltet das TelegramChatBridge-Plugin
usage: /<command> [reload|info|help] usage: /<command> [reload|info|help]
permissions: permissions:
telegramchat.use: telegramchat.use:
description: Erlaubt die Nutzung der TelegramChatBridge Befehle description: Erlaubt die Nutzung der TelegramChatBridge Befehle
default: true default: true
telegramchat.admin: telegramchat.admin:
description: Erlaubt die Nutzung der Admin-Befehle von TelegramChatBridge description: Erlaubt die Nutzung der Admin-Befehle von TelegramChatBridge
default: op default: op