Уже давно я пользуюсь 3x-ui, мощным инструментом для управления VPN-серверами. Его возможности подробно описаны в отличной статье на Хабре.
Однако меня удивило, что до сих пор не существует Telegram-бота для автоматического создания клиентов. Именно эту задачу я и решил реализовать.
Моя цель состояла в создании Telegram-бота, который бы умел продавать подписки на VPN-сервер, работающий на 3x-ui. Несмотря на наличие API у сервера (которое, на мой взгляд, могло бы быть более обширным), мне удалось разработать функциональный бот с удобным интерфейсом.
Ссылка на бота: https://t.me/vpn_novaks_bot
Контакт для связи: https://t.me/tabsiger
Возможности
Коротко по каждой функции:
1. Купить
Клиент выбирает:
- Страну для покупки подписки.
(Внутри одной страны может быть много серверов бот сам выбирает где больше свободных мест и там в будущем создаст подписку)
- Срок действия подписки
- Вводить или не вводить свою электронную почту для отправки чека.
- Выбор способа оплаты и ее завершение.
Интеграция с популярными платёжными системами: ЮKassa, Robokassa, CryptoBot.
- После оплаты нажимается кнопка «Проверить оплату».
Автоматическая проверка оплаты то же присутствует
- При успешной оплате бот:
- Создает подписку.
- Предоставляет информацию и инструкции для настройки.
Так-же реализована автонастройка для клиента (нажал ссылку ключ автоматически вставится в приложение)
2. Продлить
- Процесс продления аналогичен покупке:Выбор подписки, срока, способа оплаты.
- Проверка оплаты.
- При успешной оплате срок действия подписки продлевается.
3. Личный кабинет
- Посмотреть все данные по подпискам
Статус.
Срок действия.
Ключи для настройки.
- Продлить подписку
- Сменить локацию вашей подписки
- Посмотреть инструкции
4. Реферальная система
- За каждого приглашенного пользователя, который оформил подписку, начисляются баллы.
- Чем больше баллов — тем выше скидка.
- Использование промокода для дополнительной скидки
5. О сервисе и Служба поддержки
- Раздел содержит информацию о боте и контактные данные службы поддержки.
6. Инструкции
- Хранит пошаговые руководства для настройки подписки на конкретных платформах.
7. Пробная подписка
- Также добавил предоставление пробной подписки . В боте можно легко поменять период этой подписки, сможете выдавать и на 2 или 3 дня, привязка идет по Telegram ID, пользователь может получить только один ключ.
8. Панель администратора
Панель администратора предоставляет следующие функции:
- Статистика Просмотр общей информации по пользователям и их подпискам.
- Менеджер серверов Полный контроль за вашим сервером, добавление, удаление, редактирование серверов.
Кластеризация серверов:
- При выборе сервера бот будет сравнивать нагрузку на каждый сервер из этого списка. Например, если клиент выбрал сервер '1', бот проверит, сколько клиентов сейчас на серверах 1, 2 и 3, и создаст подписку на наименее загруженном сервере.
- Контроль за тем какие сервера будут показаны клиенту
- Отправка сообщений всем клиентам Возможность рассылки уведомлений, акций или другой важной информации.
- Бэкап базы данных Резервное копирование данных для их сохранности и восстановления в случае необходимости.
- Очистка серверов от просроченных подписок Автоматическое удаление просроченных пользователей для оптимизации работы сервера.
- Промокоды Добавление и удаления промокодов для дополнительной скидки
- Перезагрузка бота Быстрый перезапуск в случае необходимости или устранения неполадок.
Главное меню
Написал бота на Python, используя библиотеки: asyncio, json, logging, random, re, requests, sqlite3, string, datetime, aiogram, так-же использую Nginx для создания ссылок автонастройки.
Процесс покупки, продления:
Инструкции по настройке
Личный кабинет
Реферальная программа, О сервисе, Цены
Панель администратора
Уведомления и рассылки
Бот сам ежедневно проверяет базу пользователей и отправляет им уведомления о неиспользованном пробном периоде и промокоде, сроке действия и окончании их подписки,
Журналирование и управление данными
Бот ведет журнал всех операций и событий, связанных с действиями пользователей.
Немного кода "Личного кабинета" для примера:
Все вопросы можно задавать в комментариях.
Приобрести подключение, опробовать и просто оценить функционал можно в этом боте: https://t.me/vpn_novaks_bot
Полный исходный код бота доступен для приобретения!
Подписывайтесь на канал, следите за обновлениями, в планах добавить много функций .