Переход на новую версию telegram-bot

This commit is contained in:
Struchkov Mark 2022-12-12 13:36:54 +03:00
parent 695a4703dc
commit 4a27696670
3 changed files with 13 additions and 17 deletions

View File

@ -44,7 +44,7 @@
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<godfather.telegram.core.version>0.0.39</godfather.telegram.core.version>
<godfather.telegram.core.version>0.0.40</godfather.telegram.core.version>
<javax.persistance.version>2.2</javax.persistance.version>

View File

@ -19,11 +19,10 @@ import dev.struchkov.godfather.telegram.domain.config.TelegramConnectConfig;
import dev.struchkov.godfather.telegram.main.context.TelegramConnect;
import dev.struchkov.godfather.telegram.simple.consumer.EventDistributorService;
import dev.struchkov.godfather.telegram.simple.context.service.EventDistributor;
import dev.struchkov.godfather.telegram.simple.context.service.SenderStorageService;
import dev.struchkov.godfather.telegram.simple.context.service.TelegramSending;
import dev.struchkov.godfather.telegram.simple.core.MailAutoresponderTelegram;
import dev.struchkov.godfather.telegram.simple.core.TelegramConnectBot;
import dev.struchkov.godfather.telegram.simple.core.service.SenderMapStorageService;
import dev.struchkov.godfather.telegram.simple.core.service.SenderMapRepository;
import dev.struchkov.godfather.telegram.simple.sender.TelegramSender;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
@ -78,20 +77,14 @@ public class TelegramBotConfig {
return autoresponder;
}
@Bean
public SenderStorageService senderStorageService() {
return new SenderMapStorageService();
}
@Bean
public TelegramSending sending(
TelegramConnect telegramConnect,
SenderStorageService senderStorageService,
ReplaceUrlLocalhost replaceUrlLocalhost
) {
final TelegramSender telegramSender = new TelegramSender(telegramConnect);
telegramSender.setSendPreProcessing(replaceUrlLocalhost);
telegramSender.setSenderRepository(senderStorageService);
telegramSender.addPreSendProcess(replaceUrlLocalhost);
telegramSender.setSenderRepository(new SenderMapRepository());
return telegramSender;
}

View File

@ -1,10 +1,13 @@
package dev.struchkov.bot.gitlab.telegram.service;
import dev.struchkov.bot.gitlab.core.config.properties.GitlabProperty;
import dev.struchkov.godfather.telegram.simple.sender.SendPreProcessing;
import dev.struchkov.godfather.main.domain.BoxAnswer;
import dev.struchkov.godfather.simple.context.service.PreSendProcessing;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Component;
import static dev.struchkov.haiti.utils.Checker.checkNotNull;
/**
* Заменяет урл, который назначает гитлаб на любой другой перед отправкой сообщения. Потому что иногда у self-host гитлабов урлы, которые не преобразуются телеграммом в ссылки. В этом случае имеет смысл менять их на ip.
*
@ -12,16 +15,16 @@ import org.springframework.stereotype.Component;
*/
@Component
@RequiredArgsConstructor
public class ReplaceUrlLocalhost implements SendPreProcessing {
public class ReplaceUrlLocalhost implements PreSendProcessing {
private final GitlabProperty property;
@Override
public String pretreatment(String s) {
if (property.getReplaceUrl() != null && !"${GITLAB_REPLACE_URL}".equals(property.getReplaceUrl())) {
return s.replace(property.getReplaceUrl(), property.getBaseUrl());
public BoxAnswer pretreatment(BoxAnswer boxAnswer) {
if (checkNotNull(property.getReplaceUrl()) && !"${GITLAB_REPLACE_URL}".equals(property.getReplaceUrl())) {
boxAnswer.setMessage(boxAnswer.getMessage().replace(property.getReplaceUrl(), property.getBaseUrl()));
}
return s;
return boxAnswer;
}
}