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