Добавил логирование вебхуков
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
parent
c2d9b5db78
commit
2f3d7b9b10
@ -15,17 +15,19 @@ public class TelegramWebhookConnect implements TelegramConnect {
|
||||
private TelegramWebhookBot webhookBot;
|
||||
|
||||
public TelegramWebhookConnect(TelegramBotConfig telegramBotConfig) {
|
||||
log.info("Инициализация webhook соединения. {}", telegramBotConfig.getWebhookConfig());
|
||||
try {
|
||||
final TelegramWebhookBot bot = new TelegramWebhookBot(telegramBotConfig);
|
||||
final WebhookConfig webhookConfig = telegramBotConfig.getWebhookConfig();
|
||||
if (webhookConfig.isEnable()) {
|
||||
log.info("Инициализация webhook соединения. {}", telegramBotConfig.getWebhookConfig());
|
||||
final SetWebhook setWebhook = SetWebhook.builder()
|
||||
.url(webhookConfig.getRootUrl() + "/" + webhookConfig.getRootUrl() + "?webhookAccessKey=" + webhookConfig.getAccessKey())
|
||||
.build();
|
||||
bot.setWebhook(setWebhook);
|
||||
webhookBot = bot;
|
||||
log.info("Инициализация webhook соединения прошла успешно.");
|
||||
} else {
|
||||
log.debug("Webhook соединение не устанавливалось.");
|
||||
}
|
||||
} catch (TelegramApiException e) {
|
||||
log.error(e.getMessage());
|
||||
|
@ -19,17 +19,19 @@ public class TelegramWebhookConnect implements TelegramConnect {
|
||||
}
|
||||
|
||||
private void initWebHook(TelegramBotConfig telegramBotConfig) {
|
||||
log.info("Инициализация webhook соединения. {}", telegramBotConfig.getWebhookConfig());
|
||||
try {
|
||||
final TelegramWebhookBot bot = new TelegramWebhookBot(telegramBotConfig);
|
||||
final WebhookConfig webhookConfig = telegramBotConfig.getWebhookConfig();
|
||||
if (webhookConfig.isEnable()) {
|
||||
log.info("Инициализация webhook соединения. {}", telegramBotConfig.getWebhookConfig());
|
||||
final SetWebhook setWebhook = SetWebhook.builder()
|
||||
.url(webhookConfig.getRootUrl() + "/" + webhookConfig.getRootUrl() + "?webhookAccessKey=" + webhookConfig.getAccessKey())
|
||||
.url(webhookConfig.getRootUrl() + "/" + webhookConfig.getRootUrl() + "callback" + "?webhookAccessKey=" + webhookConfig.getAccessKey())
|
||||
.build();
|
||||
bot.setWebhook(setWebhook);
|
||||
webhookBot = bot;
|
||||
log.info("Инициализация webhook соединения прошла успешно.");
|
||||
} else {
|
||||
log.debug("Webhook соединение не устанавливалось.");
|
||||
}
|
||||
} catch (TelegramApiException e) {
|
||||
log.error(e.getMessage());
|
||||
|
@ -22,6 +22,7 @@ import static dev.struchkov.haiti.utils.Inspector.isTrue;
|
||||
@Slf4j
|
||||
public class WebhookController {
|
||||
|
||||
public static final String ERROR_ACCESS = "В доступе отказано!";
|
||||
private final String pathKey;
|
||||
private final String accessKey;
|
||||
private final EventDistributor eventDistributor;
|
||||
@ -38,12 +39,14 @@ public class WebhookController {
|
||||
@Produces(MediaType.APPLICATION_JSON)
|
||||
public Uni<Response> updateReceived(@PathParam("webhookPath") String botPath, @QueryParam("webhookAccessKey") String webhookAccessKey, Update update) {
|
||||
return Uni.createFrom().voidItem()
|
||||
.onItem().invoke(() -> {
|
||||
isTrue(pathKey.equals(botPath), accessException("В доступе отказано!"));
|
||||
isTrue(accessKey.equals(webhookAccessKey), accessException("В доступе отказано!"));
|
||||
.invoke(() -> log.trace("Получено webhook событие"))
|
||||
.invoke(() -> {
|
||||
isTrue(pathKey.equals(botPath), accessException(ERROR_ACCESS));
|
||||
isTrue(accessKey.equals(webhookAccessKey), accessException(ERROR_ACCESS));
|
||||
})
|
||||
.onItem().ignore().andSwitchTo(() -> eventDistributor.processing(update))
|
||||
.onItem().transform(ignore -> Response.ok().build());
|
||||
.invoke(() -> log.trace("Webhook событие успешно обработано"))
|
||||
.replaceWith(Response.ok().build());
|
||||
}
|
||||
|
||||
@GET
|
||||
@ -52,8 +55,8 @@ public class WebhookController {
|
||||
public Uni<String> testReceived(@PathParam("webhookPath") String botPath, @QueryParam("webhookAccessKey") String webhookAccessKey) {
|
||||
return Uni.createFrom().voidItem()
|
||||
.onItem().invoke(() -> {
|
||||
isTrue(pathKey.equals(botPath), accessException("В доступе отказано!"));
|
||||
isTrue(accessKey.equals(webhookAccessKey), accessException("В доступе отказано!"));
|
||||
isTrue(pathKey.equals(botPath), accessException(ERROR_ACCESS));
|
||||
isTrue(accessKey.equals(webhookAccessKey), accessException(ERROR_ACCESS));
|
||||
})
|
||||
.onItem().transform(ignore -> "Hi there " + botPath + "!");
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user