Undo-Button
This commit is contained in:
parent
36324f2723
commit
c6fb375995
1
pom.xml
1
pom.xml
@ -11,6 +11,7 @@
|
||||
<properties>
|
||||
<maven.compiler.source>21</maven.compiler.source>
|
||||
<maven.compiler.target>21</maven.compiler.target>
|
||||
<maven.compiler.release>21</maven.compiler.release>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
</properties>
|
||||
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
package de.ph87.kleinanzeigen.telegram;
|
||||
|
||||
public enum InlineCommand {
|
||||
HIDE, REMEMBER, UNREMEMBER
|
||||
HIDE, REMEMBER, UNREMEMBER, UNDO
|
||||
}
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user