made with ❤️ using Kotlin
I'm not the owner or a contributor of the eurostreaming site, all the data are gathered using a web scraper. I have nothing to do with any illegal content uploaded on the site.
The project started as a hobby project to try some funny technologies like Kotlin, Exposed and Koin, plus I really like automation, so here we are.
I won't share the public link nor the bot name anymore, this bot will live for personal use only. If you want to use it you can clone the code and execute it on your device/server/whatever.
Just run the bot on your Telegram app and send /follow show_name to start following a show. You will receive a notification when a new episode of the show is online.
Available commands are:
I have a few improvements and new features in mind, e.g.:
As I've already said, all the data are gathered from the eurostreaming site by scraping the information with Jsoup.
The core of the application is a loop that checks for new episodes every 30 minutes, it just checks the current day and not the previous ones: I tried to keep it as stateless as possible.
After getting the list of the new episodes the bot checks if any user if actually following one of the shows whose episode has been uploaded, these users will get a notification and the episode will be set as "already notitied" in the database.
A user if added to the database only when he starts following his first show.
When a user is added to the database only his chat id is stored, no other personal data (nickname, name, etc..) are stored.
Then, a user is removed from the database when he's not following any show.
The eurostreaming site is often DNS-obscured in Italy. This problem is solved by using the always working domain though the eurostreaming link.
The streaming site is Italian and share shows with Italian language, so I think the bot will only have italian users.