├── .gitignore ├── README.md ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── settings.gradle ├── src ├── main │ ├── java │ │ └── ru │ │ │ └── otus │ │ │ └── rzdtelegrambot │ │ │ ├── RZDTelegrambotApplication.java │ │ │ ├── appconfig │ │ │ └── AppConfig.java │ │ │ ├── botapi │ │ │ ├── BotState.java │ │ │ ├── BotStateContext.java │ │ │ ├── RZDTelegramBot.java │ │ │ ├── TelegramFacade.java │ │ │ └── handlers │ │ │ │ ├── InputMessageHandler.java │ │ │ │ ├── callbackquery │ │ │ │ ├── CallbackQueryFacade.java │ │ │ │ ├── CallbackQueryHandler.java │ │ │ │ ├── CallbackQueryType.java │ │ │ │ ├── SubscribeTicketsInfoQueryHandler.java │ │ │ │ ├── UnsubscribeTicketsInfoQueryHandler.java │ │ │ │ └── UserChatButtonStatus.java │ │ │ │ ├── menu │ │ │ │ ├── HelpMenuHandler.java │ │ │ │ ├── MainMenuHandler.java │ │ │ │ ├── StationsBookMenuHandler.java │ │ │ │ └── SubscriptionsMenuHandler.java │ │ │ │ └── trainsearch │ │ │ │ ├── TrainSearchHandler.java │ │ │ │ └── TrainSearchRequestData.java │ │ │ ├── botconfig │ │ │ └── RZDTelegramBotConfig.java │ │ │ ├── cache │ │ │ ├── DataCache.java │ │ │ ├── StationsCache.java │ │ │ ├── StationsDataCache.java │ │ │ └── UserDataCache.java │ │ │ ├── controller │ │ │ └── WebHookController.java │ │ │ ├── model │ │ │ ├── Car.java │ │ │ ├── Train.java │ │ │ ├── TrainStation.java │ │ │ └── UserTicketsSubscription.java │ │ │ ├── repository │ │ │ └── UserTicketsSubscriptionMongoRepository.java │ │ │ ├── service │ │ │ ├── CarsProcessingService.java │ │ │ ├── LocaleMessageService.java │ │ │ ├── MainMenuService.java │ │ │ ├── ParseQueryDataService.java │ │ │ ├── PingTask.java │ │ │ ├── ReplyMessagesService.java │ │ │ ├── SendTicketsInfoService.java │ │ │ ├── StationBookService.java │ │ │ ├── StationCodeService.java │ │ │ ├── TrainTicketsGetInfoService.java │ │ │ ├── UserSubscriptionProcessService.java │ │ │ └── UserTicketsSubscriptionService.java │ │ │ └── utils │ │ │ └── Emojis.java │ └── resources │ │ ├── application.properties │ │ ├── messages_ru_RU.properties │ │ └── rzdResponseTrainsInfo.json └── test │ └── java │ └── ru │ └── otus │ └── rzdtelegrambot │ └── RzdticketsmonitoringTelegrambotApplicationTests.java └── system.properties /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SergioViacheslaev/RZDTicketsMonitoring-TelegramBot/HEAD/.gitignore -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SergioViacheslaev/RZDTicketsMonitoring-TelegramBot/HEAD/README.md -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SergioViacheslaev/RZDTicketsMonitoring-TelegramBot/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SergioViacheslaev/RZDTicketsMonitoring-TelegramBot/HEAD/gradle/wrapper/gradle-wrapper.properties -------------------------------------------------------------------------------- /gradlew: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SergioViacheslaev/RZDTicketsMonitoring-TelegramBot/HEAD/gradlew -------------------------------------------------------------------------------- /gradlew.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SergioViacheslaev/RZDTicketsMonitoring-TelegramBot/HEAD/gradlew.bat -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'rzdticketsmonitoring-telegrambot' 2 | -------------------------------------------------------------------------------- /src/main/java/ru/otus/rzdtelegrambot/RZDTelegrambotApplication.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SergioViacheslaev/RZDTicketsMonitoring-TelegramBot/HEAD/src/main/java/ru/otus/rzdtelegrambot/RZDTelegrambotApplication.java -------------------------------------------------------------------------------- /src/main/java/ru/otus/rzdtelegrambot/appconfig/AppConfig.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SergioViacheslaev/RZDTicketsMonitoring-TelegramBot/HEAD/src/main/java/ru/otus/rzdtelegrambot/appconfig/AppConfig.java -------------------------------------------------------------------------------- /src/main/java/ru/otus/rzdtelegrambot/botapi/BotState.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SergioViacheslaev/RZDTicketsMonitoring-TelegramBot/HEAD/src/main/java/ru/otus/rzdtelegrambot/botapi/BotState.java -------------------------------------------------------------------------------- /src/main/java/ru/otus/rzdtelegrambot/botapi/BotStateContext.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SergioViacheslaev/RZDTicketsMonitoring-TelegramBot/HEAD/src/main/java/ru/otus/rzdtelegrambot/botapi/BotStateContext.java -------------------------------------------------------------------------------- /src/main/java/ru/otus/rzdtelegrambot/botapi/RZDTelegramBot.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SergioViacheslaev/RZDTicketsMonitoring-TelegramBot/HEAD/src/main/java/ru/otus/rzdtelegrambot/botapi/RZDTelegramBot.java -------------------------------------------------------------------------------- /src/main/java/ru/otus/rzdtelegrambot/botapi/TelegramFacade.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SergioViacheslaev/RZDTicketsMonitoring-TelegramBot/HEAD/src/main/java/ru/otus/rzdtelegrambot/botapi/TelegramFacade.java -------------------------------------------------------------------------------- /src/main/java/ru/otus/rzdtelegrambot/botapi/handlers/InputMessageHandler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SergioViacheslaev/RZDTicketsMonitoring-TelegramBot/HEAD/src/main/java/ru/otus/rzdtelegrambot/botapi/handlers/InputMessageHandler.java -------------------------------------------------------------------------------- /src/main/java/ru/otus/rzdtelegrambot/botapi/handlers/callbackquery/CallbackQueryFacade.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SergioViacheslaev/RZDTicketsMonitoring-TelegramBot/HEAD/src/main/java/ru/otus/rzdtelegrambot/botapi/handlers/callbackquery/CallbackQueryFacade.java -------------------------------------------------------------------------------- /src/main/java/ru/otus/rzdtelegrambot/botapi/handlers/callbackquery/CallbackQueryHandler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SergioViacheslaev/RZDTicketsMonitoring-TelegramBot/HEAD/src/main/java/ru/otus/rzdtelegrambot/botapi/handlers/callbackquery/CallbackQueryHandler.java -------------------------------------------------------------------------------- /src/main/java/ru/otus/rzdtelegrambot/botapi/handlers/callbackquery/CallbackQueryType.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SergioViacheslaev/RZDTicketsMonitoring-TelegramBot/HEAD/src/main/java/ru/otus/rzdtelegrambot/botapi/handlers/callbackquery/CallbackQueryType.java -------------------------------------------------------------------------------- /src/main/java/ru/otus/rzdtelegrambot/botapi/handlers/callbackquery/SubscribeTicketsInfoQueryHandler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SergioViacheslaev/RZDTicketsMonitoring-TelegramBot/HEAD/src/main/java/ru/otus/rzdtelegrambot/botapi/handlers/callbackquery/SubscribeTicketsInfoQueryHandler.java -------------------------------------------------------------------------------- /src/main/java/ru/otus/rzdtelegrambot/botapi/handlers/callbackquery/UnsubscribeTicketsInfoQueryHandler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SergioViacheslaev/RZDTicketsMonitoring-TelegramBot/HEAD/src/main/java/ru/otus/rzdtelegrambot/botapi/handlers/callbackquery/UnsubscribeTicketsInfoQueryHandler.java -------------------------------------------------------------------------------- /src/main/java/ru/otus/rzdtelegrambot/botapi/handlers/callbackquery/UserChatButtonStatus.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SergioViacheslaev/RZDTicketsMonitoring-TelegramBot/HEAD/src/main/java/ru/otus/rzdtelegrambot/botapi/handlers/callbackquery/UserChatButtonStatus.java -------------------------------------------------------------------------------- /src/main/java/ru/otus/rzdtelegrambot/botapi/handlers/menu/HelpMenuHandler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SergioViacheslaev/RZDTicketsMonitoring-TelegramBot/HEAD/src/main/java/ru/otus/rzdtelegrambot/botapi/handlers/menu/HelpMenuHandler.java -------------------------------------------------------------------------------- /src/main/java/ru/otus/rzdtelegrambot/botapi/handlers/menu/MainMenuHandler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SergioViacheslaev/RZDTicketsMonitoring-TelegramBot/HEAD/src/main/java/ru/otus/rzdtelegrambot/botapi/handlers/menu/MainMenuHandler.java -------------------------------------------------------------------------------- /src/main/java/ru/otus/rzdtelegrambot/botapi/handlers/menu/StationsBookMenuHandler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SergioViacheslaev/RZDTicketsMonitoring-TelegramBot/HEAD/src/main/java/ru/otus/rzdtelegrambot/botapi/handlers/menu/StationsBookMenuHandler.java -------------------------------------------------------------------------------- /src/main/java/ru/otus/rzdtelegrambot/botapi/handlers/menu/SubscriptionsMenuHandler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SergioViacheslaev/RZDTicketsMonitoring-TelegramBot/HEAD/src/main/java/ru/otus/rzdtelegrambot/botapi/handlers/menu/SubscriptionsMenuHandler.java -------------------------------------------------------------------------------- /src/main/java/ru/otus/rzdtelegrambot/botapi/handlers/trainsearch/TrainSearchHandler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SergioViacheslaev/RZDTicketsMonitoring-TelegramBot/HEAD/src/main/java/ru/otus/rzdtelegrambot/botapi/handlers/trainsearch/TrainSearchHandler.java -------------------------------------------------------------------------------- /src/main/java/ru/otus/rzdtelegrambot/botapi/handlers/trainsearch/TrainSearchRequestData.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SergioViacheslaev/RZDTicketsMonitoring-TelegramBot/HEAD/src/main/java/ru/otus/rzdtelegrambot/botapi/handlers/trainsearch/TrainSearchRequestData.java -------------------------------------------------------------------------------- /src/main/java/ru/otus/rzdtelegrambot/botconfig/RZDTelegramBotConfig.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SergioViacheslaev/RZDTicketsMonitoring-TelegramBot/HEAD/src/main/java/ru/otus/rzdtelegrambot/botconfig/RZDTelegramBotConfig.java -------------------------------------------------------------------------------- /src/main/java/ru/otus/rzdtelegrambot/cache/DataCache.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SergioViacheslaev/RZDTicketsMonitoring-TelegramBot/HEAD/src/main/java/ru/otus/rzdtelegrambot/cache/DataCache.java -------------------------------------------------------------------------------- /src/main/java/ru/otus/rzdtelegrambot/cache/StationsCache.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SergioViacheslaev/RZDTicketsMonitoring-TelegramBot/HEAD/src/main/java/ru/otus/rzdtelegrambot/cache/StationsCache.java -------------------------------------------------------------------------------- /src/main/java/ru/otus/rzdtelegrambot/cache/StationsDataCache.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SergioViacheslaev/RZDTicketsMonitoring-TelegramBot/HEAD/src/main/java/ru/otus/rzdtelegrambot/cache/StationsDataCache.java -------------------------------------------------------------------------------- /src/main/java/ru/otus/rzdtelegrambot/cache/UserDataCache.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SergioViacheslaev/RZDTicketsMonitoring-TelegramBot/HEAD/src/main/java/ru/otus/rzdtelegrambot/cache/UserDataCache.java -------------------------------------------------------------------------------- /src/main/java/ru/otus/rzdtelegrambot/controller/WebHookController.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SergioViacheslaev/RZDTicketsMonitoring-TelegramBot/HEAD/src/main/java/ru/otus/rzdtelegrambot/controller/WebHookController.java -------------------------------------------------------------------------------- /src/main/java/ru/otus/rzdtelegrambot/model/Car.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SergioViacheslaev/RZDTicketsMonitoring-TelegramBot/HEAD/src/main/java/ru/otus/rzdtelegrambot/model/Car.java -------------------------------------------------------------------------------- /src/main/java/ru/otus/rzdtelegrambot/model/Train.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SergioViacheslaev/RZDTicketsMonitoring-TelegramBot/HEAD/src/main/java/ru/otus/rzdtelegrambot/model/Train.java -------------------------------------------------------------------------------- /src/main/java/ru/otus/rzdtelegrambot/model/TrainStation.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SergioViacheslaev/RZDTicketsMonitoring-TelegramBot/HEAD/src/main/java/ru/otus/rzdtelegrambot/model/TrainStation.java -------------------------------------------------------------------------------- /src/main/java/ru/otus/rzdtelegrambot/model/UserTicketsSubscription.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SergioViacheslaev/RZDTicketsMonitoring-TelegramBot/HEAD/src/main/java/ru/otus/rzdtelegrambot/model/UserTicketsSubscription.java -------------------------------------------------------------------------------- /src/main/java/ru/otus/rzdtelegrambot/repository/UserTicketsSubscriptionMongoRepository.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SergioViacheslaev/RZDTicketsMonitoring-TelegramBot/HEAD/src/main/java/ru/otus/rzdtelegrambot/repository/UserTicketsSubscriptionMongoRepository.java -------------------------------------------------------------------------------- /src/main/java/ru/otus/rzdtelegrambot/service/CarsProcessingService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SergioViacheslaev/RZDTicketsMonitoring-TelegramBot/HEAD/src/main/java/ru/otus/rzdtelegrambot/service/CarsProcessingService.java -------------------------------------------------------------------------------- /src/main/java/ru/otus/rzdtelegrambot/service/LocaleMessageService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SergioViacheslaev/RZDTicketsMonitoring-TelegramBot/HEAD/src/main/java/ru/otus/rzdtelegrambot/service/LocaleMessageService.java -------------------------------------------------------------------------------- /src/main/java/ru/otus/rzdtelegrambot/service/MainMenuService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SergioViacheslaev/RZDTicketsMonitoring-TelegramBot/HEAD/src/main/java/ru/otus/rzdtelegrambot/service/MainMenuService.java -------------------------------------------------------------------------------- /src/main/java/ru/otus/rzdtelegrambot/service/ParseQueryDataService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SergioViacheslaev/RZDTicketsMonitoring-TelegramBot/HEAD/src/main/java/ru/otus/rzdtelegrambot/service/ParseQueryDataService.java -------------------------------------------------------------------------------- /src/main/java/ru/otus/rzdtelegrambot/service/PingTask.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SergioViacheslaev/RZDTicketsMonitoring-TelegramBot/HEAD/src/main/java/ru/otus/rzdtelegrambot/service/PingTask.java -------------------------------------------------------------------------------- /src/main/java/ru/otus/rzdtelegrambot/service/ReplyMessagesService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SergioViacheslaev/RZDTicketsMonitoring-TelegramBot/HEAD/src/main/java/ru/otus/rzdtelegrambot/service/ReplyMessagesService.java -------------------------------------------------------------------------------- /src/main/java/ru/otus/rzdtelegrambot/service/SendTicketsInfoService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SergioViacheslaev/RZDTicketsMonitoring-TelegramBot/HEAD/src/main/java/ru/otus/rzdtelegrambot/service/SendTicketsInfoService.java -------------------------------------------------------------------------------- /src/main/java/ru/otus/rzdtelegrambot/service/StationBookService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SergioViacheslaev/RZDTicketsMonitoring-TelegramBot/HEAD/src/main/java/ru/otus/rzdtelegrambot/service/StationBookService.java -------------------------------------------------------------------------------- /src/main/java/ru/otus/rzdtelegrambot/service/StationCodeService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SergioViacheslaev/RZDTicketsMonitoring-TelegramBot/HEAD/src/main/java/ru/otus/rzdtelegrambot/service/StationCodeService.java -------------------------------------------------------------------------------- /src/main/java/ru/otus/rzdtelegrambot/service/TrainTicketsGetInfoService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SergioViacheslaev/RZDTicketsMonitoring-TelegramBot/HEAD/src/main/java/ru/otus/rzdtelegrambot/service/TrainTicketsGetInfoService.java -------------------------------------------------------------------------------- /src/main/java/ru/otus/rzdtelegrambot/service/UserSubscriptionProcessService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SergioViacheslaev/RZDTicketsMonitoring-TelegramBot/HEAD/src/main/java/ru/otus/rzdtelegrambot/service/UserSubscriptionProcessService.java -------------------------------------------------------------------------------- /src/main/java/ru/otus/rzdtelegrambot/service/UserTicketsSubscriptionService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SergioViacheslaev/RZDTicketsMonitoring-TelegramBot/HEAD/src/main/java/ru/otus/rzdtelegrambot/service/UserTicketsSubscriptionService.java -------------------------------------------------------------------------------- /src/main/java/ru/otus/rzdtelegrambot/utils/Emojis.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SergioViacheslaev/RZDTicketsMonitoring-TelegramBot/HEAD/src/main/java/ru/otus/rzdtelegrambot/utils/Emojis.java -------------------------------------------------------------------------------- /src/main/resources/application.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SergioViacheslaev/RZDTicketsMonitoring-TelegramBot/HEAD/src/main/resources/application.properties -------------------------------------------------------------------------------- /src/main/resources/messages_ru_RU.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SergioViacheslaev/RZDTicketsMonitoring-TelegramBot/HEAD/src/main/resources/messages_ru_RU.properties -------------------------------------------------------------------------------- /src/main/resources/rzdResponseTrainsInfo.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SergioViacheslaev/RZDTicketsMonitoring-TelegramBot/HEAD/src/main/resources/rzdResponseTrainsInfo.json -------------------------------------------------------------------------------- /src/test/java/ru/otus/rzdtelegrambot/RzdticketsmonitoringTelegrambotApplicationTests.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SergioViacheslaev/RZDTicketsMonitoring-TelegramBot/HEAD/src/test/java/ru/otus/rzdtelegrambot/RzdticketsmonitoringTelegrambotApplicationTests.java -------------------------------------------------------------------------------- /system.properties: -------------------------------------------------------------------------------- 1 | java.runtime.version=12 --------------------------------------------------------------------------------