← Вернуться к каталогу
FinX Crypto Hub · Криптовалюты и трейдинг

Самописный бот для закрытого клуба FinX

Написал Telegram-бота на Python, без конструктора. Он связывает оплату и партнёрские программы с доступом в клуб. В одном меню — оплата картой, криптовалютой, проверка аккаунта Bitunix и доступ после покупки у Hash Hedge.

Задача

Для FinX Crypto Hub требовался бот с несколькими способами вступления. Нужно было связать оплату или выполнение партнёрских условий с конкретным Telegram-аккаунтом, выдать ссылку в закрытое сообщество и учитывать срок доступа.

Моя работа

Написал бота на Python, подключил API и уведомления от сервисов, добавил хранение оплат и сроков в SQLite. Реализовал выдачу приглашений, проверку окончания доступа и обработку повторных событий. Развернул приложение на VPS.

Как выглядит бот

Меню FinX-бота: оплата картой и криптовалютой, доступ через BitUnix и проп-фирму, обучение и отдел заботы

Главное меню

Участник выбирает способ получения доступа. Здесь же — переход к обучению и связь с отделом заботы.

Сообщение о создании криптовалютного счёта на 64 USD и кнопка перехода к оплате

Счёт на оплату

Бот сообщает сумму и даёт ссылку на платёжную страницу. На скриншоте — созданный счёт, до подтверждения оплаты.

Доступ через Hash Hedge: описание условий и кнопки выбора России и СНГ или остального мира

Покупка у партнёра

Для Hash Hedge участник выбирает свой регион и переходит по соответствующей персональной ссылке.

Как можно получить доступ

GetCourse

Оплата картой

Бот формирует ссылку на оплату с Telegram ID участника. При создании заказа может отправить ссылку на его оплату прямо в переписку.

Когда GetCourse передаёт подтверждение оплаты, бот находит нужного участника и оформляет период доступа на 30 дней.

NOWPayments

Оплата криптовалютой

Бот создаёт отдельный счёт и сохраняет, кому он принадлежит. Участник переходит на платёжную страницу сервиса.

Доступ выдаётся после окончательного подтверждения платежа. До этого бот проверяет подпись уведомления, заказ и сумму.

Bitunix Partner API

Проверка аккаунта на бирже

Участник регистрируется по партнёрской ссылке FinX и отправляет UID — номер аккаунта на бирже. Бот проверяет, что аккаунт относится к прямым рефералам FinX, и запрашивает текущий баланс.

По условиям проекта баланс от 200 USDT даёт 30 дней доступа. Для нового периода проверка проводится повторно.

Hash Hedge

Покупка у партнёра

Бот выдаёт персональные ссылки для России и СНГ или других стран. В ссылке передаётся Telegram ID участника.

Обработчик принимает уведомление о покупке, проверяет принадлежность к FinX и оформляет 30 дней доступа. Одна регистрация права на вход не даёт.

Меньше процессов в GetCourse

Для клуба в GetCourse настроены три процесса по заказам: создание, оплата и отмена. Проверку права на вход и сроков доступа вынес в самописного бота — для них не понадобились отдельные процессы с таймерами и повторяющимися условиями в GetCourse.

Бот хранит сроки в своей базе, учитывает оплату и партнёрские способы входа, выдаёт приглашения и закрывает доступ, когда закончились все действующие периоды. Эти правила собраны в коде и не дублируются в процессах GetCourse.

Три процесса FinX Hub в GetCourse: создание заказа, оплата заказа и отмена заказа
Процессы клуба на стороне GetCourse. Каждый связан с событием по заказу; проверка срока доступа выполняется в боте.
Процесс создания заказа: начало работы, блок «Вызвать URL», завершение процесса
Пример процесса создания заказа: блок «Вызвать URL» передаёт событие боту через вебхук. Дальнейшую обработку выполняет код бота.

Как бот управляет доступом

Выдаёт ссылку для вступления

После подтверждения бот сохраняет срок и отправляет приглашение, рассчитанное на одно вступление. Если человек уже в клубе, повторно приглашать его не нужно.

Учитывает все способы входа

Оплата и партнёрская проверка сохраняются отдельно. Если один период закончился, но другой ещё действует, участник остаётся в клубе.

Закрывает истёкший доступ

Фоновая проверка удаляет обычного участника, когда закончились все его периоды. После новой оплаты или проверки он может вступить снова. Владельца и администраторов бот не удаляет.

Не обрабатывает одну оплату дважды

Сервисы могут повторно прислать уведомление. Бот сверяет идентификатор заказа или события: повтор не создаёт ещё один период и не отправляет подтверждение заново.

Что учёл при разработке

В Bitunix проверяется текущий баланс, а не сумма прошлых пополнений или торговый объём. Если баланс снизился после успешной проверки, уже выданный период сохраняется до своей даты окончания; следующая проверка может не дать новый доступ.

Перед созданием криптовалютного счёта бот проверяет свои права в сообществе. Если не может пригласить участника и управлять доступом, счёт не создаётся.

Результат разработки

Собрал в одном боте четыре способа получения доступа и общий учёт сроков. Для каждого события сохраняются участник, источник и период; выдача приглашений и удаление по окончании срока выполняются фоновым обработчиком.

Проверил в автоматических тестах успешные подтверждения, повторы, неверные данные, выдачу приглашений и окончание доступа. Основа проекта — Python, SQLite, Telegram Bot API и собственные интеграции с GetCourse, NOWPayments, Bitunix и Hash Hedge.

Обсудим ваш проект?