It started with a stupid habit π«
Every morning (or even during the day) I'd open a news channel to check one thing - some specific topic I actually cared about. Twenty minutes later I'd be three threads deep into something completely unrelated, mildly annoyed at myself, and no closer to the thing I opened the app for
Telegram has no keyword alerts (as far as I know). No filters. No way to say "notify me when this appears, ignore everything else." You either follow the channel and see everything, or you don't follow it and miss things.
So I built @telescope_one_bot π
What it does
Simple premise: you tell it which public channels to watch and which keywords to look for. When a new post matches - you get a notification. That's it.
You don't open the channel. You don't scroll. You just get the relevant thing delivered.
Keyword matching works in three modes:
-
Single word - prefix match.
footballmatchesfootballer,footballing, etc. -
Number - exact match.
2026won't match20261. -
Phrase - full phrase match.
rent apartmentonly triggers on that exact phrase.
You can add channels in any format: @username, https://t.me/username, or even the web Telegram URL (https://web.telegram.org/k/#@username). Scanned every 60 seconds on the free tier.
Real use cases (not made up)
A friend who works in resale used it to track drops and signals across several channels. He said the 60 -second scan interval was the deciding factor - for him, being a minute late means missing the window entirely. He's waiting for faster checks and higher channel limits in Premium.
When my wife and I were apartment hunting, she refreshed rental groups constantly. We added all the local chats to the bot with keywords
2 rooms,pets allowed- and just...stopped checking manually. It worked. (I also realized exclusion keywords would make this even more useful - already on the roadmap)I use it myself for news. I follow channels I'd never want to read in full, but I care about specific topics. Now I don't read them - I just get pinged when something relevant drops.
The tech behind it
The bot is built with Java 17 + Spring Boot, uses PostgreSQL for storing user data and channel state, and is powered by my own open-source library - telegrambot4j.
If you've seen my previous post about telegrambot4j - Telescope is what I built with it. The handler chain pattern I described there is exactly what drives the bot's command routing. Building Telescope also pushed me to extend the library itself. The inline keyboard support - InlineKeyboardButton, InlineKeyboardMarkup, and the convenience sendMessage overload - was added in v1.1.0 specifically
because the bot needed it. Real usage drives real improvements βΊοΈ
The channel monitoring layer uses a custom Telegram API integration (not the Bot API - that only works for bots, not for reading public channels). That part is closed-source, but everything bot-facing is built on telegrambot4j.
The code for Telescope itself is closed-source. But the project page with README, feature list, and roadmap is here: github.com/nomad4tech/telescope-bot
Current state
The bot is live and fully functional. I'm in early access mode - collecting real usage data, watching what breaks, figuring out what people actually need before building more.
Free tier:
- Up to 2 channels
- Up to 10 keywords
- Scanned every 60 seconds
Premium (coming soon) will include more channels, faster checks, per-channel keyword filters, advanced search filters, and webhooks for your own app. Free tier stays free.
Available in English and Russian
What I'm figuring out
This is my first attempt at shipping something for real users, not just for a client or selfhosted use. This is a solo side project I'm hacking on outside of my main job - I just genuinely enjoy building tools and figuring out how things work under the hood. But shipping for real users is different....You can't just close the ticket and move on. You care whether people actually use it. And honestly - figuring out growth and user support turns out to be just as interesting as the coding part
I don't have a growth playbook. I'm doing the obvious things: posting where Telegram users hang out, writing this, being honest about where it's at. We'll see what works.
If you try it and something's confusing, broken, or missing - I genuinely want to know.
Drop a comment here, open an issue on telegrambot4j, or reach me directly via @nomad4tech on Telegram
Try it: @telescope_one_bot

Top comments (0)