Slam Mirror Bot v5.2 - Torrent в Google Диск и не только

• Нет отзывов

Автор

Описание

Slam Mirror Bot — это многоцелевой Telegram-бот, написанный на Python для зеркалирования файлов в Интернете на наш любимый Google Диск. На основе python-aria-mirror-bot

Оригинал https://github.com/breakdowns/slam-mirrorbot

Как развернуть

Развертывание довольно простое и разделено на несколько шагов следующим образом:

 

Требования к установке

Клонируйте скаченнное репо локально либо через гитхаб:

git clone https://github.com/breakdowns/slam-mirrorbot mirrorbot/

cd mirrorbot

 

Требования к установке Для дистрибутивов на базе Debian

sudo apt install python3

 

Установите Docker, следуя официальной документации Docker .

ИЛИ

sudo snap install docker

Для Arch и его производных:

sudo pacman -S docker python

 

Установите зависимости для запуска сценариев установки:

pip3 install -r requirements-cli.txt

 

Создать базу данных

1. Использование ElephantSQL

Go to https://elephantsql.com and create account (skip this if you already have ElephantSQL account)

Hit Create New Instance

Follow the further instructions in the screen

Hit Select Region

Hit Review

Hit Create instance

Select your database name

Copy your database url, and fill to DATABASE_URL in config

2. Используйте Heroku PostgreSQL https://dev.to/prisma/how-to-setup-a-free-postgresql-database-on-heroku-1dc1

 

Настройка файла конфигурации

cp config_sample.env config.env

Удалите первую строку, говорящую:

_____REMOVE_THIS_LINE_____=True

 

Заполните остальные поля. Значение каждого поля обсуждается ниже:

Обязательное поле:

BOT_TOKEN: Токен Telegram Bot, который вы получили от @BotFather.

TELEGRAM_API: Это необходимо для аутентификации вашей учетной записи Telegram для загрузки файлов Telegram. Вы можете получить это от https://my.telegram.org . ПРИМЕЧАНИЕ . НЕ заключайте это в кавычки.

TELEGRAM_HASH: Это необходимо для аутентификации вашей учетной записи Telegram для загрузки файлов Telegram. Вы можете получить это от https://my.telegram.org

OWNER_ID: идентификатор пользователя Telegram (не имя пользователя) владельца бота.

GDRIVE_FOLDER_ID: это идентификатор папки Google Диска, в которую вы хотите загрузить все зеркала.

DOWNLOAD_DIR: путь к локальной папке, в которую должны быть загружены загрузки.

DOWNLOAD_STATUS_UPDATE_INTERVAL: Короткий интервал времени в секундах, после которого обновляется сообщение о ходе/статусе зеркалирования. (рекомендую 5как минимум секунд)

AUTO_DELETE_MESSAGE_DURATION: Интервал времени (в секундах), по истечении которого бот удаляет свое сообщение (и командное сообщение), которое, как ожидается, будет просмотрено мгновенно. ( ПРИМЕЧАНИЕ : установите значение, -1чтобы никогда не удалять сообщения автоматически)

Необязательное поле

ACCOUNTS_ZIP_URL: Только если вы хотите загрузить свою учетную запись службы извне из индексной ссылки. Заархивируйте папку учетных записей в zip-файл. Заполните это прямой ссылкой на этот файл.

TOKEN_PICKLE_URL: Только если вы хотите загрузить свой token.pickle извне из индексной ссылки. Заполните это прямой ссылкой на этот файл.

MULTI_SEARCH_URL: Использовать поиск/список в нескольких TD/папках. Запустите driveid.py в своем терминале и следуйте ему. Когда вы закончите , он сгенерирует файл drive_folder . Загрузите этот файл сюда с тем же именем файла. Откройте необработанный файл этой сущности, его URL-адрес будет вашей необходимой конфигурацией. Проверьте вики для справки, связанной с сущностью.

DATABASE_URL: URL вашей базы данных. См. «Создать базу данных» для создания базы данных ( ПРИМЕЧАНИЕ : если вы используете базу данных, вы можете сохранить свой идентификатор Sudo навсегда с помощью /addsudoкоманды).

AUTHORIZED_CHATS: Заполните user_id и chat_id (не имя пользователя) групп/пользователей, которых вы хотите авторизовать. Разделяйте их пробелом. Примеры: -0123456789 -1122334455 6915401739.

SUDO_USERS: Заполните user_id (не имя пользователя) пользователей, которым вы хотите дать разрешение sudo. Разделите их пробелом. Примеры: 0123456789 1122334455 6915401739( ПРИМЕЧАНИЕ . Если вы хотите сохранить идентификатор Sudo без базы данных, вы должны указать свой идентификатор Sudo здесь).

IS_TEAM_DRIVE: установите значение, Trueесли оно GDRIVE_FOLDER_IDнаходится на другом общем диске, Falseили оставьте поле пустым.

USE_SERVICE_ACCOUNTS: (Оставьте пустым, если не уверены) Использовать учетные записи служб или нет. Чтобы это работало, см . раздел «Использование учетных записей служб » ниже.

INDEX_URL: см . https://gitlab.com/ParveenBhadooOfficial/Google-Drive-Index . URL-адрес не должен заканчиваться знаком «/».

MEGA_API_KEY: Ключ API Mega.nz для зеркалирования ссылок mega.nz. Получить его на странице Mega SDK

MEGA_EMAIL_ID: Ваш адрес электронной почты, используемый для регистрации на mega.nz для использования премиум-аккаунта (оставить, однако)

MEGA_PASSWORD: Ваш пароль для вашей учетной записи mega.nz

BLOCK_MEGA_FOLDER: если вы хотите удалить поддержку папки mega.nz, установите для нее значение True.

BLOCK_MEGA_LINKS: если вы хотите удалить поддержку зеркал mega.nz, установите для него значение True.

STOP_DUPLICATE: (Оставьте пустым, если не уверены) если в этом поле установлено значение True, бот проверит файл на Диске, если он присутствует на Диске, загрузка или клонирование будет остановлено. ( ПРИМЕЧАНИЕ . Файл будет проверяться по имени файла, а не по хэшу, поэтому эта функция еще не идеальна)

