Undo-Button
This commit is contained in:
parent
36324f2723
commit
c6fb375995
1
pom.xml
1
pom.xml
@ -11,6 +11,7 @@
|
|||||||
<properties>
|
<properties>
|
||||||
<maven.compiler.source>21</maven.compiler.source>
|
<maven.compiler.source>21</maven.compiler.source>
|
||||||
<maven.compiler.target>21</maven.compiler.target>
|
<maven.compiler.target>21</maven.compiler.target>
|
||||||
|
<maven.compiler.release>21</maven.compiler.release>
|
||||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
</properties>
|
</properties>
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
package de.ph87.kleinanzeigen.telegram;
|
package de.ph87.kleinanzeigen.telegram;
|
||||||
|
|
||||||
public enum InlineCommand {
|
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.ChatService;
|
||||||
import de.ph87.kleinanzeigen.telegram.chat.message.MessageDto;
|
import de.ph87.kleinanzeigen.telegram.chat.message.MessageDto;
|
||||||
import de.ph87.kleinanzeigen.telegram.chat.message.MessageService;
|
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.PostConstruct;
|
||||||
import jakarta.annotation.PreDestroy;
|
import jakarta.annotation.PreDestroy;
|
||||||
import lombok.NonNull;
|
import lombok.NonNull;
|
||||||
@ -40,6 +44,8 @@ import java.util.List;
|
|||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
public class TelegramAdapter {
|
public class TelegramAdapter {
|
||||||
|
|
||||||
|
private static final String ICON_UNDO = "⎌";
|
||||||
|
|
||||||
private static final String ICON_CHECK = "✅";
|
private static final String ICON_CHECK = "✅";
|
||||||
|
|
||||||
private static final String ICON_REMOVE = "❌";
|
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);
|
addButton(row, ICON_CHECK + ICON_CHECK + ICON_CHECK + " Gemerkt " + ICON_CHECK + ICON_CHECK + ICON_CHECK, InlineCommand.UNREMEMBER);
|
||||||
} else {
|
} else {
|
||||||
addButton(row, ICON_REMOVE + " Entfernen", InlineCommand.HIDE);
|
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);
|
keyboard.add(row);
|
||||||
markup.setKeyboard(keyboard);
|
markup.setKeyboard(keyboard);
|
||||||
|
|||||||
@ -2,7 +2,11 @@ package de.ph87.kleinanzeigen.telegram;
|
|||||||
|
|
||||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
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 jakarta.annotation.PreDestroy;
|
||||||
import lombok.NonNull;
|
import lombok.NonNull;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
@ -76,7 +80,7 @@ public class TelegramBot extends TelegramLongPollingBot {
|
|||||||
switch (command[0]) {
|
switch (command[0]) {
|
||||||
case "start" -> publisher.publishEvent(new ChatRequestEnable(this, message, true));
|
case "start" -> publisher.publishEvent(new ChatRequestEnable(this, message, true));
|
||||||
case "stop" -> publisher.publishEvent(new ChatRequestEnable(this, message, false));
|
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));
|
case "h", "hilfe", "help" -> publisher.publishEvent(new ChatRequestHelp(this, message));
|
||||||
}
|
}
|
||||||
delete(new TlgMessage(this, message));
|
delete(new TlgMessage(this, message));
|
||||||
@ -90,6 +94,7 @@ public class TelegramBot extends TelegramLongPollingBot {
|
|||||||
case HIDE -> hide(message);
|
case HIDE -> hide(message);
|
||||||
case REMEMBER -> publisher.publishEvent(new MessageRequestRemember(this, message, true));
|
case REMEMBER -> publisher.publishEvent(new MessageRequestRemember(this, message, true));
|
||||||
case UNREMEMBER -> publisher.publishEvent(new MessageRequestRemember(this, message, false));
|
case UNREMEMBER -> publisher.publishEvent(new MessageRequestRemember(this, message, false));
|
||||||
|
case UNDO -> publisher.publishEvent(new ChatRequestUndo(this, message));
|
||||||
}
|
}
|
||||||
} catch (JsonProcessingException e) {
|
} catch (JsonProcessingException e) {
|
||||||
log.error("Failed to read InlineDto.", 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 de.ph87.kleinanzeigen.telegram.TlgChat;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.NonNull;
|
import lombok.NonNull;
|
||||||
import org.telegram.telegrambots.meta.api.objects.Message;
|
import org.telegram.telegrambots.meta.api.objects.MaybeInaccessibleMessage;
|
||||||
|
|
||||||
@Getter
|
@Getter
|
||||||
public class ChatRequestUndo extends TlgChat {
|
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);
|
super(bot, message);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user