Skip to content

[integrations] Add Telegram capture bot#190

Open
Reb-Elle-Art wants to merge 2 commits into
NateBJones-Projects:mainfrom
Reb-Elle-Art:integrations/telegram-capture
Open

[integrations] Add Telegram capture bot#190
Reb-Elle-Art wants to merge 2 commits into
NateBJones-Projects:mainfrom
Reb-Elle-Art:integrations/telegram-capture

Conversation

@Reb-Elle-Art
Copy link
Copy Markdown

Contribution Type

  • Recipe (/recipes)
  • Schema (/schemas)
  • Dashboard (/dashboards)
  • Integration (/integrations)
  • Skill (/skills)
  • Repo improvement (docs, CI, templates)

What does this do?

Adds a Telegram capture integration that mirrors the existing slack-capture and discord-capture patterns. Messages sent to a configured Telegram chat (DM or private group) are embedded via OpenRouter, classified for people/topics/action items/type, and stored as thoughts rows, with a threaded confirmation reply in the chat. Optional UPDATE_ON_EDIT re-embeds edited messages in place.

Requirements

  • Telegram Bot API (free, bot registered via @Botfather)
  • OpenRouter API key for openai/text-embedding-3-small and openai/gpt-4o-mini
  • Existing Open Brain Supabase project with the thoughts table and pgvector
  • No dependency on a canonical skill or primitive beyond the existing thoughts schema (same as slack-capture and discord-capture)

Checklist

  • I've read CONTRIBUTING.md
  • My contribution has a README.md with prerequisites, step-by-step instructions, and expected outcome
  • My metadata.json has all required fields
  • If my contribution depends on a skill or primitive, I declared it in metadata.json and linked it in the README (it does not)
  • I tested this on my own Open Brain instance (Tested end-to-end with bot @OB1KNB_bot ('Obie'), message captured and confirmed in thoughts table.)
  • No credentials, API keys, or secrets are included

@github-actions github-actions Bot added the integration Contribution: MCP extension or capture source label Apr 17, 2026
@github-actions
Copy link
Copy Markdown

Hey @Reb-Elle-Art — welcome to Open Brain Source! 👋

Thanks for submitting your first PR. The automated review will run shortly and check things like metadata, folder structure, and README completeness. If anything needs fixing, the review comment will tell you exactly what.

Once the automated checks pass, a human admin will review for quality and clarity. Expect a response within a few days.

If you have questions, check out CONTRIBUTING.md or open an issue.

@alanshurafa alanshurafa added area: integrations Review area: integrations/MCP/capture sources review: ready-for-maintainer Community reviewer recommends maintainer review alan-reviewed Reviewed by Alan Shurafa in Community Reviewer role labels May 20, 2026
@alanshurafa
Copy link
Copy Markdown
Collaborator

Thanks for the contribution, and welcome. This is a well-built capture integration. The security model is the important part for a publicly-messageable Telegram bot, and it is handled well: the webhook verifies the X-Telegram-Bot-Api-Secret-Token header, and messages are filtered by chat_id against TELEGRAM_CAPTURE_CHAT_ID, so a random user who finds the bot cannot write into your brain. The (chat_id, message_id) dedup against Telegram's aggressive retries is a good touch.

One structural note for the maintainer: the function code lives inline in the README as a code block, whereas sibling integrations (e.g. readwise-capture, update-thought-mcp) ship a separate index.ts file. Worth deciding whether to extract it for consistency. Recommend maintainer review.

— Alan (community reviewer; non-binding)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

alan-reviewed Reviewed by Alan Shurafa in Community Reviewer role area: integrations Review area: integrations/MCP/capture sources integration Contribution: MCP extension or capture source review: ready-for-maintainer Community reviewer recommends maintainer review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants