REFACTOR
This commit is contained in:
parent
1bcecaac51
commit
25804e0680
@ -133,7 +133,10 @@ public class TelegramAdapter {
|
||||
|
||||
private boolean mayDelete(final @NonNull MessageDto message) {
|
||||
if (message.needsToBeDeleted()) {
|
||||
TlgMessage.of(message).ifPresent(this::delete);
|
||||
TlgMessage.of(message).ifPresent(tlgMessage -> {
|
||||
bot.delete(tlgMessage);
|
||||
messageService.markDeleted(tlgMessage);
|
||||
});
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
@ -215,14 +218,4 @@ public class TelegramAdapter {
|
||||
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 "stop" -> publisher.publishEvent(new ChatRequestEnable(message, false));
|
||||
}
|
||||
remove(new TlgMessage(message));
|
||||
delete(new TlgMessage(message));
|
||||
}
|
||||
|
||||
private void handleCallback(@NonNull final CallbackQuery callback) {
|
||||
@ -85,7 +85,7 @@ public class TelegramBot extends TelegramLongPollingBot {
|
||||
try {
|
||||
final InlineDto dto = objectMapper.readValue(callback.getData(), InlineDto.class);
|
||||
switch (dto.getCommand()) {
|
||||
case HIDE -> publisher.publishEvent(new MessageRequestHide(message));
|
||||
case HIDE -> hide(message);
|
||||
case REMEMBER -> publisher.publishEvent(new MessageRequestRemember(message, true));
|
||||
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 {
|
||||
log.info("Removing TlgMessage: tlgMessage={}", tlgMessage);
|
||||
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 lombok.NonNull;
|
||||
import lombok.ToString;
|
||||
import org.telegram.telegrambots.meta.api.methods.updatingmessages.DeleteMessage;
|
||||
import org.telegram.telegrambots.meta.api.objects.MaybeInaccessibleMessage;
|
||||
|
||||
import java.util.Optional;
|
||||
@ -31,9 +30,4 @@ public class TlgMessage {
|
||||
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) {
|
||||
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) {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user