Added discord nick command

This commit is contained in:
Teriuihi 2021-09-16 18:13:34 +02:00
parent 6afb451be1
commit 7a0d49fcb6
2 changed files with 69 additions and 5 deletions

View File

@ -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()
);
}

View File

@ -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 <username/nickname>";
}
@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();
}
}
}