App Logo
Messaging Reduck MCP

Telegram keyword alerts for the groups you're in (no bot, no admin rights)

Prompt template

Every morning, search all my Telegram chats for new messages that mention keywords. Drop the ones that are not really about them, and send me only the messages I have not seen yet, with the chat, the sender, the time and the text.

Overview

Freelancers, founders and marketers watch Telegram groups for the messages that matter to them: someone looking for a developer, a question about their product, a mention of their token or their company. Most of those groups are ones they only belong to, so they cannot add a bot. With the Reduck CLI or your AI agent, a short script searches all your chats for your keywords on a schedule, as you, and sends you only the new messages.

Why it's hard

  • Telegram notifies @mentions and replies only. It has no alert for a word.
  • A keyword-alert bot must be in the group. Someone with the rights has to add it, and with Telegram's privacy mode on, the default, a bot in a group receives only the messages meant for it.
  • Monitoring services read public chats. Services that watch chats for you, such as CatchMate, read public chats you choose, not the private groups you are in.
  • The API way needs a developer setup. Open-source trackers log in as you with an api_id and api_hash from my.telegram.org, a phone code and a session file that gives full access to your account.
  • Searching by hand every day, for every keyword, is what most people end up doing.

How Reduck does it

Reduck runs Telegram actions in your own Chrome, where you are already signed in to web.telegram.org, so it sees every chat you can see. search_messages runs Telegram's own search for your words in all your chats at once, or in one chat by its peer id, and answers with the newest matches first: the chat, the sender, the time and the full text, 20 a page, with optional date bounds. A script keeps the id of each message it has already reported, so every run sends you only what is new.

Set up Telegram keyword alerts with the CLI

Save this as telegram-alerts.sh:

#!/bin/bash
KEYWORD="your product"
SINCE=$(date -u -v-1d +%Y-%m-%dT%H:%M:%SZ 2>/dev/null || date -u -d '1 day ago' +%Y-%m-%dT%H:%M:%SZ)

sqlite3 alerts.db "CREATE TABLE IF NOT EXISTS seen (id TEXT PRIMARY KEY)"
npx @reduck-ai/cli@latest run --script reduck/web.telegram.org/search_messages \
  "query=$KEYWORD" "minDate=$SINCE" > page.json || exit 1
jq -r '.results[] | ["\(.peerId):\(.id)", "\(.chatTitle) / \(.senderName): \(.text)"] | @tsv' page.json |
while IFS=$'\t' read -r id alert; do
  added=$(sqlite3 alerts.db "INSERT OR IGNORE INTO seen VALUES ('$id'); SELECT changes();")
  [ "$added" = "1" ] && echo "$alert"
done

Each run prints one line per new message: the chat, the sender and the text. Run it every 15 minutes with cron, with an API key in REDUCK_API_KEY, and send the lines where you want them, for example to your phone with ntfy:

*/15 * * * * cd ~/telegram-alerts && ./telegram-alerts.sh | while read -r line; do curl -s -d "$line" ntfy.sh/your-topic; done

To build alerts into your own code, call the same script with the REST API: POST /run with your API key in x-api-key, the script reduck/web.telegram.org/search_messages and its arguments, and "browser": "extension" so the run uses your signed-in Chrome.

How to start

  1. Create a free account at reduck.ai.
  2. Install the Reduck extension in Chrome and pair it.
  3. Connect Reduck to your agent: docs.reduck.ai.
  4. Ask: "Every morning, search all my Telegram chats for new messages that mention {keywords}. Drop the ones that are not really about them, and send me only the messages I have not seen yet, with the chat, the sender, the time and the text."

Sign in to web.telegram.org in that Chrome first.

Ways to get Telegram keyword alerts

Method Any keyword Groups you only belong to Real time No api_id or session file
Telegram notifications No, @mentions and replies Yes Yes Yes
Keyword-alert bot in the group (KeeperBots) Yes Only if it is added to the group Yes Yes
Public-chat monitor (CatchMate) Yes Public chats only Yes Yes
Telethon tracker (GitHub) Yes Yes Yes No
Reduck CLI or agent Yes Yes No, at each scheduled run Yes

FAQ

Telegram notifies you of @mentions and replies, not of any word. To be alerted on a keyword, either add a keyword-alert bot to the group, which needs someone who can add bots, or run Telegram's own search for the keyword on a schedule and keep only the new matches. The script on this page does the second with the Reduck CLI: each run calls search_messages over all your chats, saves the id of every message it already reported, and prints only the new ones.
Yes, with a search as your own account. Keyword-alert bots work only in the groups where they were added, and a bot in a group with privacy mode on, the default, receives only the messages meant for it. Services that watch public chats for you, such as CatchMate, read public chats only. search_messages searches every chat your account is in, private groups included, because it runs in your own Telegram Web session.
No. You get an alert at the next run of your schedule, for example every 15 minutes. For an alert within seconds, a bot in the group, added by its admins, is faster.
No. Open-source keyword trackers (telegram-keyword-tracker, telegram-monitor on GitHub) log in as you with an api_id and api_hash from my.telegram.org and keep a session file that gives full access to your account. Reduck searches in the Telegram Web tab you are already signed in to, in your own Chrome, and never receives your password, login code or session.
Yes. search_messages takes a peerId to search one chat; get_inbox gives the peer id of each of your chats. Without a peerId it searches all your chats at once.
No. search_messages does not open the conversations, so your unread counts stay as they were and nobody gets a read receipt.
No. The searches run in your own Chrome, where you are signed in to Telegram Web, through the Reduck extension. The cron job works while that Chrome is open.
Yes. Reduck connects to Claude, ChatGPT, Cursor and any other MCP client. Give your agent the prompt on this page: it runs the same search, and it can also drop the matches that are not really about your keyword, which the CLI script does not do.

Similar use cases

Discord

Discord keyword alerts

Set up keyword alerts on the Discord channels you can read, even in servers you don't manage. A short script runs the Reduck CLI on a schedule, searches each channel for your keywords with Discord's own search, as your own account, and sends you only the new messages. No bot to add, no admin rights, no client mod, no user token.

Messaging
Reddit

Reddit keyword alerts

Your AI agent searches Reddit for your keywords on a schedule and sends you only the new posts that are really about them, with no RSS feed and no API key.

Social media
Telegram

Summarize Telegram groups with AI

Get an AI summary of the Telegram groups you are in, every morning or when you ask, with the decisions, the questions for you and the links shared. Your AI agent reads the groups in Telegram Web, signed in as you, so it sees what you see, history included, in groups where you cannot add a bot. Nothing is marked as read.

Messaging

Start building not clicking