Skip to content

RabbitCoreHub/GiveScript

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Telegram File Bot (v3.0) - С проверкой подписок через личный аккаунт

Современный Telegram бот для раздачи файлов и скриптов после проверки подписки на каналы. Использует личный аккаунт для проверки подписок, что позволяет проверять каналы даже если бот в них не состоит.

🚀 Возможности

  • Админ-панель с контролем доступа (только для указанного Telegram ID)
  • Добавление скриптов и файлов через интерактивный интерфейс
  • Управление каналами для проверки подписки
  • 🔥 Проверка подписок через личный аккаунт - бот может проверять каналы без необходимости быть их участником
  • Автоматическая проверка подписки перед выдачей контента
  • Генерация уникальных ссылок для каждого ресурса
  • Современная архитектура с использованием ConversationHandler
  • Хранение данных в pickle файле

📋 Требования

  • Python 3.8+
  • Библиотека python-telegram-bot v20.0+
  • Библиотека telethon v1.24.0+
  • Токен Telegram бота от @BotFather
  • API ID и API Hash от вашего личного Telegram аккаунта
  • Ваш личный аккаунт должен состоять в проверяемых каналах

⚙️ Настройка

1. Установите зависимости:

pip install -r requirements.txt

2. Получите API ID и API Hash для вашего аккаунта:

  1. Перейдите на https://my.telegram.org/auth
  2. Войдите в свой аккаунт
  3. Перейдите в "API development tools"
  4. Создайте новое приложение
  5. Скопируйте API ID и API Hash

3. Настройте файлы:

config.py:

# Токен вашего бота
BOT_TOKEN = "ВАШ_ТОКЕН_БОТА"

# API данные вашего личного аккаунта
USERBOT_API_ID = ВАШ_API_ID
USERBOT_API_HASH = "ВАШ_API_HASH"
USERBOT_PHONE = "ВАШ_НОМЕР_ТЕЛЕФОНА"

# ID администратора бота
ADMIN_ID = ВАШ_TELEGRAM_ID

4. Тестирование настройки:

python test_userbot.py

🎯 Использование

Запуск бота

python bot.py

Админ-панель

  1. В Telegram отправьте команду /admin (доступна только администратору)
  2. Используйте Inline-кнопки для управления ботом:
    • ➕ Добавить скрипт - добавление Lua/Python скриптов
    • 📁 Добавить файл - загрузка APK, EXE, ZIP и других файлов
    • 📢 Управление каналами - добавление/удаление каналов для проверки
    • 📋 Список ресурсов - просмотр всех добавленных ресурсов

Процесс добавления контента

Добавление скрипта:

  1. Выберите "➕ Добавить скрипт"
  2. Отправьте текст скрипта
  3. Получите уникальную ссылку для распространения

Добавление файла:

  1. Выберите "📁 Добавить файл"
  2. Загрузите файл в чат с ботом
  3. Укажите название файла (или используйте оригинальное)
  4. Получите уникальную ссылку

Управление каналами:

  1. Выберите "📢 Управление каналы"
  2. Добавляйте каналы пересылая сообщения или указывая ID
  3. Удаляйте ненужные каналы из списка

Способы добавления каналов:

  • По username: @mychannel
  • По ID: 1001234567890 (без минуса!)
  • Через пересылку: Перешлите любое сообщение из канала

Пользовательский опыт

  1. Пользователь переходит по уникальной ссылке: https://t.me/YourBotUsername?start=abc123def4
  2. Бот проверяет подписку на все указанные каналы через ваш личный аккаунт
  3. Если пользователь не подписан:
    • Показываются кнопки с ссылками на каналы
    • Кнопка "✅ Проверить подписку" для повторной проверки
  4. Если подписан - контент выдается автоматически

🔑 Как работает проверка подписок

НОВАЯ ФИЧА v3.0: Бот использует ваш личный аккаунт для проверки подписок:

  1. Userbot (ваш личный аккаунт) подключается к Telegram
  2. При проверке подписки бот отправляет запрос через ваш аккаунт
  3. Ваш аккаунт проверяет, состоит ли пользователь в указанных каналах
  4. Результат возвращается боту для принятия решения

Преимущества:

  • ✅ Бот НЕ должен быть участником каналов
  • ✅ Проверка работает для приватных каналов
  • ✅ Ваш личный аккаунт должен быть в каналах
  • ✅ Работает даже если каналы скрытые или приватные

📁 Структура файлов

├── bot.py           # Основной файл бота
├── config.py        # Конфигурация бота и userbot
├── userbot.py       # Модуль для работы с личным аккаунтом
├── test_userbot.py  # Тестовый скрипт для проверки настройки
├── bot_data.pkl     # Хранение данных (pickle формат)
├── requirements.txt # Зависимости проекта
└── README.md        # Документация

🔧 Структура данных

bot_data.pkl

{
  "admin_id": 7289857067,           # ID администратора
  "channels": [1001234567890],      # Список ID каналов для проверки
  "resources": {
    "abc123def4": {                 # Уникальный ID ресурса
      "type": "script",             # "script" или "file"
      "content": "loadstring(...)", # Текст скрипта ИЛИ file_id файла
      "name": "Fly Script V2"       # Название ресурса
    }
  }
}

🚨 Важные замечания

  • Безопасность: Бот проверяет Telegram ID при доступе к админ-панели
  • ID каналов: Всегда используйте положительные числовые ID каналов (например, 100123456789) без минуса!
  • Личный аккаунт: Ваш личный аккаунт должен состоять во всех проверяемых каналах
  • Файлы: Используются file_id для эффективной отправки файлов
  • Ограничения: Максимальный размер файла - 50 MB (настраивается в config.py)

🛠️ Архитектура

Используемые технологии:

  • python-telegram-bot v20.x+ - современная асинхронная библиотека
  • Telethon v1.24.0+ - библиотека для работы с личным аккаунтом
  • ConversationHandler - машина состояний для админ-панели
  • pickle - сериализация данных Python
  • logging - встроенное логирование

Основные компоненты:

  • bot.py - основной файл бота с обработчиками
  • userbot.py - модуль для подключения к личному аккаунту
  • test_userbot.py - тестирование подключения userbot
  • Различные обработчики для состояний ConversationHandler

📋 Тестирование

Перед запуском бота обязательно протестируйте подключение userbot:

python test_userbot.py

Тест проверит:

  • ✅ Корректность API данных
  • ✅ Подключение к Telegram
  • ✅ Доступ к каналам (если они есть)

📞 Поддержка

При возникновении проблем:

  1. Проверьте настройки в config.py (API ID, API Hash, телефон)
  2. Убедитесь в правильности ID каналов
  3. Проверьте, что ваш личный аккаунт состоит в проверяемых каналах
  4. Запустите тест: python test_userbot.py
  5. Просмотрите логи в консоли и файл userbot_test.log

📄 Лицензия

Этот проект распространяется под лицензией MIT.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published