惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

H
Help Net Security
T
ThreatConnect
SecWiki News
SecWiki News
F
Future of Privacy Forum
AWS News Blog
AWS News Blog
C
Cisco Blogs
A
Arctic Wolf
Vercel News
Vercel News
The GitHub Blog
The GitHub Blog
Scott Helme
Scott Helme
V
V2EX
博客园 - 叶小钗
阮一峰的网络日志
阮一峰的网络日志
K
Kaspersky official blog
G
Google Developers Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
P
Privacy International News Feed
C
Cyber Attacks, Cyber Crime and Cyber Security
N
News | PayPal Newsroom
Schneier on Security
Schneier on Security
NISL@THU
NISL@THU
Microsoft Azure Blog
Microsoft Azure Blog
量子位
The Hacker News
The Hacker News
Stack Overflow Blog
Stack Overflow Blog
Security Latest
Security Latest
M
Microsoft Research Blog - Microsoft Research
Google Online Security Blog
Google Online Security Blog
博客园_首页
C
CXSECURITY Database RSS Feed - CXSecurity.com
I
InfoQ
Google DeepMind News
Google DeepMind News
Y
Y Combinator Blog
The Cloudflare Blog
Microsoft Security Blog
Microsoft Security Blog
Martin Fowler
Martin Fowler
Cisco Talos Blog
Cisco Talos Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
Troy Hunt's Blog
F
Fox-IT International blog
S
Security @ Cisco Blogs
博客园 - 司徒正美
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
C
Comments on: Blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
L
LINUX DO - 最新话题
GbyAI
GbyAI
Project Zero
Project Zero
腾讯CDC
T
Tailwind CSS Blog

DEV Community

