Guides
Recette : bot Telegram
Vendez des commandes de bot, un rôle ou un groupe privé. Chaque utilisateur reçoit sa propre facture ; un webhook signé débloque l’accès.
Le bot ne voit jamais l’argent. Sur /buy, il envoie à l’utilisateur son propre lien de facture ; votre serveur reçoit invoice.fulfilled et débloque. Chaque commande payante interroge Perly Pay : un redémarrage ne perd rien. Discord marche de la même façon, avec un rôle.
sell-bot-access du plugin Perly Pay réalise cette recette dans votre projet. L’exemple exécutable est examples/telegram-bot (MIT) dans le dépôt du plugin.Comment ça marche
- 1
Un produit et un prix
Unique ou à vie pour « pour toujours », durée fixe pour les pass, abonnement pour les adhésions renouvelées par facture.
- 2
Un client par utilisateur du chat
external_id: "tg:<user id>". Ne demandez un e-mail que pour les abonnements : les renouvellements y partent. - 3
/buy
Une facture avec l’id du chat dans
metadata, envoyée sous forme de bouton. Une facture par utilisateur et par jour, grâce à la clé d’idempotence. - 4
Débloquez
Sur
invoice.fulfilled, lisez l’id du chat dansmetadataet répondez : un message, un lien d’invitation à usage unique, un rôle. - 5
Commandes payantes
entitlements.check({ customer_external_id: "tg:<id>", product }).
Lancez l’exemple
- 1
Installez
npm installdansexamples/telegram-bot(Node 20.12+). - 2
Clé
Copiez
.env.examplevers.envet mettez une clé de test (sk_test_…) dansPERLY_PAY_SECRET_KEY. - 3
Préparez
npm run setupcrée le produit et le prix avec votre clé et affiche leurs ids pour.env. - 4
Lancez
npm start(ounpm run dev), comme l’indique son README. - 5
Payez sans portefeuille
Envoyez
/buyau bot, ouvrez Pay et touchez Simulate payment : le bot répond « Payment confirmed » et/secretrépond.
Pièges
- Un seul lien de paiement partagé pour tous : impossible de savoir qui a payé. Une facture par utilisateur, avec l’id du chat.
- Débloquer quand l’utilisateur touche « J’ai payé ». Seuls le webhook ou
entitlements.checkdébloquent. - L’accès gardé dans la mémoire du bot. Il disparaît au redémarrage ; interrogez Perly Pay.