HidekoBot/src/main/java/wtf/beatrice/hidekobot/commands/slash/AvatarCommand.java

56 lines
1.9 KiB
Java
Raw Normal View History

2022-11-20 18:56:57 +01:00
package wtf.beatrice.hidekobot.commands.slash;
2022-11-20 17:19:40 +01:00
import net.dv8tion.jda.api.EmbedBuilder;
import net.dv8tion.jda.api.entities.MessageEmbed;
2022-11-20 17:19:40 +01:00
import net.dv8tion.jda.api.entities.User;
import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEvent;
import net.dv8tion.jda.api.interactions.commands.OptionMapping;
import net.dv8tion.jda.api.interactions.commands.OptionType;
import net.dv8tion.jda.api.interactions.commands.build.CommandData;
import net.dv8tion.jda.api.interactions.commands.build.Commands;
2022-11-20 17:19:40 +01:00
import org.jetbrains.annotations.NotNull;
2022-11-21 20:20:11 +01:00
import wtf.beatrice.hidekobot.Cache;
import wtf.beatrice.hidekobot.commands.base.Avatar;
2022-11-22 16:41:08 +01:00
import wtf.beatrice.hidekobot.objects.commands.SlashCommandImpl;
2022-11-20 17:19:40 +01:00
public class AvatarCommand extends SlashCommandImpl
2022-11-20 17:19:40 +01:00
{
@Override
public CommandData getSlashCommandData() {
return Commands.slash("avatar", "Get someone's profile picture.")
.addOption(OptionType.USER, "user", "User you want to grab the avatar of.")
.addOption(OptionType.INTEGER, "size", "The size of the returned image.",
false,
true);
}
@Override
public void runSlashCommand(@NotNull SlashCommandInteractionEvent event)
2022-11-20 17:19:40 +01:00
{
2022-11-21 12:19:35 +01:00
// defer reply because this might take a moment
2022-11-20 17:19:40 +01:00
event.deferReply().queue();
User user;
int resolution;
2022-11-20 17:19:40 +01:00
OptionMapping userArg = event.getOption("user");
if(userArg != null)
{
user = userArg.getAsUser();
} else {
user = event.getUser();
}
OptionMapping sizeArg = event.getOption("size");
if(sizeArg != null)
{
resolution = Avatar.parseResolution(sizeArg.getAsInt());
2022-11-20 17:19:40 +01:00
} else {
resolution = Avatar.parseResolution(512);
2022-11-20 17:19:40 +01:00
}
MessageEmbed embed = Avatar.buildEmbed(resolution, user);
event.getHook().editOriginalEmbeds(embed).queue();
2022-11-20 17:19:40 +01:00
}
}