PyRepka - библиотека для работы с API реферальной программой "Репка"
- 🤖 Единая реферальная программа, для большой системы ботов.
- 💵 Система позволяющая получать бонусы за приглашения и тратить их в любом боте с поддержкой РЕПКИ.
- 👑 Приглашай пока тебя не пригласили. Первым быть выгодно!
Установка через pip:
pip install pyrepka
from pyrepka import PyRepka
py_repka = PyRepka(bot_access_token, bot_username, ip, port)
Параметр | Тип | Описание |
---|---|---|
bot_access_token | str | Токен для подключения к Репке |
bot_username | str | Юзернейм бота |
ip | str | IP-адрес сервера, на котором работает API |
port | str | Порт сервера, на котором работает API |
Все эти данные выдает разработчик API
Проверить, является ли пользователь участником реферальной программы
GET-запрос
Параметр | Тип | Описание |
---|---|---|
user_id | int | ID пользователя, которого необходимо проверить |
py_repka.check_user_ref(user_id)
Добавить пользователя в реф. программу
POST-запрос
Параметр | Тип | Описание |
---|---|---|
user_id | int | ID пользователя, который добавляется в реф. программу |
first_name | str | Имя пользователя |
last_name | str | Фамилия пользователя |
username | str | Юзернейм пользователя |
inviter_id | int / None | ID пользователя, который пригласил, если он есть |
py_repka.add_user_to_ref(
user_id,
first_name,
last_name,
username,
inviter_id
)
Получить количество пользователей на каждом уровне
GET-запрос
Параметр | Тип | Описание |
---|---|---|
user_id | int | ID пользователя, у которого нужно узнать количество пользователей на каждом уровне |
py_repka.get_referral_users(user_id)
Получить баланс пользователя
GET-запрос
Параметр | Тип | Описание |
---|---|---|
user_id | int | ID пользователя, баланс которого нужно узнать |
py_repka.get_user_balance(user_id)
Покупка (за баллы)
POST-запрос
Параметр | Тип | Описание |
---|---|---|
user_id | int | ID пользователя, который совершает покупку |
points | int | Количество баллов, которые будут списаны с баланса пользователя |
reason | str | Название операции |
py_repka.purchase(
user_id,
points,
reason
)
Зафиксировать факт пополнения баланса пользователя с помощью эквайринга
POST-запрос
Параметр | Тип | Описание |
---|---|---|
user_id | int | ID пользователя, чей баланс пополняется |
points | int | Количество баллов, которое пополняется на баланс пользователя |
reason | str | Название операции |
py_repka.replenishment(
user_id,
points,
reason
)
from pyrepka import PyRepka
# Инициализация объекта реферальной программы
py_repka = PyRepka(bot_access_token, bot_username, ip, port)
@router.message(F.text.contains("/start"))
async def start_handler(message: Message):
# ID пригласителя
try:
invited_by = message.text.split()[1]
except:
invited_by = None
# Добавление в реферальную программу
py_repka.add_user_to_ref(
message.from_user.id,
message.from_user.first_name,
message.from_user.last_name,
message.from_user.username,
invited_by
)
from pyrepka import PyRepka
# Инициализация объекта реферальной программы
py_repka = PyRepka(bot_access_token, bot_username, ip, port)
@router.callback_query(F.data.contains("purchase"))
async def purchase_handler(callback: CallbackQuery):
# Списывание средств баланса
response = py_repka.purchase(
callback.from_user.id,
config.PRICE,
messages.TEXT
)
# Проверка ответа на списывание средств с баланса
if response.status_code == 200:
# Вывод сообщения об успешном списании средств с баланса
await callback.answer(
messages.SUCCESS_PURCHASE,
show_alert=True
)
# В случае ошибки
else:
# Вывод сообщения о нехватке средств на балансе
await callback.answer(
messages.NO_MONEY,
show_alert=True
)