Add Discord Bot
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
import java.io.*;
|
||||
import java.net.*;
|
||||
import java.util.*;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Statistic;
|
||||
@@ -44,15 +45,17 @@ public class MCbot extends JavaPlugin {
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
}
|
||||
private String processCommand(String command) {
|
||||
// Implement logic to process commands here
|
||||
// Example: If command is "!players", return player list from Minecraft server
|
||||
if (command.equals("!players")) {
|
||||
// Use Spigot API to get player list
|
||||
List<Player> onlinePlayers = Bukkit.getServer().getOnlinePlayers().stream().collect(Collectors.toList());
|
||||
|
||||
if (onlinePlayers.isEmpty()) {
|
||||
String playerList = onlinePlayers.stream().map(Player::getName).collect(Collectors.joining(", "));
|
||||
return "Players online: " + playerList;
|
||||
|
||||
if (playerList.isEmpty()) {
|
||||
return "No players are currently online.";
|
||||
} else {
|
||||
StringBuilder playerList = new StringBuilder("Players online: ");
|
||||
|
@@ -1,31 +1,41 @@
|
||||
import net.dv8tion.jda.api.*;
|
||||
import net.dv8tion.jda.api.JDABuilder;
|
||||
import net.dv8tion.jda.api.events.message.MessageReceivedEvent;
|
||||
import net.dv8tion.jda.api.hooks.ListenerAdapter;
|
||||
|
||||
public class DisMCBot {
|
||||
public static void main(String[] args) {
|
||||
String token = "YOUR_BOT_TOKEN_HERE"; // Replace with your actual bot token
|
||||
new DiscordBot(token);
|
||||
import javax.security.auth.login.LoginException;
|
||||
|
||||
public class disMCbot extends ListenerAdapter {
|
||||
|
||||
private TextChannel updateChannel; // Define the channel where updates will be posted
|
||||
|
||||
public static void main(String[] args) throws LoginException {
|
||||
JDABuilder builder = JDABuilder.createDefault("YOUR_DISCORD_BOT_TOKEN");
|
||||
builder.addEventListeners(new disMCbot());
|
||||
builder.build();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMessageReceived(MessageReceivedEvent event) {
|
||||
String messageContent = event.getMessage().getContentRaw();
|
||||
// Parse message content to detect player updates
|
||||
if (messageContent.contains("died")) {
|
||||
event.getChannel().sendMessage("A player has died!").queue();
|
||||
} else if (messageContent.contains("Exp")) {
|
||||
// Parse and extract player name, Exp, and other details
|
||||
// You can use regular expressions or other parsing methods
|
||||
event.getChannel().sendMessage("Player gained experience!").queue();
|
||||
}
|
||||
}
|
||||
public DiscordBot(String token) {
|
||||
try {
|
||||
JDABuilder.createDefault(token)
|
||||
.addEventListeners(new BotEventListener()) // Create this class next
|
||||
.setActivity(Activity.playing("Minecraft"))
|
||||
.build();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
if (event.getAuthor().isBot()) return; // Ignore messages from bots
|
||||
|
||||
String message = event.getMessage().getContentRaw();
|
||||
// Check for conditions or events triggering updates
|
||||
if (message.contains("Player1 died")) {
|
||||
// Post update to the specified channel
|
||||
if (updateChannel != null) {
|
||||
updateChannel.sendMessage("Player1 has died in Minecraft!").queue();
|
||||
}
|
||||
} else if (message.contains("Player1 Exp")) {
|
||||
// Post another type of update
|
||||
if (updateChannel != null) {
|
||||
updateChannel.sendMessage("Player1 gained experience in Minecraft!").queue();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public void setUpdateChannel(TextChannel channel) {
|
||||
this.updateChannel = channel;
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user