CLONE_LIMIT: Чтобы ограничить размер папки/файла Google Диска, который вы можете клонировать (оставьте пробел между числом и единицей измерения, доступны следующие единицы измерения: (гб или ГБ, ТБ или ТБ), Примеры:100 gb, 100 GB, 10 tb, 10 TB

MEGA_LIMIT: Чтобы ограничить размер мега-загрузки (оставьте пробел между числом и единицей измерения, доступны следующие единицы измерения: (гб или ГБ, ТБ или ТБ), Примеры:100 gb, 100 GB, 10 tb, 10 TB

TORRENT_DIRECT_LIMIT: Чтобы ограничить размер зеркала Torrent/Direct, оставьте пробел между номером и единицей измерения. Доступные единицы измерения: (гб или ГБ, ТБ или ТБ), Примеры:100 gb, 100 GB, 10 tb, 10 TB

TAR_UNZIP_LIMIT: Чтобы ограничить размер зеркалирования, как Tar или unzipmirror. Доступные единицы измерения: (гб или ГБ, ТБ или ТБ), Примеры:100 gb, 100 GB, 10 tb, 10 TB

VIEW_LINK: Кнопка «Просмотреть ссылку», чтобы открыть индексную ссылку файла в браузере вместо прямой ссылки для скачивания, вы можете выяснить, совместимо ли оно с вашим кодом индекса или нет, откройте любое видео из вашего индекса и проверьте, заканчивается ли его URL-адрес на ?a=view, если да, сделайте Trueэто будет работать (совместимо с кодом https://gitlab.com/ParveenBhadooOfficial/Google-Drive-Index )

UPTOBOX_TOKEN: токен Uptobox для зеркалирования ссылок uptobox. Получите его из учетной записи Uptobox Premium .

IGNORE_PENDING_REQUESTS: если вы хотите, чтобы бот игнорировал ожидающие запросы после перезапуска, установите для этого параметра значение True.

STATUS_LIMIT: Ограничить нет. задач, показанных в сообщении о состоянии с помощью кнопки. ( ПРИМЕЧАНИЕ : рекомендуемый лимит — 4максимальное количество задач).

IS_VPS: (Только для VPS) Не устанавливайте это значение, Trueдаже если вы используете VPS, если только вы не столкнулись с ошибкой веб-сервера.

SERVER_PORT: Только для VPS, даже если IS_VPSесть False–> Базовый порт URL

BASE_URL_OF_BOT: (Требуется для Heroku, чтобы избежать сна/бездействия) Действительный БАЗОВЫЙ URL-адрес приложения, в котором развернут бот. Формат URL-адреса должен быть http://myip(где myipнаходится IP/домен вашего бота) или, если вы выбрали другой порт, чем 80заполните этот формат http://myip:port, для заполнения Heroku https://yourappname.herokuapp.com( ПРИМЕЧАНИЕ : не ставьте косую черту в конце), все еще работает на холостом ходу? Вы можете использовать http://cron-job.org для проверки связи с вашим приложением Heroku.

RECURSIVE_SEARCH: установите это значение Trueдля поиска в подпапках с помощью /list( ПРИМЕЧАНИЕ . Это будет работать только с идентификатором общего диска или заполнением rootдля основного диска. Идентификаторы папок несовместимы с ним.)

TG_SPLIT_SIZE: Размер разделения Telegram, оставьте его пустым для максимального размера.2GB

AS_DOCUMENT: Должна ли вся загрузка в Telegram быть принудительной как документы или нет, установите его TrueилиFalse

SHORTENER_API: введите ключ API Shortener, если вы используете Shortener.

SHORTENER: если вы хотите использовать Shortener в G-Drive и проиндексировать ссылку, заполните URL Shortener здесь. Примеры:

exe.io, gplinks.in, shrinkme.io, urlshortx.com, shortzon.com, bit.ly,

shorte.st, linkvertise.com , ouo.io

Выше приведены поддерживаемые сокращатели URL. За исключением этого, поддерживаются только некоторые сокращатели URL.

 

Добавить больше кнопок (необязательное поле)

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

 

BUTTON_FOUR_NAME:

BUTTON_FOUR_URL:

BUTTON_FIVE_NAME:

BUTTON_FIVE_URL:

BUTTON_SIX_NAME:

BUTTON_SIX_URL:

Команды бота задаются в @BotFather https://github.com/SlamDevs/slam-mirrorbot/wiki/Bot-commands-to-be-set-in-BotFather

Получение файла учетных данных Google OAuth API

1. Посетите облачную консоль Google

2. Перейдите на вкладку OAuth Consent, заполните ее и сохраните.

3. Перейдите на вкладку «Учетные данные» и нажмите «Создать учетные данные» -> «Идентификатор клиента OAuth».

4. Выберите «Рабочий стол» и «Создать».

5. Используйте кнопку загрузки, чтобы загрузить свои учетные данные.

6. Переместите этот файл в корень зеркального бота и переименуйте его в учетные данные.json.

7. Посетите страницу Google API

8. Найдите Диск и включите его, если он отключен

9. Наконец, запустите скрипт для создания файла token.pickle для Google Диска:

pip install google-api-python-client google-auth-httplib2 google-auth-oauthlib

python3 generate_drive_token.py

Вход

Либо введите логин и пароль:

Продолжая, я соглашаюсь с

Пользовательским соглашением,

Политикой конфиденциальности,

Политикой возврата.

Регистрация

Регистрация на сайте возможна только через один из предложенных сервисов:

Продолжая, я соглашаюсь с

Пользовательским соглашением,

Политикой конфиденциальности,

Политикой возврата.

Оплата