Посібники
Рецепт: Telegram-бот
Продавайте команди бота, роль чи приватну групу. Кожен користувач отримує власний рахунок; підписаний вебхук відкриває доступ.
Бот грошей не бачить. На /buy він надсилає користувачеві його власне посилання на рахунок; ваш сервер чує invoice.fulfilled і відкриває доступ. Кожна платна команда питає Perly Pay, тож після перезапуску нічого не губиться. Discord — так само, через роль.
sell-bot-access плагіна Perly Pay для Claude Code — плагін і його приклад examples/telegram-bot (MIT) уже на шляху. Доти будь-який асистент прочитає той самий скіл з /.well-known/skills/perly-pay-sell-bot-access/SKILL.md.Як це працює
- 1
Продукт і ціна
Разова або довічна — «назавжди», строкова — для перепусток, підписка — для членства з поновленням рахунком.
- 2
Клієнт на кожного користувача чату
external_id: "tg:<user id>". Пошту питайте лише для підписок: туди йдуть поновлення. - 3
/buy
Рахунок з ідентифікатором чату в
metadata, надісланий кнопкою. Один рахунок на користувача на день — завдяки ключу ідемпотентності. - 4
Відкрийте доступ
За
invoice.fulfilledвізьміть ідентифікатор чату зmetadataі відповідайте: повідомлення, одноразове запрошення, роль. - 5
Платні команди
entitlements.check({ customer_external_id: "tg:<id>", product }).
Запустіть приклад
- 1
Встановіть
npm installуexamples/telegram-bot(Node 20.12+). - 2
Ключ
Скопіюйте
.env.exampleу.envі впишіть тестовий ключ (sk_test_…) уPERLY_PAY_SECRET_KEY. - 3
Підготуйте
npm run setupстворює продукт і ціну вашим ключем та друкує їхні ідентифікатори для.env. - 4
Запустіть
npm start(абоnpm run dev), як каже його README. - 5
Сплатіть без гаманця
Напишіть боту
/buy, відкрийте Pay і натисніть Simulate payment: бот скаже «Payment confirmed», а/secretвідповість.
Пастки
- Одне спільне платіжне посилання на всіх: не видно, хто сплатив. Рахунок на кожного, з ідентифікатором чату.
- Відкривати доступ, коли користувач натиснув «Я сплатив». Відкриває лише вебхук або
entitlements.check. - Доступ у пам'яті бота. Після перезапуску його немає; питайте Perly Pay.