Как сократить количество констант? Они отличаются по сути только вначале имени и получается, что можно легко запутаться. Нужно ли мне создавать для них отдельные классы или что-то ещё?
public static final String PZV_COVER = "AgACAgIAAxkBAAIBx2KTdP4CNbqTZfv7Hm7TqGAugkdSAAKIvjEbUaqZSPwL-Up482owAQADAgADeQADJAQ";
public static final String PZV_NAME = "Параллельно задавая вопрос";
public static final String PZV_DESC = """
Сборник из пяти произведений\\. Подробные аннотации внутри\\.
*Под покровом единства*
Существует вуз, где запрещена дружба, и всех обучают рассчитывать только на себя\\.
*Корректировка*
В прошлом случайный спор друзей из компании повлиял на их судьбу в настоящем\\.
*Лунные тени*
Хождение во сне жителей общаги и кровавые истории под утро\\.
*Звезда*
Сказка о том, как на Землю упала Звезда\\.
*Понимания ноль*
Дружба между парнем и девушкой существует и поддерживается государством, давая им невероятные способности\\.""";
public static final String PZV_RIDERO = "https://ridero.ru/books/parallelno_zadavaya_vopros/";
public static final String PZV_LITRES = "https://www.litres.ru/daniil-apasov/parallelno-zadavaya-vopros-pod-pokrovom-edinstva-korrektirov/";
public static final String PZV_WILDBERRIES = "https://www.wildberries.ru/catalog/36734671/detail.aspx?targetUrl=SN";
public static final String PZV_OZON = "https://www.ozon.ru/product/parallelno-zadavaya-vopros-168137107/?sh=qwZ99MK_wQ";
public static final String PZV_ALIEXPRESS = "https://aliexpress.ru/item/1005002349414876.html?gatewayAdapt=glo2rus&sku_id=12000020229783418";
public static final String PZV_AMAZON = "https://www.amazon.com/dp/B084Q3G56J";
public static final String POD_COVER = "AgACAgIAAxkBAAICIWKV6rrWZCfAVHeZRb600fEdhUUtAALFuTEbgvKxSGOQfTzAxJOgAQADAgADeQADJAQ";
public static final String POD_NAME = "Под покровом единства";
public static final String POD_DESC = "Никогда не задумывались, что друзья — это ваша слабость? Иногда вы" +
"рискуете всем ради них\\. Государство и учебные заведения об этом не расскажут, кроме одного вуза со" +
"спецпрограммой, который сделает из каждого студента личность\\. Где все связи будут запрещены\\." +
"Самостоятельность во главе всего\\. Все ли смогут пройти такую школу жизни?";
public static final String KORR_COVER = "AgACAgIAAxkBAAICHWKV6h4KSQAB0Cw-9YYzNmKqQYlBbAACwrkxG4LysUioRIR5O_3J4wEAAwIAA3kAAyQE";
public static final String KORR_NAME = "Корректировка";
public static final String KORR_DESC = "Каждый из нас задумывается о такой штуке, как судьба\\. Что привело нас к" +
"сегодняшнему дню? Друзья, знакомые, парни и девушки\\. Все ли эти отношения образовались сами собой, или," +
"быть может, кто\\-то из твоих близких друзей всего лишь хорошо разыграл все карты несколько лет назад?";
public static final String LUNN_COVER = "AgACAgIAAxkBAAICH2KV6lrfNbsYfnqVDQwV1uhexKUGAALDuTEbgvKxSBEP75XimlVwAQADAgADeQADJAQ";
public static final String LUNN_NAME = "Лунные тени";
private static final String LUNN_DESC = "Общежитие при университете — особый период в жизни каждого человека\\." +
"Здесь происходит в основном много приятных событий, запоминающихся на всю жизнь\\. Однако судьбы трёх" +
"друзей это место однажды навсегда изменит\\. Им предстоит череда ночей, когда редко все оставались к " +
"утру живы\\. Что же делать в ситуации, когда врагом является твой спящий друг?";
public static final String ZVEZDA_COVER = "AgACAgIAAxkBAAICG2KV6b_hGJ0jk_yHtzUWmfXrs0K-AALBuTEbgvKxSE55vwxxNxcxAQADAgADeQADJAQ";
public static final String ZVEZDA_NAME = "Звезда";
private static final String ZVEZDA_DESC = "Детские мечты не всегда сбываются так, как вы того хотели\\. " +
"Кирили, обычный парень, которому предстоит испытать невероятные впечатления, когда он всё же сможет " +
"прикоснуться к своей мечте\\. Сможет ли он совладать с человеческими пороками и спасти Землю от уничтожения?";
public static final String PON_COVER = "AgACAgIAAxkBAAICI2KV6u5ALDMcSPP4WPsvdr5iBJ1hAALGuTEbgvKxSGlGhmGbA1qtAQADAgADeQADJAQ";
public static final String PON_NAME = "Понимания ноль";
private static final String PON_DESC = "Привет\\. Я тут рассказал неординарную историю нашего путешествия и " +
"немного о нашем мире\\. Представляете, у нас дружба между парнем и девушкой возможна\\. Причем на " +
"законодательном уровне\\. Мы начинаем обладать особыми силами, но это уже подробнее внутри\\. Возможно, " +
"ваша жизненная ситуация похожа на нашу, и вы являетесь таким другом противоположному себе полу, а?";
String BOOK_COVER;
String BOOK_NAME;
String BOOK_DESC;
@Override
public String getBotUsername() {
return "Magistrmate_bot";
}
@Override
public String getBotToken() {
return BotConfig.BOT_TOKEN;
}
@Override
public void onUpdateReceived(Update update) {
Message message = update.getMessage();
if (update.hasMessage()) {
if (message.getText().equals("/start")) {
createMessage(message, "Добро пожаловать " + message.getFrom().getFirstName() + "\\!\n" +
"Мы можем перейти сразу к книгам или пообщаться\\. Я пока в процессе познания вашего мира," +
" поэтому пишите и если не пойму, то выдам вам подсказки\\.");
} else if (update.getMessage().getText().toLowerCase(Locale.ROOT).contains("привет")) {
createMessage(message, "Дороу");
} else if (update.getMessage().getText().toLowerCase(Locale.ROOT).contains("книг") ||
update.getMessage().getText().toLowerCase(Locale.ROOT).contains("книж")) {
createMediaGroup(message);
createPhoto(update, message);
} else
createMessage(message, "Давайте вместе разберемся, чем я могу помочь");
} else if (update.hasCallbackQuery()) {
Message backMessage = update.getCallbackQuery().getMessage();
if (update.getCallbackQuery().getData().equals("NextBook") ||
update.getCallbackQuery().getData().equals("PreviousBook")) {
if (update.getCallbackQuery().getData().equals("NextBook")) {
if (backMessage.getCaption().contains(PZV_NAME)) {
whichBook(POD_COVER, POD_NAME, POD_DESC);
} else if (backMessage.getCaption().contains(POD_NAME)) {
whichBook(KORR_COVER, KORR_NAME, KORR_DESC);
} else if (backMessage.getCaption().contains(KORR_NAME)) {
whichBook(LUNN_COVER, LUNN_NAME, LUNN_DESC);
} else if (backMessage.getCaption().contains(LUNN_NAME)) {
whichBook(ZVEZDA_COVER, ZVEZDA_NAME, ZVEZDA_DESC);
} else if (backMessage.getCaption().contains(ZVEZDA_NAME)) {
whichBook(PON_COVER, PON_NAME, PON_DESC);
} else if (backMessage.getCaption().contains(PON_NAME)) {
whichBook(PZV_COVER, PZV_NAME, PZV_DESC);
}
} else if (update.getCallbackQuery().getData().equals("PreviousBook")) {
if (backMessage.getCaption().contains(PZV_NAME)) {
whichBook(PON_COVER, PON_NAME, PON_DESC);
} else if (backMessage.getCaption().contains(POD_NAME)) {
whichBook(PZV_COVER, PZV_NAME, PZV_DESC);
} else if (backMessage.getCaption().contains(KORR_NAME)) {
whichBook(POD_COVER, POD_NAME, POD_DESC);
} else if (backMessage.getCaption().contains(LUNN_NAME)) {
whichBook(KORR_COVER, KORR_NAME, KORR_DESC);
} else if (backMessage.getCaption().contains(ZVEZDA_NAME)) {
whichBook(LUNN_COVER, LUNN_NAME, LUNN_DESC);
} else if (backMessage.getCaption().contains(PON_NAME)) {
whichBook(ZVEZDA_COVER, ZVEZDA_NAME, ZVEZDA_DESC);
}
}
InputMedia cover = new InputMediaPhoto();
cover.setMedia(BOOK_COVER);
cover.setCaption("*" + BOOK_NAME + "*\n" + BOOK_DESC);
cover.setParseMode(ParseMode.MARKDOWNV2);
EditMessageMedia replacePhoto = new EditMessageMedia();
replacePhoto.setMedia(cover);
replacePhoto.setChatId(backMessage.getChatId().toString());
replacePhoto.setMessageId(Integer.valueOf(backMessage.getMessageId().toString()));
InlineKeyboardMarkup inlineKeyboard = new InlineKeyboardMarkup();
createFirstKeyboard(update, inlineKeyboard);
replacePhoto.setReplyMarkup(inlineKeyboard);
try {
execute(replacePhoto);
} catch (TelegramApiException e) {
e.printStackTrace();
}
} else if (update.getCallbackQuery().getData().equals("ExcerptBook")) {