Move avatar resolutions to config class
continuous-integration/drone/push Build is passing Details

This commit is contained in:
Bea 2022-11-20 19:00:27 +01:00
parent 913e8e023a
commit c44251ddb7
3 changed files with 16 additions and 4 deletions

View File

@ -17,6 +17,16 @@ public class Configuration
private static String botApplicationId = "";
// discord api returns a broken image if you don't use specific sizes (powers of 2), so we limit it to these
private static final int[] supportedAvatarResolutions = { 16, 32, 64, 128, 256, 512, 1024 };
/**
* Get an array of all the Discord-supported avatar resolutions.
* Discord's API returns a broken image if you don't use specific sizes (powers of 2).
*
* @return array of supported resolutions.
*/
public static int[] getSupportedAvatarResolutions() { return supportedAvatarResolutions; }
/**
* Checks if the bot has been started with the verbose argument.

View File

@ -3,7 +3,7 @@ package wtf.beatrice.hidekobot.commands.completer;
import net.dv8tion.jda.api.events.interaction.command.CommandAutoCompleteInteractionEvent;
import net.dv8tion.jda.api.interactions.commands.Command;
import org.jetbrains.annotations.NotNull;
import wtf.beatrice.hidekobot.commands.slash.AvatarCommand;
import wtf.beatrice.hidekobot.Configuration;
import java.util.ArrayList;
import java.util.List;
@ -18,7 +18,7 @@ public class AvatarCompleter
List<Command.Choice> options = new ArrayList<>();
for(int res : AvatarCommand.acceptedSizes)
for(int res : Configuration.getSupportedAvatarResolutions())
{
String resString = String.valueOf(res);
String userInput = event.getFocusedOption().getValue();

View File

@ -5,13 +5,12 @@ 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 org.jetbrains.annotations.NotNull;
import wtf.beatrice.hidekobot.Configuration;
import java.awt.*;
public class AvatarCommand
{
// discord api returns a broken image if you don't use specific sizes (powers of 2), so we limit it to these
public static final int[] acceptedSizes = { 16, 32, 64, 128, 256, 512, 1024 };
public AvatarCommand(@NotNull SlashCommandInteractionEvent event)
{
@ -20,6 +19,9 @@ public class AvatarCommand
User user;
int resolution;
int[] acceptedSizes = Configuration.getSupportedAvatarResolutions();
OptionMapping userArg = event.getOption("user");
if(userArg != null)
{