The sched-alert-bot project is designed to parse event schedules from various websites and send notifications via Telegram.
It was originally developed to parse the streaming schedule from stopgame.ru, but it's implemented in a flexible way to support additional sources.
- Java
- Spring Boot
- MongoDB
- jsoup for parsing web pages
- JaVers for detecting changes
- FreeMarker for generating messages from templates
- TelegramBots for notifying users
Application settings are located in the resources/application.properties file and the .env file.
Make sure you have configured the MongoDB connection and Telegram API credentials.
The entry point is a scheduler class, e.g., SgScheduler.
- Add automatic Docker image build
- Set up MongoDB audit
- Format date (currently just in MSK timezone)
- Request user timezone via the bot and use it when displaying dates. This requires generating messages individually for each user
- Escape values when formatting messages
- Send critical exceptions to admins
- Move configuration to the database, with default values in properties
- Rewrite using XPath if it allows attribute extraction
- Subscribe to calendar via link
- Add Twitch/YouTube links during live streams
- Prevent sending past events
- Add stream cover image
- Telegram command
/status - Telegram command to trigger check manually (without waiting for cron)