private void stageChangeToOriginalRegion(CommandMessage context, Message message, Region region, Region swapRegion) { message.editMessage(buildTodoEmbed(context, swapRegion, region, true, false)) .queue(editMessage -> context.getGuild().getManager().setRegion(region).queueAfter(2500, TimeUnit.MILLISECONDS, bVoid -> { stageChangeHasFinished(context, editMessage, region, swapRegion); }, error -> logError(context, error) ), error -> logError(context, error)); }
@Override public boolean onCommand(CommandMessage context, String[] args) { Region region = context.getGuild().getRegion(); Region swapRegion = getRandomRegion(region); // Start the swapping process by sending the first status message and changing the server region to the swap region. context.getMessageChannel() .sendMessage(buildTodoEmbed(context, swapRegion, region, false, false)) .queue(message -> context.getGuild().getManager().setRegion(swapRegion).queue(aVoid -> { stageChangeToOriginalRegion(context, message, region, swapRegion); }, error -> logError(context, error) ), error -> logError(context, error)); return true; }