Переход на новую версию 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.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <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> <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.main.context.TelegramConnect;
import dev.struchkov.godfather.telegram.simple.consumer.EventDistributorService; 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.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.context.service.TelegramSending;
import dev.struchkov.godfather.telegram.simple.core.MailAutoresponderTelegram; import dev.struchkov.godfather.telegram.simple.core.MailAutoresponderTelegram;
import dev.struchkov.godfather.telegram.simple.core.TelegramConnectBot; 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 dev.struchkov.godfather.telegram.simple.sender.TelegramSender;
import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
@ -78,20 +77,14 @@ public class TelegramBotConfig {
return autoresponder; return autoresponder;
} }
@Bean
public SenderStorageService senderStorageService() {
return new SenderMapStorageService();
}
@Bean @Bean
public TelegramSending sending( public TelegramSending sending(
TelegramConnect telegramConnect, TelegramConnect telegramConnect,
SenderStorageService senderStorageService,
ReplaceUrlLocalhost replaceUrlLocalhost ReplaceUrlLocalhost replaceUrlLocalhost
) { ) {
final TelegramSender telegramSender = new TelegramSender(telegramConnect); final TelegramSender telegramSender = new TelegramSender(telegramConnect);
telegramSender.setSendPreProcessing(replaceUrlLocalhost); telegramSender.addPreSendProcess(replaceUrlLocalhost);
telegramSender.setSenderRepository(senderStorageService); telegramSender.setSenderRepository(new SenderMapRepository());
return telegramSender; return telegramSender;
} }

View File

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