public String inputHandler(Interaction interaction, Object data) throws ContextDataRequired, GeneralInteractionError, AbortInteraction { // first, check for pagination... PaginationAssistant paginator = interaction.getContextData( PaginationAssistant.class, interaction, getTranslationKey(interaction) + "_paginator"); if (paginator != null) { boolean paginationCommand = paginator.processPageCommand(data.toString()); if (paginationCommand) { interaction.pageWaitingForInput = true; return null; } else { // it wasn't a pagination command, so we kill the paginator // so we don't end up with a cache of old data if the player // comes back to this interaction page interaction.context.remove(getTranslationKey(interaction) + "_paginator"); } } // if we don't have pagination (or it wasn't a pagination command..) // see if we are using a choice model, or straight to direct input if (hasChoices) { Choices choices = Choices.getChoices(this, interaction); return choices.takeAction(this, interaction, data); } else return acceptValidatedInput(interaction, data); }