🌙
BotStrike
Introduction
Installation
track()
Lien
Compteur & Liste
Exemples
Récapitulatif

🔗 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.

💡 Comment ça marche ? — Quand un utilisateur clique sur 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

  1. Ouvrez votre bot dans l'application BotStrike
  2. Allez dans l'onglet 📚 Bibliothèque (7ème onglet)
  3. Trouvez ReferralLib dans la liste
  4. Cliquez sur le bouton « Installer sur [nom du bot] »
  5. C'est fait ! Vous pouvez maintenant utiliser RefLib dans vos commandes
⚠️ Sans installation — Si vous utilisez 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.
✅ Désinstallation — Vous pouvez désinstaller la bibliothèque à tout moment depuis le même onglet. Les données de parrainage déjà enregistrées sont conservées.

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
JavaScript
Python
// 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
})
💡 Bon à savoir — Le préfixe par défaut est "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.

JavaScript
Python
// 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é.

JavaScript
Python
// 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.

JavaScript
Python
// 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.

JavaScript
Python
// 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.

JavaScript
Python

📄 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)
💡 Astuce — Vous pouvez ajouter un système de récompenses en combinant 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 }]
⚠️ Important — N'oubliez pas d'installer ReferralLib via l'onglet Bibliothèque de votre bot avant d'utiliser RefLib. Sans installation, toute utilisation provoquera une erreur.
✅ Python — En Python, les méthodes sont disponibles en camelCase et en snake_case : RefLib.getRefCount() et RefLib.get_ref_count() sont équivalents.