đź“« Link saver bot for Telegram
Hello there! I’m excited to present my recent pet-project that has finally arrived!
What is it?
It is a Telegram bot 🛫 that stores your links and provides simple management interface. I had been looking for something like that for a long time because I usually use Telegram to quickly store or sync something between devices. Although there are many bookmark managers available, as well as the “Saved Messages” chat with a “Links” menu, they are uncomfortable for me for various reasons.
What does it can and how to use it?
The application’s functionality is pretty simple. As for now you can:
-
Save a link by sending it to the chat.
-
List all saved links by typing either
/ls
or/list
command. -
Remove a stored link by selecting it from the
/ls
output and pressing theRemove
button.
In the future, I also plan to add some simple category management and improve the user-friendliness of the /ls
output. After that, I believe the project will be complete as long as I don’t want to bloat the application with dozens of functions. Let it be simple, but still quite useful.
Tech overview
This project is not very serious and more of a starting point. It served as a playground for new technologies:
-
Code is written in Scala using zio, bot4s/telegram, slick, and flyway.
-
The build is adjusted to be GraalVM-compatible and produces native, statically linked binaries.
-
The entire project is wrapped with nix, which provides a reproducible environment and is responsible for building docker images.
-
GitLab CI runs build on commit and pushes the docker image to the GitLab registry.
-
The flux-powered k8s cluster listens to the GitLab registry and re-deploys newly pushed images.
There is still room for improvement, but for now, I’m quite satisfied.
Conclusion
I’m open to any feedback and suggestions for features and/or changes.
This is actually my first pet-project on a well-organized infrastructure. Now that everything is set up, it will be easy to release further projects. Stay tuned for updates on my Telegram channel 🛫 or subscribe via RSS.
That’s all for now. Have a nice day and thank you for reading!