🔗 ReferralLib — Système de Parrainage
Suivez les parrainages, générez des liens d'invitation et récompensez vos utilisateurs avec la bibliothèque ReferralLib
Introduction
La bibliothèque ReferralLib permet de mettre en place un système de parrainage complet dans votre bot Telegram. Elle gère automatiquement le suivi des liens d'invitation, le comptage des filleuls et la liste des utilisateurs parrainés.
🔗 RefLib.track()
Fonction principale — détecte et enregistre les parrainages quand un utilisateur rejoint via un lien /start. Appelez-la dans la commande /start.
📊 RefLib.getRefCount() / RefLib.getRefList()
Obtenir le nombre de filleuls et la liste complète des utilisateurs parrainés.
🔑 RefLib.getLink()
Génère le lien de parrainage unique pour chaque utilisateur.
https://t.me/votre_bot?start=ref123456, Telegram envoie /start ref123456 au bot. ReferralLib extrait l'ID du parrain, enregistre le parrainage et appelle vos callbacks.
Installation
ReferralLib est une bibliothèque installable depuis l'application BotStrike. Vous devez l'installer sur votre bot avant de pouvoir l'utiliser dans vos commandes.
📱 Étapes d'installation
- Ouvrez votre bot dans l'application BotStrike
- Allez dans l'onglet 📚 Bibliothèque (7ème onglet)
- Trouvez ReferralLib dans la liste
- Cliquez sur le bouton « Installer sur [nom du bot] »
- C'est fait ! Vous pouvez maintenant utiliser
RefLibdans vos commandes
RefLib sans avoir installé la bibliothèque, vous recevrez une erreur :❌ ReferralLib BotStrike n'est pas installée. Allez dans Bibliothèques → ReferralLib → Installer pour l'activer.
RefLib.track() — Suivi des parrainages
La fonction track() est le cœur de ReferralLib. Appelez-la dans votre commande /start pour détecter automatiquement les parrainages.
Options (trackOptions)
| Attribut | Description |
|---|---|
onTouchOwnLink() |
Appelé quand l'utilisateur clique sur son propre lien de parrainage |
onAlreadyAttracted() |
Appelé quand l'utilisateur a déjà été parrainé |
onAttracted(byUser) |
Appelé quand un nouveau parrainage est enregistré. byUser contient { telegramid, id } du parrain |
linkPrefix |
Préfixe du lien. Par défaut "ref" → t.me/bot?start=ref123456 |
// Commande /start — Suivi des parrainages
function onTouchOwnLink() {
Bot.sendMessage("🔁 C'est votre propre lien de parrainage !")
}
function onAlreadyAttracted() {
Bot.sendMessage("✅ Vous avez déjà rejoint via un lien de parrainage.")
}
function onAttracted(byUser) {
Bot.sendMessage("🎉 Bienvenue ! Vous avez été parrainé par l'utilisateur " + byUser.telegramid)
}
RefLib.track({
onTouchOwnLink: onTouchOwnLink,
onAlreadyAttracted: onAlreadyAttracted,
onAttracted: onAttracted
// linkPrefix: "ref" ← valeur par défaut
})
# Commande /start — Suivi des parrainages
def on_touch_own_link():
Bot.sendMessage("🔁 C'est votre propre lien de parrainage !")
def on_already_attracted():
Bot.sendMessage("✅ Vous avez déjà rejoint via un lien de parrainage.")
def on_attracted(by_user):
Bot.sendMessage("🎉 Bienvenue ! Vous avez été parrainé par l'utilisateur " + str(by_user["telegramid"]))
RefLib.track({
"onTouchOwnLink": on_touch_own_link,
"onAlreadyAttracted": on_already_attracted,
"onAttracted": on_attracted
# "linkPrefix": "ref" ← valeur par défaut
})
"ref". Le lien généré sera donc t.me/votre_bot?start=ref123456 où 123456 est l'ID Telegram du parrain.
Lien de parrainage
Utilisez RefLib.getLink() pour générer le lien de parrainage unique de l'utilisateur.
// Commande /reflink — Afficher le lien de parrainage
var link = RefLib.getLink()
Bot.sendMessage("🔗 Votre lien de parrainage :\n" + link +
"\n\nPartagez-le avec vos amis !")
Avec un préfixe personnalisé
// Préfixe personnalisé "inv" au lieu de "ref" var link = RefLib.getLink("MonBot", "inv") Bot.sendMessage("🔗 Lien : " + link) // → https://t.me/MonBot?start=inv123456
# Commande /reflink — Afficher le lien de parrainage
link = RefLib.getLink()
Bot.sendMessage("🔗 Votre lien de parrainage :\n" + link +
"\n\nPartagez-le avec vos amis !")
Avec un préfixe personnalisé
# Préfixe personnalisé "inv" au lieu de "ref" link = RefLib.getLink("MonBot", "inv") Bot.sendMessage("🔗 Lien : " + link) # → https://t.me/MonBot?start=inv123456
Qui m'a parrainé ?
Utilisez RefLib.getAttractedBy() pour savoir par qui l'utilisateur actuel a été parrainé.
// Commande /parrain
var sponsor = RefLib.getAttractedBy()
if (sponsor) {
Bot.sendMessage("👤 Vous avez été parrainé par : " + sponsor.telegramid)
} else {
Bot.sendMessage("Vous n'avez pas été parrainé.")
}
# Commande /parrain
sponsor = RefLib.getAttractedBy()
if sponsor:
Bot.sendMessage("👤 Vous avez été parrainé par : " + str(sponsor["telegramid"]))
else:
Bot.sendMessage("Vous n'avez pas été parrainé.")
Compteur & Liste de filleuls
Nombre de filleuls
Utilisez RefLib.getRefCount() pour obtenir le nombre de personnes parrainées.
// Commande /refcount
var count = RefLib.getRefCount()
Bot.sendMessage("📊 Vous avez parrainé " + count + " personne(s)")
// Compteur d'un autre utilisateur
var count = RefLib.getRefCount("987654321")
Bot.sendMessage("Cet utilisateur a " + count + " filleul(s)")
# Commande /refcount
count = RefLib.getRefCount()
Bot.sendMessage("📊 Vous avez parrainé " + str(count) + " personne(s)")
# Compteur d'un autre utilisateur
count = RefLib.getRefCount("987654321")
Bot.sendMessage("Cet utilisateur a " + str(count) + " filleul(s)")
Liste des filleuls
Utilisez RefLib.getRefList() pour obtenir la liste complète. Chaque élément contient id, first_name et date.
// Commande /reflist
var list = RefLib.getRefList()
if (list.length === 0) {
Bot.sendMessage("Vous n'avez encore parrainé personne.")
} else {
var msg = "👥 Vos " + list.length + " filleul(s) :\n\n"
for (var i = 0; i < list.length; i++) {
msg += (i + 1) + ". " + list[i].first_name +
" (ID: " + list[i].id + ")\n"
}
Bot.sendMessage(msg)
}
# Commande /reflist
ref_list = RefLib.getRefList()
if len(ref_list) == 0:
Bot.sendMessage("Vous n'avez encore parrainé personne.")
else:
msg = "👥 Vos " + str(len(ref_list)) + " filleul(s) :\n\n"
for i, user in enumerate(ref_list):
msg += str(i + 1) + ". " + user["first_name"] + \
" (ID: " + user["id"] + ")\n"
Bot.sendMessage(msg)
Exemples complets
Bot de parrainage complet
Voici un exemple complet avec 4 commandes qui forment un système de parrainage fonctionnel.
📄 Commande /start
RefLib.track({
onTouchOwnLink: function() {
Bot.sendMessage("🔁 C'est votre propre lien !")
},
onAlreadyAttracted: function() {
Bot.sendMessage("✅ Vous êtes déjà inscrit via un parrainage.")
},
onAttracted: function(byUser) {
Bot.sendMessage("🎉 Bienvenue ! Parrainé par " + byUser.telegramid)
}
})
Bot.sendMessage("👋 Bienvenue sur le bot !\n\n" +
"📎 /reflink — Votre lien de parrainage\n" +
"📊 /refcount — Nombre de filleuls\n" +
"👥 /reflist — Liste de vos filleuls\n" +
"👤 /parrain — Qui vous a parrainé")
📄 Commande /reflink
var link = RefLib.getLink()
Bot.sendMessage("🔗 Votre lien de parrainage :\n" + link +
"\n\n📤 Partagez-le pour inviter vos amis !")
📄 Commande /refcount
var count = RefLib.getRefCount()
Bot.sendMessage("📊 Nombre de filleuls : " + count)
📄 Commande /reflist
var list = RefLib.getRefList()
if (list.length === 0) {
Bot.sendMessage("Aucun filleul pour le moment.")
} else {
var msg = "👥 Vos filleuls :\n"
for (var i = 0; i < list.length; i++) {
msg += "\n" + (i+1) + ". " + list[i].first_name
}
Bot.sendMessage(msg)
}
📄 Commande /start
def on_own():
Bot.sendMessage("🔁 C'est votre propre lien !")
def on_already():
Bot.sendMessage("✅ Vous êtes déjà inscrit via un parrainage.")
def on_attracted(by_user):
Bot.sendMessage("🎉 Bienvenue ! Parrainé par " + str(by_user["telegramid"]))
RefLib.track({
"onTouchOwnLink": on_own,
"onAlreadyAttracted": on_already,
"onAttracted": on_attracted
})
Bot.sendMessage("👋 Bienvenue sur le bot !\n\n" +
"📎 /reflink — Votre lien de parrainage\n" +
"📊 /refcount — Nombre de filleuls\n" +
"👥 /reflist — Liste de vos filleuls\n" +
"👤 /parrain — Qui vous a parrainé")
📄 Commande /reflink
link = RefLib.getLink()
Bot.sendMessage("🔗 Votre lien de parrainage :\n" + link +
"\n\n📤 Partagez-le pour inviter vos amis !")
📄 Commande /refcount
count = RefLib.getRefCount()
Bot.sendMessage("📊 Nombre de filleuls : " + str(count))
📄 Commande /reflist
ref_list = RefLib.getRefList()
if len(ref_list) == 0:
Bot.sendMessage("Aucun filleul pour le moment.")
else:
msg = "👥 Vos filleuls :\n"
for i, user in enumerate(ref_list):
msg += "\n" + str(i+1) + ". " + user["first_name"]
Bot.sendMessage(msg)
RefLib.getRefCount() avec Bot.setProp() pour offrir des bonus aux utilisateurs qui atteignent un certain nombre de filleuls.
Récapitulatif
| Fonction | Description | Retour |
|---|---|---|
RefLib.track(options) |
Détecte et enregistre un parrainage (appeler dans /start) |
— |
RefLib.getLink() |
Lien de parrainage de l'utilisateur courant | string |
RefLib.getLink(botName, prefix) |
Lien avec nom du bot et préfixe personnalisés | string |
RefLib.getAttractedBy() |
Données du parrain de l'utilisateur courant | { telegramid, id } ou null |
RefLib.getRefCount() |
Nombre de filleuls de l'utilisateur courant | number |
RefLib.getRefCount(userId) |
Nombre de filleuls d'un utilisateur spécifique | number |
RefLib.getRefList() |
Liste des filleuls de l'utilisateur courant | [{ id, first_name, date }] |
RefLib.getRefList(userId) |
Liste des filleuls d'un autre utilisateur | [{ id, first_name, date }] |
RefLib. Sans installation, toute utilisation provoquera une erreur.
RefLib.getRefCount() et RefLib.get_ref_count() sont équivalents.