package com.juick.server.configuration; import com.juick.server.TelegramBotManager; import com.juick.server.XMPPBot; import com.juick.server.component.LikeEvent; import com.juick.server.component.MessageEvent; import com.juick.server.component.SubscribeEvent; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.context.ApplicationListener; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import javax.inject.Inject; @Configuration public class EventsConfiguration { private static Logger logger = LoggerFactory.getLogger(EventsConfiguration.class); @Inject private TelegramBotManager telegramBotManager; @Inject private XMPPBot bot; @Bean ApplicationListener messageListener() { return event -> { logger.info("MessageEvent: {}", event.getMessage()); telegramBotManager.processMessage(event.getMessage()); bot.processMessage(event.getMessage()); }; } @Bean ApplicationListener likeListener() { return event -> { logger.info("LikeEvent: {} -> {}", event.getUser().getName(), event.getMessage()); telegramBotManager.processLike(event.getUser(), event.getMessage()); }; } @Bean ApplicationListener subscribeListener() { return event -> { logger.info("SubscribeEvent: {} -> {}", event.getUser().getName(), event.getToUser().getName()); telegramBotManager.processSubscribe(event.getUser(), event.getToUser()); }; } }