LangGraph 워크플로우 템플릿 (v39) The git Commands You Forgot Exist (And Why AI Workflows Make Them Relevant Again) Six Levels of MCP Servers One container to replace Grafana + Loki + Tempo + Prometheus The Request/Response Cycle, HTTP, Auth, JWT, OAuth & Sessions — Explained Properly Python Week 3: We Stopped Repeating Ourselves (Loops!) Creating a Custom Grid Editor tool in Unreal Engine I Got 96% Recall on LLM Hallucination Detection With No ML Model – Just 50 Lines of Python A practitioner's guide to getting more value out of AI coding: agent quality & token optimization How to Handle Telegram Albums in Telegraf I Built a Multilingual Spam Detection Dataset with 149K+ Messages Across 23 Languages How to Handle Telegram Albums in grammY RAG 시스템 실전 구축 (v38) Beyond Pip Install: Why Your AI Agent Needs a "Hermetic" Life-Support System to Survive Resume Building using HTML & CSS SpecFlow: Multi-Agent SDD in Cursor (4 phases, /approve, single code writer) Running ASR for smart homes in the NPU of Intel processors "Building a CI/CD Pipeline From Scratch: A Practical Guide for Developers (with GitHub Actions)" SpecFlow: SDD multi-agente en Cursor (4 fases, /approve, un solo escritor de código) How to Extract Your Full Team Hierarchy from HubSpot (the API doesn't expose it) Adobe Commerce Cloud now costs $40k/year. We migrated from Adobe Commerce to Magento Open Source — here's the honest breakdown .klickd v4.0.0 — Portable AI memory with constraints, strict schemas, and test vectors We Trust Third Party Code, It’s Time to Trust AI Generated Code LangGraph 워크플로우 템플릿 (v38) Sustainable AI Starts with Efficient AI Find Remove duplicated files in Google Drive How to Detect GPU Waste in a Kubernetes Cluster The Privacy Bug in My First Chrome Extension (And How to Avoid It) Serverless Mental Models: What They Don't Tell You Before You Build Preventing GPT hallucination in automated content pipelines: how I structure Make.com flows with data injection Hmm, where were we? AI Visibility Tools, Math Proofs, and Stripped Guardrails Shape Developer Landscape How AI and Electronics Are Changing Healthcare Devices: The Future of Smart Healthcare Author: Shivam Wakade | Founder, PrivSR Making Claude Sound Like Optimus Prime Understanding Reinforcement Learning with Human Feedback Part 5: Training the Reward Model with Loss Functions Learning Progress Pt.20 How Secure LoRa Communication Devices Work: Building the Future of Private and Long-Range Connectivity Author: Shivam Wakade | Founder, PrivSR How I Rebuilt an RPG Map Editor with Rust, React, and WASM Building a System That Automates YouTube Post-Production Building a 100% Serverless Digital Asset Packager in the Browser Game Recommended AI What is Human-In-The-Loop (HITL)? Deep Dive: React Server Components in TanStack Start Migrating off Google Analytics: Umami vs Plausible vs Fathom Building a Portfolio That Actually Demonstrates Software Engineering Async/Await in JavaScript: From Callbacks to Clean Code (2026) Benchmarking LLM Structured Outputs Angular 21 Multiselect Dropdown: A Migration-Friendly Component with Live Functional Tests ShareBox v5 — GPU transcoding, Netflix-style grid, and why I don't need Plex anymore TOML Schema is live Handling Duplicate Shopify Webhook Events (And Why You Must) Original Kubernetes Dashboard — retired upstream, upgraded to Angular 21. لماذا أسست ترينافو للتجار العرب الذين تتجاهلهم المنصات الغربية Construyendo un recomendador de películas en Python: de los datos al modelo When APIs Lie: A Lesson in Defensive Debugging Pope Leo XIV's AI Encyclical: What Builders Must Know (2026) Donna v0.3.0 HTB — MonitorsFour | Writeup The Free Tool You Trust Is the One You Should Fear the Most HTB — MonitorsFour | Writeup Fr 97. Embeddings and Vector Search: Semantic Search That Works Deep Dive: Building "Gravity Paint" - A Tactile Physics Instrument with React, Matter.js, and p5.js ABAP Unit Testing with Test Doubles and Mocking Frameworks: A Senior Architects Guide to Isolating Dependencies in SAP S/4HANA LeetCode Solution: 5. Longest Palindromic Substring kovax-react 0.8: Tailwind v4 preset, FormField adapters, ColorModeScript, and Storybook I built an AI résumé tool that refuses to lie about your experience The hat Azure Entra ID User & Role Management — Step-by-Step Practical Guide With A Simple Excercise The AI-Native Company: How a Single Founder Can Build Global Organizations Powered by AWS and an Ecosystem of Artificial Intelligences Building a Lightweight Remote MCP Knowledge Base on Cloudflare Workers Why I built Trinavo for the MENA merchants Western platforms ignore The N+1 Query That Killed Our Database, And How I Fixed It Docstrings vs Markdown Docs: What Should Developers Actually Write? Training Data Provenance: The Manifest Diff That Explains the Hash Add SVGIcons MCP to Claude Code and Find SVG Icons from Your Terminal 3 CLI Tools You Can Buy with Crypto — No KYC, No Subscriptions COSS Weekly: OpenClaw competitor NanoClaw Raises $12M, Dust Raises $40M, Sonar Acquires Gitar, and more How to know if you actually need mobile proxies (without buying any) Building Cursor for Community: A Buildathon Built on Time Pressure How we built a PII masking layer for LLM APIs — local detection, reversible tokens, one line to integrate Why MLFQ Was Way Ahead of Its Time Add Runtime Limits to Claude Agent Workflows I Built a Prompt Injection Detector with 98% Recall on Unseen Attacks. Here's Why Data Beat Architecture. 8 Vite Config Options Every Developer Should Know (Vite 8) Feature Flags That Forgot to Leave Why Trust Infrastructure Is Becoming the Hidden Layer of Donation Platforms XyPriss: Rethinking Core Performance and Zero-Trust Architecture in Modern Backends Designing Configuration for Scalable Treasure Hunts SSH Login Delays: The 10-Second Wait That Drives Us Crazy Building Production Multi-Agent Workflows in n8n: What 50 Deployments Taught Us A 3-layer memory system that gives Claude Code persistent context across sessions. Trishul SNMP Suite 2.0.1: Better MIBs, Traps, and SNMP Labs How I built a production AI SaaS as a solo developer Auto-labelling 1.2M robotics frames with VLMs: a failover story India’s Laws Were Not Built for AI — And Courts Are Filling the Gap skill-insp: A Skill That Scores Other Skills Clprolf Minimalist Messaging in the Age of AI What's actually in a good .cursorrules file? I built 10 of them — here's what I learned Building Strong Python Basics – Loops, Functions and Logic
我做了个付费 Telegram bot。Telegram Stars 实际给开发者多少钱,我算了一笔账。
Слава Жулано · 2026-05-26 · via DEV Community

