This release adds 1 notable feature for engineering teams evaluating rollout.
✓ No known CVEs patched in this version
Topics
+4 more
Summary
AI summaryAdded public getClient() method to retrieve the underlying GramJS TelegramClient instance.
Full changelog
What's new
TelegramService.getClient() (#17)
New public method that returns the underlying GramJS TelegramClient instance. This enables building event-driven services on top of @overpod/mcp-telegram — for example, real-time message listeners using addEventHandler:
import { TelegramService } from "@overpod/mcp-telegram/service";
import { NewMessage } from "telegram/events";
const tg = new TelegramService(apiId, apiHash);
await tg.loadSession();
await tg.connect();
const client = tg.getClient();
client.addEventHandler(async (event) => {
const message = event.message;
// Handle incoming message in real time
}, new NewMessage({ chats: [chatId1, chatId2] }));
Returns: TelegramClient | null — null if not yet connected.
Why: The client field was previously private, making it impossible to attach GramJS event handlers externally. This unlocks event-driven architectures (real-time bridges, listeners, bots) while keeping all existing functionality (rate limiter, peer resolution, session management) available through TelegramService methods like sendMessage() and markAsRead().
Import path
Use the existing subpath export:
import { TelegramService } from "@overpod/mcp-telegram/service";
Full Changelog: https://github.com/overpod/mcp-telegram/compare/v1.20.0...v1.21.0
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About overpod/mcp-telegram
Telegram MCP server via MTProto/GramJS — 20 tools for reading chats, searching messages, downloading media, managing contacts. QR code login, npx zero-install. Hosted version at mcp-telegram.com.
Related context
Beta — feedback welcome: [email protected]