diff --git a/pom.xml b/pom.xml index 6230bf1..c26cd06 100644 --- a/pom.xml +++ b/pom.xml @@ -11,6 +11,7 @@ 21 21 + 21 UTF-8 diff --git a/src/main/java/de/ph87/kleinanzeigen/telegram/InlineCommand.java b/src/main/java/de/ph87/kleinanzeigen/telegram/InlineCommand.java index ff2c09b..30f9d2a 100644 --- a/src/main/java/de/ph87/kleinanzeigen/telegram/InlineCommand.java +++ b/src/main/java/de/ph87/kleinanzeigen/telegram/InlineCommand.java @@ -1,5 +1,5 @@ package de.ph87.kleinanzeigen.telegram; public enum InlineCommand { - HIDE, REMEMBER, UNREMEMBER + HIDE, REMEMBER, UNREMEMBER, UNDO } diff --git a/src/main/java/de/ph87/kleinanzeigen/telegram/TelegramAdapter.java b/src/main/java/de/ph87/kleinanzeigen/telegram/TelegramAdapter.java index 3c2d33b..6e2a288 100644 --- a/src/main/java/de/ph87/kleinanzeigen/telegram/TelegramAdapter.java +++ b/src/main/java/de/ph87/kleinanzeigen/telegram/TelegramAdapter.java @@ -7,7 +7,11 @@ import de.ph87.kleinanzeigen.telegram.chat.ChatDto; import de.ph87.kleinanzeigen.telegram.chat.ChatService; import de.ph87.kleinanzeigen.telegram.chat.message.MessageDto; import de.ph87.kleinanzeigen.telegram.chat.message.MessageService; -import de.ph87.kleinanzeigen.telegram.request.*; +import de.ph87.kleinanzeigen.telegram.request.ChatRequestEnable; +import de.ph87.kleinanzeigen.telegram.request.ChatRequestHelp; +import de.ph87.kleinanzeigen.telegram.request.ChatRequestUndo; +import de.ph87.kleinanzeigen.telegram.request.MessageRequestHide; +import de.ph87.kleinanzeigen.telegram.request.MessageRequestRemember; import jakarta.annotation.PostConstruct; import jakarta.annotation.PreDestroy; import lombok.NonNull; @@ -40,6 +44,8 @@ import java.util.List; @RequiredArgsConstructor public class TelegramAdapter { + private static final String ICON_UNDO = "⎌"; + private static final String ICON_CHECK = "✅"; private static final String ICON_REMOVE = "❌"; @@ -209,7 +215,8 @@ public class TelegramAdapter { addButton(row, ICON_CHECK + ICON_CHECK + ICON_CHECK + " Gemerkt " + ICON_CHECK + ICON_CHECK + ICON_CHECK, InlineCommand.UNREMEMBER); } else { addButton(row, ICON_REMOVE + " Entfernen", InlineCommand.HIDE); - addButton(row, ICON_CHECK + " Merken", InlineCommand.REMEMBER); +// addButton(row, ICON_CHECK + " Merken", InlineCommand.REMEMBER); + addButton(row, ICON_UNDO + " Rückgängig", InlineCommand.UNDO); } keyboard.add(row); markup.setKeyboard(keyboard); diff --git a/src/main/java/de/ph87/kleinanzeigen/telegram/TelegramBot.java b/src/main/java/de/ph87/kleinanzeigen/telegram/TelegramBot.java index 7c492ab..1f300b5 100644 --- a/src/main/java/de/ph87/kleinanzeigen/telegram/TelegramBot.java +++ b/src/main/java/de/ph87/kleinanzeigen/telegram/TelegramBot.java @@ -2,7 +2,11 @@ package de.ph87.kleinanzeigen.telegram; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; -import de.ph87.kleinanzeigen.telegram.request.*; +import de.ph87.kleinanzeigen.telegram.request.ChatRequestEnable; +import de.ph87.kleinanzeigen.telegram.request.ChatRequestHelp; +import de.ph87.kleinanzeigen.telegram.request.ChatRequestUndo; +import de.ph87.kleinanzeigen.telegram.request.MessageRequestHide; +import de.ph87.kleinanzeigen.telegram.request.MessageRequestRemember; import jakarta.annotation.PreDestroy; import lombok.NonNull; import lombok.extern.slf4j.Slf4j; @@ -76,7 +80,7 @@ public class TelegramBot extends TelegramLongPollingBot { switch (command[0]) { case "start" -> publisher.publishEvent(new ChatRequestEnable(this, message, true)); case "stop" -> publisher.publishEvent(new ChatRequestEnable(this, message, false)); - case "r", "undo", "rückgängig" -> publisher.publishEvent(new ChatRequestUndo(this, message)); + case "u", "r", "undo", "rückgängig" -> publisher.publishEvent(new ChatRequestUndo(this, message)); case "h", "hilfe", "help" -> publisher.publishEvent(new ChatRequestHelp(this, message)); } delete(new TlgMessage(this, message)); @@ -90,6 +94,7 @@ public class TelegramBot extends TelegramLongPollingBot { case HIDE -> hide(message); case REMEMBER -> publisher.publishEvent(new MessageRequestRemember(this, message, true)); case UNREMEMBER -> publisher.publishEvent(new MessageRequestRemember(this, message, false)); + case UNDO -> publisher.publishEvent(new ChatRequestUndo(this, message)); } } catch (JsonProcessingException e) { log.error("Failed to read InlineDto.", e); diff --git a/src/main/java/de/ph87/kleinanzeigen/telegram/request/ChatRequestUndo.java b/src/main/java/de/ph87/kleinanzeigen/telegram/request/ChatRequestUndo.java index fac4b72..86b8d3a 100644 --- a/src/main/java/de/ph87/kleinanzeigen/telegram/request/ChatRequestUndo.java +++ b/src/main/java/de/ph87/kleinanzeigen/telegram/request/ChatRequestUndo.java @@ -4,12 +4,12 @@ import de.ph87.kleinanzeigen.telegram.TelegramBot; import de.ph87.kleinanzeigen.telegram.TlgChat; import lombok.Getter; import lombok.NonNull; -import org.telegram.telegrambots.meta.api.objects.Message; +import org.telegram.telegrambots.meta.api.objects.MaybeInaccessibleMessage; @Getter public class ChatRequestUndo extends TlgChat { - public ChatRequestUndo(@NonNull final TelegramBot bot, @NonNull final Message message) { + public ChatRequestUndo(@NonNull final TelegramBot bot, @NonNull final MaybeInaccessibleMessage message) { super(bot, message); }