几个月前我上线了一个付费 Telegram bot。没有 Stripe,没有 checkout 页面,没有任何 app store 账号。整个订阅完全跑在 Telegram Stars 上——Telegram 自己的内置虚拟货币。后来收到了挺多问题,最有意思的答案其实是那笔数学账,但没人公开写过。所以我来写。

背景

PolySignal 是一个 Telegram bot,当 Polymarket 上的高水平钱包有新成交时,它会给关注者发提醒。有免费版,也有两个付费档(Signal 150⭐/月,Pro 750⭐/月)。订阅按 30 天循环计费,在 Telegram 里两下就能取消。没有支付服务商,没有收银台流程,连收货地址都不需要填。

如果你从来没在 Telegram 里卖过东西:你错过的是互联网上最干净的支付界面之一。但同时,账本里也藏着一处不太方便的地方。这两件事都值得知道。

用户怎么付钱

Telegram 用户先去买"Stars"——Telegram 内置虚拟货币——通过 Apple 内购、Google 内购,或 Telegram 网页内购。零售价大致是每颗 0.02 美元(比如 75⭐ 卖 1.49 美元,具体看 bundle)。然后用户拿这些 Stars 在付费 bot 里消费。在用户视角里:点一下、确认、用手机上已经绑定好的 Apple/Google 账户付款。没有摩擦。没有"我得去翻卡片"。零字段。

这就是迄今我做过的产品里,全球范围内摩擦最低的订阅支付界面。有些用户能为 PolySignal 付费,但如果让他们走 Stripe checkout,我根本接触不到这些人——同一个 Telegram,从来没输入过卡号,整个流程跟买高级表情包是同一种感觉。

开发者拿到多少

这里才是具体的数学。用户通过 Apple/Google 付款 → Apple/Google 抽 30% → Telegram 再抽一刀 → 剩下的进到你 Telegram bot 的 Stars 余额。之后你用 Fragment(Telegram 自己的市场)把 Stars 提到 TON(TON 是 Telegram 关联的网络代币),再从 TON 换成法币。

业内常引用的开发者端汇率是:约每颗 Star 0.013 美元——这是 Apple/Google 和 Telegram 各自抽完之后,一颗 Star 在开发者手里值多少。

也就是说:

  • Signal 150⭐/月 → 我大约净拿到 1.95 美元。
  • Pro 750⭐/月 → 我大约净拿到 9.75 美元。

数字看着小,因为它就是这么小。两点说明:

  1. 150 / 750 这两个定价是故意定低的。产品还没被验证,我现在收集的是转化数据;在优化每用户收入之前,我更想先看看到底有没有人愿意转化。Stars 的折算率是固定的,但我自己的零售定价是个旋钮,等我手里有了留存/流失数据再去拧它。
  2. 开发者侧的毛利是真实的:约 95%。没有什么值得提的人均基础设施成本,没有客服团队,没有广告预算。问题在量,不在单位经济模型。

