REFACTOR
This commit is contained in:
parent
1bcecaac51
commit
25804e0680
@ -133,7 +133,10 @@ public class TelegramAdapter {
|
|||||||
|
|
||||||
private boolean mayDelete(final @NonNull MessageDto message) {
|
private boolean mayDelete(final @NonNull MessageDto message) {
|
||||||
if (message.needsToBeDeleted()) {
|
if (message.needsToBeDeleted()) {
|
||||||
TlgMessage.of(message).ifPresent(this::delete);
|
TlgMessage.of(message).ifPresent(tlgMessage -> {
|
||||||
|
bot.delete(tlgMessage);
|
||||||
|
messageService.markDeleted(tlgMessage);
|
||||||
|
});
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
@ -215,14 +218,4 @@ public class TelegramAdapter {
|
|||||||
row.add(new InlineKeyboardButton(caption, null, data, null, null, null, null, null, null));
|
row.add(new InlineKeyboardButton(caption, null, data, null, null, null, null, null, null));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void delete(@NonNull final TlgMessage tlgMessage) {
|
|
||||||
try {
|
|
||||||
log.info("Removing Message tlgMessage={}", tlgMessage);
|
|
||||||
bot.execute(tlgMessage.newDeleteMessage());
|
|
||||||
messageService.markDeleted(tlgMessage);
|
|
||||||
} catch (TelegramApiException e) {
|
|
||||||
log.error("Failed to remove Message tlgMessage={}", tlgMessage);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -77,7 +77,7 @@ public class TelegramBot extends TelegramLongPollingBot {
|
|||||||
case "undo" -> publisher.publishEvent(new ChatRequestUndo(message));
|
case "undo" -> publisher.publishEvent(new ChatRequestUndo(message));
|
||||||
case "stop" -> publisher.publishEvent(new ChatRequestEnable(message, false));
|
case "stop" -> publisher.publishEvent(new ChatRequestEnable(message, false));
|
||||||
}
|
}
|
||||||
remove(new TlgMessage(message));
|
delete(new TlgMessage(message));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void handleCallback(@NonNull final CallbackQuery callback) {
|
private void handleCallback(@NonNull final CallbackQuery callback) {
|
||||||
@ -85,7 +85,7 @@ public class TelegramBot extends TelegramLongPollingBot {
|
|||||||
try {
|
try {
|
||||||
final InlineDto dto = objectMapper.readValue(callback.getData(), InlineDto.class);
|
final InlineDto dto = objectMapper.readValue(callback.getData(), InlineDto.class);
|
||||||
switch (dto.getCommand()) {
|
switch (dto.getCommand()) {
|
||||||
case HIDE -> publisher.publishEvent(new MessageRequestHide(message));
|
case HIDE -> hide(message);
|
||||||
case REMEMBER -> publisher.publishEvent(new MessageRequestRemember(message, true));
|
case REMEMBER -> publisher.publishEvent(new MessageRequestRemember(message, true));
|
||||||
case UNREMEMBER -> publisher.publishEvent(new MessageRequestRemember(message, false));
|
case UNREMEMBER -> publisher.publishEvent(new MessageRequestRemember(message, false));
|
||||||
}
|
}
|
||||||
@ -94,7 +94,13 @@ public class TelegramBot extends TelegramLongPollingBot {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void remove(@NonNull final TlgMessage tlgMessage) {
|
private void hide(final MaybeInaccessibleMessage message) {
|
||||||
|
final MessageRequestHide event = new MessageRequestHide(message);
|
||||||
|
delete(event);
|
||||||
|
publisher.publishEvent(event);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void delete(@NonNull final TlgMessage tlgMessage) {
|
||||||
try {
|
try {
|
||||||
log.info("Removing TlgMessage: tlgMessage={}", tlgMessage);
|
log.info("Removing TlgMessage: tlgMessage={}", tlgMessage);
|
||||||
execute(new DeleteMessage(tlgMessage.chatId + "", tlgMessage.messageId));
|
execute(new DeleteMessage(tlgMessage.chatId + "", tlgMessage.messageId));
|
||||||
|
|||||||
@ -3,7 +3,6 @@ package de.ph87.kleinanzeigen.telegram;
|
|||||||
import de.ph87.kleinanzeigen.telegram.chat.message.MessageDto;
|
import de.ph87.kleinanzeigen.telegram.chat.message.MessageDto;
|
||||||
import lombok.NonNull;
|
import lombok.NonNull;
|
||||||
import lombok.ToString;
|
import lombok.ToString;
|
||||||
import org.telegram.telegrambots.meta.api.methods.updatingmessages.DeleteMessage;
|
|
||||||
import org.telegram.telegrambots.meta.api.objects.MaybeInaccessibleMessage;
|
import org.telegram.telegrambots.meta.api.objects.MaybeInaccessibleMessage;
|
||||||
|
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
@ -31,9 +30,4 @@ public class TlgMessage {
|
|||||||
return Optional.of(new TlgMessage(message.getChat().getId(), message.getTelegramMessageId()));
|
return Optional.of(new TlgMessage(message.getChat().getId(), message.getTelegramMessageId()));
|
||||||
}
|
}
|
||||||
|
|
||||||
@NonNull
|
|
||||||
public DeleteMessage newDeleteMessage() {
|
|
||||||
return new DeleteMessage(chatId + "", messageId);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -45,7 +45,10 @@ public class MessageService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void setHide(@NonNull final TlgMessage tlgMessage) {
|
public void setHide(@NonNull final TlgMessage tlgMessage) {
|
||||||
set(tlgMessage, message -> message.setHide(true));
|
set(tlgMessage, message -> {
|
||||||
|
message.setHide(true);
|
||||||
|
message.setTelegramMessageId(null);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setRemember(@NonNull final TlgMessage tlgMessage, final boolean remember) {
|
public void setRemember(@NonNull final TlgMessage tlgMessage, final boolean remember) {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user