From 7a0d49fcb6f5bd22a3252f703bf2c79cf6b5365c Mon Sep 17 00:00:00 2001 From: Teriuihi Date: Thu, 16 Sep 2021 18:13:34 +0200 Subject: [PATCH] Added discord nick command --- .../proxydiscordlink/bot/DiscordCommand.java | 8 +-- .../bot/commands/DiscordNick.java | 66 +++++++++++++++++++ 2 files changed, 69 insertions(+), 5 deletions(-) create mode 100644 src/main/java/com/alttd/proxydiscordlink/bot/commands/DiscordNick.java diff --git a/src/main/java/com/alttd/proxydiscordlink/bot/DiscordCommand.java b/src/main/java/com/alttd/proxydiscordlink/bot/DiscordCommand.java index 5103dbf..7363ae0 100644 --- a/src/main/java/com/alttd/proxydiscordlink/bot/DiscordCommand.java +++ b/src/main/java/com/alttd/proxydiscordlink/bot/DiscordCommand.java @@ -1,9 +1,6 @@ package com.alttd.proxydiscordlink.bot; -import com.alttd.proxydiscordlink.bot.commands.DiscordLinkCommand; -import com.alttd.proxydiscordlink.bot.commands.DiscordServerList; -import com.alttd.proxydiscordlink.bot.commands.DiscordStaffList; -import com.alttd.proxydiscordlink.bot.commands.DiscordUnlink; +import com.alttd.proxydiscordlink.bot.commands.*; import net.dv8tion.jda.api.entities.Message; import java.util.ArrayList; @@ -27,7 +24,8 @@ public abstract class DiscordCommand { loadCommand(new DiscordStaffList(), new DiscordServerList(), new DiscordLinkCommand(), - new DiscordUnlink() + new DiscordUnlink(), + new DiscordNick() ); } diff --git a/src/main/java/com/alttd/proxydiscordlink/bot/commands/DiscordNick.java b/src/main/java/com/alttd/proxydiscordlink/bot/commands/DiscordNick.java new file mode 100644 index 0000000..1960303 --- /dev/null +++ b/src/main/java/com/alttd/proxydiscordlink/bot/commands/DiscordNick.java @@ -0,0 +1,66 @@ +package com.alttd.proxydiscordlink.bot.commands; + +import com.alttd.proxydiscordlink.DiscordLink; +import com.alttd.proxydiscordlink.bot.DiscordCommand; +import com.alttd.proxydiscordlink.config.BotConfig; +import com.alttd.proxydiscordlink.objects.DiscordLinkPlayer; +import net.dv8tion.jda.api.entities.Member; +import net.dv8tion.jda.api.entities.Message; +import net.dv8tion.jda.api.entities.MessageChannel; + +public class DiscordNick extends DiscordCommand { + @Override + public String getCommand() { + return "nick"; + } + + @Override + public String getPermission() { + return null; + } + + @Override + public String getDescription() { + return "Change your name between your Minecraft username and Minecraft nickname."; + } + + @Override + public String getSyntax() { + return "nick "; + } + + @Override + public void handleCommand(Message message, String sender, String command, String[] args) { + MessageChannel channel = message.getChannel(); + if (args.length != 1) { + channel.sendMessage("The correct syntax is: `" + + BotConfig.prefixMap.get(message.getGuild().getIdLong()) + + getSyntax() + "`.").queue(); + return; + } + + Member member = message.getMember(); + DiscordLinkPlayer discordLinkPlayer = DiscordLinkPlayer.getDiscordLinkPlayer(member.getIdLong()); + if (discordLinkPlayer == null) { + channel.sendMessage("You aren't linked, please link before using this command.").queue(); + return; + } + + switch (args[0].toLowerCase()) { + case "username" -> { + member.modifyNickname(discordLinkPlayer.getUsername()).queue(); + channel.sendMessage("Your nickname has been set to `" + discordLinkPlayer.getUsername() + "`.").queue(); + } + case "nickname" -> { + String nick = DiscordLink.getPlugin().getDatabase().getNick(discordLinkPlayer.getUuid()); + if (nick.isBlank()) + nick = discordLinkPlayer.getUsername(); + member.modifyNickname(nick).queue(); + channel.sendMessage("Your nickname has been set to `" + nick + "`.").queue(); + } + default -> channel.sendMessage("The correct syntax is: `" + + BotConfig.prefixMap.get(message.getGuild().getIdLong()) + + getSyntax() + "`.").queue(); + } + } +}