提现这一边:Stars 收款不那么方便的部分

下面这部分是给 Telegram Stars 站台的人通常不会说的:真正把钱提出来的过程,本身就是一个故事。

Fragment 是从你 Telegram bot Stars 余额到真实货币之间的桥。能用,但是:

  • 最低提现 1,000 Stars(约 13 美元)。
  • 首次提现要延迟 21 天 — 今天赚到的 Stars,要等三周后才有资格被提出来。
  • 结算用的是 TON,不是美元。 Fragment 把你的 Stars 卖成 TON;接下来你自己把 TON 通过有 KYC 和手续费的交易所换成法币。
  • Fragment 要求 Telegram 登录 + 一个绑定的 TON 钱包。交易金额到某个阈值之后还会需要身份验证——这块"没有公开文档",意思就是:你跨过门槛那天就会发现。

如果你之前用惯了 Stripe——每日打款、直接进银行账户、链路里没有任何加密资产——这套东西会让你觉得过于古旧。但如果你本来就在做加密原生业务——TON 完全 OK,就是又一条通道而已。

最诚实的总结是:用户端方便,开发者端不方便。 用户拿到的是一个低到几乎感受不到的支付流程;开发者拿到的是一条加密 off-ramp,第一轮要走三周。

那我为什么还是这么做了

三个原因:

1. 全球触达 + 零合规负担。 我没有公司主体。我没和任何支付服务商打过交道。我没填过一张"请告诉我们你的业务模式"的表。Telegram(连同 Apple/Google)在用户买 Stars 的那个节点上就把消费 VAT 收掉了。我看不到卡数据。我看不到银行账户信息。我也无法对从来没经过我手的东西承担责任。

2. 产品本来就活在 Telegram 里。 PolySignal 的全部用户界面都是 Telegram 消息。让用户跳出 app、去某个第三方页面填信用卡,会是一笔相当重的转化税——而且我的目标用户里有相当一部分在 Stripe 根本进不去的国家。

3. "一个独立开发者能不能做出来"这条门槛异常低。 Telegram 的 Bot API 把 createInvoiceLink 写得很清楚。循环订阅有 subscription_period 参数。自动续费固定按 30 天一档(这点烦人——没有周付、没有年付的循环订阅)。successful_payment 这条 update 会在首次扣款和每个月的续费时各触发一次,并带一个 is_first_recurring 标记。整个计费层加起来大约 200 行 Python。Stripe 会更多。

给同样在考虑这条路的独立开发者一些话

  • 如果你的产品本来就活在 Telegram 里,Stars 是正确的通道。 内嵌支付带来的转化收益,多半能盖过比较麻烦的提现机制。
  • 如果你的产品在 web app 或独立移动 app 里,Stars 多半不值得为它绕个支付弯子
  • 提现链路(Fragment → TON → 法币)请在没钱进来之前就先打通。等钱已经在账上时才发现要等三周,体验非常糟。
  • "只能 30 天循环"是一个真实的产品约束。年付计划必须做成一次性扣款,到期后手动延期。提前为这件事在产品上做好设计。
  • 留意用户那边实际被扣了多少。Apple/Google 可以在不改变开发者侧每 Star 折算率的前提下,单方面调整 Stars 的用户零售定价。你在 Telegram 后台看到的数字才是关键。

最后,说回那个 bot

PolySignal 就是我围绕这一整套折腾出来的 bot。当 Polymarket 上的高水平钱包有新成交时,它把提醒推到 Telegram。免费版有;Signal 档实时推送;Pro 档有共识提醒。文章上面讲到的整套 Telegram Stars 订阅机制,就是这个产品里正在跑的同一套。

如果你想从用户视角感受一下"完全用 Stars 计费"是什么样:t.me/PolySignalAlertsBot

如果你也在做付费 Telegram bot,想交换一下经验——评论区留言,我会回。