{"passport":{"unfragile":{"@version":"1.0","version":"2026-05","artifact":{"id":"awesome-go-telegram-bot","slug":"go-telegram-bot","name":"Go Telegram bot","type":"repo","url":"https://github.com/m1guelpf/chatgpt-telegram","page_url":"https://unfragile.ai/go-telegram-bot","categories":["automation"],"tags":[],"pricing":{"model":"open_source","free":true,"starting_price":null},"status":"active","verified":false},"capabilities":[{"id":"awesome-go-telegram-bot__cap_0","uri":"capability://tool.use.integration.real.time.streaming.message.relay.from.telegram.to.chatgpt","name":"real-time streaming message relay from telegram to chatgpt","description":"Receives incoming Telegram messages via polling or webhook, forwards them to OpenAI's ChatGPT API, and streams responses back using Server-Sent Events (SSE). The bot maintains a message processing loop that captures user input, sends it to ChatGPT's streaming endpoint, and progressively updates the Telegram message as tokens arrive, reducing perceived latency compared to waiting for full response completion.","intents":["I want users to interact with ChatGPT directly through Telegram without leaving the app","I need real-time streaming responses in Telegram so users see text appearing as it's generated","I want to build a bridge between Telegram's messaging interface and OpenAI's API"],"best_for":["Telegram users wanting ChatGPT access without switching apps","Developers building Telegram bot integrations with LLM backends","Teams deploying ChatGPT interfaces in messaging-first workflows"],"limitations":["Telegram message edit rate limits (~1 edit per second) may cause streaming updates to batch or queue","SSE streaming adds network overhead compared to polling-based approaches","No built-in conversation history persistence — each message is independent unless manually managed","Streaming responses are truncated if they exceed Telegram's 4096 character message limit"],"requires":["Telegram bot token from BotFather","OpenAI account with ChatGPT API access","Go 1.16+ for compilation","Network connectivity to both Telegram and OpenAI APIs"],"input_types":["text (Telegram message content)"],"output_types":["text (streamed ChatGPT response)","Telegram message updates (edited in-place)"],"categories":["tool-use-integration","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-go-telegram-bot__cap_1","uri":"capability://tool.use.integration.browser.based.openai.session.authentication.with.automatic.token.capture","name":"browser-based openai session authentication with automatic token capture","description":"Launches a headless browser window when no stored session token exists, guides the user through OpenAI's login flow, automatically extracts the session token from browser cookies, and persists it to the local config file for future use. This eliminates manual token extraction and handles session refresh transparently, supporting both interactive setup and programmatic authentication.","intents":["I want users to authenticate with OpenAI without manually copying session tokens","I need the bot to handle authentication setup automatically on first run","I want to support both manual token input and automated browser-based login"],"best_for":["End users deploying the bot for personal use without technical expertise","Developers building user-friendly bot deployment flows","Teams needing zero-configuration authentication setup"],"limitations":["Browser-based auth requires a display server (X11/Wayland on Linux, native on macOS/Windows) — fails on headless servers","Session tokens expire and require re-authentication; no automatic refresh mechanism built-in","Relies on OpenAI's login UI remaining stable; changes to their auth flow break the automation","Cannot handle 2FA or CAPTCHA challenges automatically"],"requires":["A browser installed on the system (Chrome, Firefox, or Chromium-based)","Display server or graphical environment","OpenAI account with ChatGPT access","Write permissions to ~/.config (Linux), AppData (Windows), or Library (macOS)"],"input_types":["user credentials (entered in browser UI)","optional: pre-existing session token string"],"output_types":["session token (string)","persistent JSON config file"],"categories":["tool-use-integration","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-go-telegram-bot__cap_2","uri":"capability://automation.workflow.two.tier.configuration.system.with.environment.and.persistent.storage","name":"two-tier configuration system with environment and persistent storage","description":"Manages bot configuration through a hybrid approach: environment variables (.env file) for runtime settings like TELEGRAM_TOKEN and EDIT_WAIT_SECONDS, combined with persistent JSON storage for stateful data like OpenAI session tokens. Configuration is loaded on startup, with environment variables taking precedence, and persistent state is written back to platform-specific config directories after authentication or updates.","intents":["I want to configure the bot without hardcoding secrets in the binary","I need to persist authentication state between bot restarts","I want to support both Docker deployments (env vars) and local deployments (config files)"],"best_for":["DevOps teams deploying bots in containerized environments","Individual developers running bots locally with persistent state","Teams needing to separate secrets (env vars) from state (config files)"],"limitations":["No encryption for stored session tokens — config file is plain JSON and readable by any process with file access","No built-in config validation — invalid values in .env or JSON fail silently or at runtime","Platform-specific config paths require different setup instructions per OS","No config versioning or migration path for schema changes"],"requires":[".env file in application directory with TELEGRAM_TOKEN","Write permissions to platform config directory","Go's os/user package support (may fail in some containerized environments)"],"input_types":["environment variables (string key-value pairs)","JSON file (persistent config)"],"output_types":["in-memory configuration struct","updated JSON config file"],"categories":["automation-workflow","data-processing-analysis"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-go-telegram-bot__cap_3","uri":"capability://automation.workflow.telegram.message.update.batching.with.configurable.edit.delay","name":"telegram message update batching with configurable edit delay","description":"Buffers streaming ChatGPT tokens and updates the Telegram message at configurable intervals (default ~1 second via EDIT_WAIT_SECONDS) rather than on every token, respecting Telegram's rate limits (~1 edit per second per message). This prevents API throttling errors and reduces network overhead while maintaining perceived real-time streaming by batching multiple tokens into single edit operations.","intents":["I want to stream ChatGPT responses without hitting Telegram's edit rate limits","I need to balance responsiveness with API rate limit compliance","I want to tune streaming behavior based on network conditions and user preferences"],"best_for":["Telegram bot developers handling high-frequency message updates","Teams deploying bots with many concurrent users","Developers optimizing for low-latency streaming within API constraints"],"limitations":["Fixed batching interval may feel laggy if set too high (>2 seconds) or cause rate limit errors if too low (<0.5 seconds)","No adaptive batching — interval is static and doesn't adjust based on token generation speed","Telegram's hard 1-edit-per-second limit means faster token streams will still batch, creating visible pauses","No backpressure mechanism — if edits queue up, older updates may be dropped"],"requires":["EDIT_WAIT_SECONDS environment variable (optional, defaults to ~1 second)","Telegram bot token with message edit permissions"],"input_types":["streaming tokens from ChatGPT","EDIT_WAIT_SECONDS configuration value (integer seconds)"],"output_types":["batched Telegram message edits"],"categories":["automation-workflow","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-go-telegram-bot__cap_4","uri":"capability://safety.moderation.multi.user.isolation.with.optional.telegram.id.allowlisting","name":"multi-user isolation with optional telegram id allowlisting","description":"Optionally restricts bot access to a single Telegram user by checking the incoming message sender's ID against a configured TELEGRAM_ID value. When set, only messages from that user ID are processed; all others are silently ignored. This provides a simple access control mechanism without requiring a full authentication system, suitable for personal bot deployments.","intents":["I want to restrict my personal ChatGPT bot to only my Telegram account","I need to prevent unauthorized users from accessing the bot and consuming API quota","I want a lightweight access control without managing user databases"],"best_for":["Individual developers running personal bots","Teams deploying single-user bots in shared environments","Developers wanting simple access control without OAuth or user management"],"limitations":["No user management — only supports a single allowed user ID, not multiple users","No audit logging — rejected messages are silently dropped with no record","Telegram user IDs are not secret — anyone with the bot can discover the allowed ID by trial","No rate limiting per user — a single allowed user can exhaust API quota"],"requires":["TELEGRAM_ID environment variable (optional; if omitted, bot accepts all users)","User's Telegram numeric ID (obtainable from @userinfobot or similar)"],"input_types":["Telegram message with sender ID","TELEGRAM_ID configuration value"],"output_types":["boolean (message accepted or rejected)"],"categories":["safety-moderation","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-go-telegram-bot__cap_5","uri":"capability://automation.workflow.cross.platform.binary.distribution.with.docker.containerization","name":"cross-platform binary distribution with docker containerization","description":"Provides pre-compiled binaries for macOS (Intel/ARM), Linux (x86/ARM), and Windows, eliminating the need for users to compile from source. Additionally offers a Docker image (ghcr.io/m1guelpf/chatgpt-telegram) that bundles the binary with runtime dependencies, allowing deployment via container orchestration with volume mounts for persistent config and environment variable injection for secrets.","intents":["I want to run the bot without installing Go or compiling from source","I need to deploy the bot in a Docker/Kubernetes environment","I want to support users on different operating systems with a single release process"],"best_for":["End users without development environment setup","DevOps teams deploying bots in containerized infrastructure","Teams supporting multiple operating systems"],"limitations":["Binary releases are platform-specific — users must download the correct version for their OS/architecture","Docker image requires container runtime (Docker, Podman, Kubernetes) — not suitable for bare-metal deployments","No automatic updates — users must manually download new binaries or rebuild Docker images","Docker image size includes Go runtime overhead (~50-100MB depending on base image)"],"requires":["macOS 10.12+ (for Intel binary) or macOS 11+ (for ARM/M1 binary)","Linux kernel 2.6.32+ (for x86 or ARM binary)","Windows 7+ (for Windows binary)","Docker 20.10+ (for container deployment)"],"input_types":["GitHub release artifacts (binary files)","Docker image from container registry"],"output_types":["executable binary","running container instance"],"categories":["automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-go-telegram-bot__cap_6","uri":"capability://automation.workflow.stateless.message.processing.with.per.conversation.context.isolation","name":"stateless message processing with per-conversation context isolation","description":"Processes each incoming Telegram message independently without maintaining conversation history or context between messages. Each message is sent to ChatGPT as a standalone request, and responses are isolated to that single message. This stateless design simplifies deployment and avoids memory leaks from unbounded conversation history, but requires users to provide full context in each message if they want multi-turn conversations.","intents":["I want a simple bot that doesn't require conversation state management","I need to avoid memory leaks from storing unbounded conversation history","I want to support multiple concurrent users without session management complexity"],"best_for":["Developers building simple query-response bots","Teams deploying bots with limited memory or long-running requirements","Use cases where each message is independent (e.g., translation, summarization)"],"limitations":["No multi-turn conversations — ChatGPT cannot reference previous messages in the same chat","Users must repeat context in each message if they want conversational continuity","No conversation history available for logging or audit purposes","Cannot implement features like 'continue from previous response' or conversation summaries"],"requires":["No external state store required","No session management library"],"input_types":["single Telegram message text"],"output_types":["single ChatGPT response (isolated to that message)"],"categories":["automation-workflow","memory-knowledge"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-go-telegram-bot__cap_7","uri":"capability://tool.use.integration.openai.api.integration.with.session.token.authentication","name":"openai api integration with session token authentication","description":"Communicates with OpenAI's ChatGPT API using session-based authentication (session tokens extracted from browser cookies) rather than API keys. Sends user messages to OpenAI's streaming endpoint, receives Server-Sent Events (SSE) with token-by-token responses, and handles streaming response parsing. This approach mirrors the web interface's authentication mechanism, avoiding API key management and supporting the same session lifecycle as the browser.","intents":["I want to use ChatGPT through Telegram without managing OpenAI API keys","I need to leverage existing OpenAI web sessions rather than creating separate API credentials","I want to stream responses from ChatGPT in real-time"],"best_for":["Users with OpenAI web accounts but no API key access","Developers avoiding API key management complexity","Teams using ChatGPT web interface and wanting a Telegram bridge"],"limitations":["Session tokens expire and require re-authentication — no automatic refresh mechanism","OpenAI may rate-limit or block session-based access if they detect bot-like behavior","No access to GPT-4 or other paid API models if the account doesn't have web access","Session tokens are tied to browser fingerprints — may fail if IP or user agent changes significantly","No official API documentation for session-based access — implementation is reverse-engineered"],"requires":["OpenAI account with ChatGPT web access","Valid session token (obtained via browser login)","Network connectivity to OpenAI's API endpoints"],"input_types":["user message text","session token string"],"output_types":["streaming text response (SSE format)","complete ChatGPT response"],"categories":["tool-use-integration","text-generation-language"],"confidence":0.5,"matches":0,"success_rate":0}],"trust":{"score":23,"verified":false,"data_access_risk":"high","permissions":["Telegram bot token from BotFather","OpenAI account with ChatGPT API access","Go 1.16+ for compilation","Network connectivity to both Telegram and OpenAI APIs","A browser installed on the system (Chrome, Firefox, or Chromium-based)","Display server or graphical environment","OpenAI account with ChatGPT access","Write permissions to ~/.config (Linux), AppData (Windows), or Library (macOS)",".env file in application directory with TELEGRAM_TOKEN","Write permissions to platform config directory"],"failure_modes":["Telegram message edit rate limits (~1 edit per second) may cause streaming updates to batch or queue","SSE streaming adds network overhead compared to polling-based approaches","No built-in conversation history persistence — each message is independent unless manually managed","Streaming responses are truncated if they exceed Telegram's 4096 character message limit","Browser-based auth requires a display server (X11/Wayland on Linux, native on macOS/Windows) — fails on headless servers","Session tokens expire and require re-authentication; no automatic refresh mechanism built-in","Relies on OpenAI's login UI remaining stable; changes to their auth flow break the automation","Cannot handle 2FA or CAPTCHA challenges automatically","No encryption for stored session tokens — config file is plain JSON and readable by any process with file access","No built-in config validation — invalid values in .env or JSON fail silently or at runtime","builder identity is not verified yet","no observed match outcomes yet"],"rank_breakdown":{"adoption":0.05,"quality":0.26,"ecosystem":0.39999999999999997,"match_graph":0.25,"freshness":0.52,"weights":{"adoption":0.3,"quality":0.2,"ecosystem":0.15,"match_graph":0.3,"freshness":0.05}},"observed_outcomes":{"matches":0,"success_rate":0,"avg_confidence":0,"top_intents":[],"last_matched_at":null},"maintenance":{"status":"active","updated_at":"2026-06-17T09:51:03.040Z","last_scraped_at":"2026-05-03T14:00:05.262Z","last_commit":null},"community":{"stars":null,"forks":null,"weekly_downloads":null,"model_downloads":null,"model_likes":null}},"distribution":{"claim_url":"https://unfragile.ai/submit?claim=go-telegram-bot","compare_url":"https://unfragile.ai/compare?artifact=go-telegram-bot"}},"signature":"YFmPiFQ9iJb5TL1xBtWQNIqP4F13SLdCLYrFr3vVz8Px1x2E4yXJNTGs/By2ZTe29nO46FX8zHYngynAjPNWCQ==","signedAt":"2026-06-19T16:59:43.998Z","signedBy":"unfragile.ai","version":1},"_links":{"self":"https://unfragile.ai/api/v1/passport/go-telegram-bot","artifact":"https://unfragile.ai/go-telegram-bot","verify":"https://unfragile.ai/api/v1/verify?slug=go-telegram-bot","publicKey":"https://unfragile.ai/api/v1/trust-passport-public-key","spec":"https://unfragile.ai/trust","schema":"https://unfragile.ai/schema.json","docs":"https://unfragile.ai/docs"}}