A Telegram mirror bot which can be deployed using Heroku.

Overview

Slam

Slam Mirror Bot

This is a telegram bot writen in python for mirroring files on the internet to our beloved Google Drive.

Getting Google OAuth API credential file

  • Visit the Google Cloud Console
  • Go to the OAuth Consent tab, fill it, and save.
  • Go to the Credentials tab and click Create Credentials -> OAuth Client ID
  • Choose Desktop and Create.
  • Use the download button to download your credentials.
  • Clone this repo:
git clone https://github.com/breakdowns/slam-mirrorbot mirrorbot/
cd mirrorbot
  • Move that file to the root of mirrorbot, and rename it to credentials.json
  • Visit Google API page
  • Search for Drive and enable it if it is disabled
  • Finally, run the script to generate token file (token.pickle) for Google Drive:
pip install google-api-python-client google-auth-httplib2 google-auth-oauthlib
python3 generate_drive_token.py

Deployment

Fork this repo, than upload credentials.json and token.pickle to your forks

Deploy to Heroku

Features supported:

  • Mirroring direct download links to Google Drive
  • Mirroring Mega.nz links to Google Drive (In development stage)
  • Mirroring Uptobox.com links to Google Drive (Uptobox account must be premium)
  • Copy files from someone's drive to your drive (Using Autorclone)
  • Download/upload progress
  • Download/upload speeds and ETAs
  • Docker support
  • Uploading To Team Drives.
  • Index Link support
  • Service account support
  • Mirror all youtube-dl supported links
  • Mirror telegram files
  • Delete files from drive
  • Add stickers to your pack
  • Nyaa.si and Sukebei Torrent search
  • Shell and Executor
  • Index Link support
  • Shortener support
  • Custom Buttons
  • Speedtest with picture results
  • Extract these filetypes and uploads to google drive

ZIP, RAR, TAR, 7z, ISO, WIM, CAB, GZIP, BZIP2, APM, ARJ, CHM, CPIO, CramFS, DEB, DMG, FAT, HFS, LZH, LZMA, LZMA2, MBR, MSI, MSLZ, NSIS, NTFS, RPM, SquashFS, UDF, VHD, XAR, Z.

Using service accounts for uploading to avoid user rate limit

For Service Account to work, you must set USE_SERVICE_ACCOUNTS="True" in config file or environment variables Many thanks to AutoRClone for the scripts NOTE: Using service accounts is only recommended while uploading to a team drive.

Generate service accounts What is service account

Let us create only the service accounts that we need. Warning: abuse of this feature is not the aim of this project and we do NOT recommend that you make a lot of projects, just one project and 100 sa allow you plenty of use, its also possible that over abuse might get your projects banned by google.

Note: 1 service account can copy around 750gb a day, 1 project can make 100 service accounts so that's 75tb a day, for most users this should easily suffice. 

python3 gen_sa_accounts.py --quick-setup 1 --new-only

A folder named accounts will be created which will contain keys for the service accounts

NOTE: If you have created SAs in past from this script, you can also just re download the keys by running:

python3 gen_sa_accounts.py --download-keys project_id

Add all the service accounts to the Team Drive

  • Run:
python3 add_to_team_drive.py -d SharedTeamDriveSrcID

Youtube-dl authentication using .netrc file

For using your premium accounts in youtube-dl, edit the .netrc file according to following format:

machine host login username password my_youtube_password

where host is the name of extractor (eg. youtube, twitch). Multiple accounts of different hosts can be added each separated by a new line

Credits

Thanks to:

and many more people who aren't mentioned here, but may be found in Contributors.

Comments
  • bot: Change deploy method

    bot: Change deploy method

    • change deploy method to heroku container registry
    • for now, we no need HEROKU_EMAIL in github secrets
    • update credits

    Signed-off-by: GudMeong [email protected]

    opened by gudmeong 5
  • Undefined name: pe --> pw

    Undefined name: pe --> pw

    $ flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics

    ./slam-mirrorbot/bot/helper/mirror_utils/download_utils/direct_link_generator.py:351:39: F821 undefined name 'pe'
            req = requests.post(url, data=pe)
                                          ^
    1     F821 undefined name 'pe'
    1
    
    opened by cclauss 2
  • added proxy support

    added proxy support

    added proxy support for watch command (for personal use,might have to modify to make it usable)(im a noob) , you have to use /watch [youtube-dl supported link] [quality] |[CustomName] | [http://username:[email protected]:port/]

    other usable methods ex - http(s)://PROXY_URL:PROXY_PORT socks5://127.0.0.1:1080

    opened by eXtizi 2
  • Sourcery refactored master branch

    Sourcery refactored master branch

    Branch master refactored by Sourcery.

    If you're happy with these changes, merge this Pull Request using the Squash and merge strategy.

    See our documentation here.

    Run Sourcery locally

    Reduce the feedback loop during development by using the Sourcery editor plugin:

    Review changes via command line

    To manually merge these changes, make sure you're on the master branch, then run:

    git fetch origin sourcery/master
    git merge --ff-only FETCH_HEAD
    git reset HEAD^
    

    Help us improve this pull request!

    opened by sourcery-ai[bot] 1
  • Sourcery refactored master branch

    Sourcery refactored master branch

    Branch master refactored by Sourcery.

    If you're happy with these changes, merge this Pull Request using the Squash and merge strategy.

    See our documentation here.

    Run Sourcery locally

    Reduce the feedback loop during development by using the Sourcery editor plugin:

    Review changes via command line

    To manually merge these changes, make sure you're on the master branch, then run:

    git fetch origin sourcery/master
    git merge --ff-only FETCH_HEAD
    git reset HEAD^
    

    Help us improve this pull request!

    opened by sourcery-ai[bot] 1
Releases(v5.2)
  • v5.2(Sep 22, 2021)

  • v5.1(Sep 4, 2021)

  • v5.0(Aug 7, 2021)

  • v4.8.7(Jun 19, 2021)

    • Tar/Unzip G-Drive Links Support
    • Fix overall download speed for Mega and others
    • Add shell custom command
    • Add Set Variable, Delete Variable, and Bot Info Menu (Only for Heroku)
    • Add Updater for update Bot from upstream
    • Torrent Search: Add 1337x, piratebay, tgx, yts, eztv, torlock, rarbg support

    NOTE: Please Redeploy

    Source code(tar.gz)
    Source code(zip)
  • v4.8.6(Jun 14, 2021)

    • direct_link_generator: add letsupload.io, feurl.com, pixeldrain.com support
    • Block Drive & YouTube link using /mirror command
    • Remove anime & stickers module, because not related in mirror bot
    • Some update in aria.sh
    • Tidying Up

    NOTE: Refroks & Redeploy Recommended.

    Source code(tar.gz)
    Source code(zip)
  • v4.8.4(Jun 8, 2021)

    • Added support for tar.xz
    • Fix Mega auto canceling if deleted file
    • Direct link generator: Addad Naniplay.com, Naniplay.nanime.in, Naniplay.nanime.biz, Sbembed.com, Streamsb.net support
    Source code(tar.gz)
    Source code(zip)
  • v4.8.3(Jun 5, 2021)

  • v4.8.2(Jun 4, 2021)

    • direct link generator: Added Hxfile, Anonfiles, Fembed (femax20 & layarkacaxxi), Onedrive (Only works for file not folder for now, thanks to UsergeTeam) support
    • aria: Added more tracker
    Source code(tar.gz)
    Source code(zip)
  • v4.8.1(May 31, 2021)

  • v4.8.0(May 30, 2021)

  • v4.7.6(May 18, 2021)

  • v4.7.5(May 17, 2021)

    • Added sudo using database NOTE: redeploy recommended to generating database, or you can go to your herokuapp > resources > add-ons > then serach Heroku Postgres > hit Submit Order Form. Done Database will automatic come in config vars
    • mirror: Fix for uploading telegram file_name of None type
    • gdriveTools: Fix infinite loop when hitting rate limits
    Source code(tar.gz)
    Source code(zip)
  • v4.6.9(Apr 26, 2021)

  • v4.6.6(Apr 18, 2021)

    • direct_links: Added racaty.net support
    • Update support group link
    • Fix Index URL encode problem
    • Added support for password protected index links by magneto
    Source code(tar.gz)
    Source code(zip)
  • v4.6.3(Apr 12, 2021)

  • v4.6.2(Apr 8, 2021)

  • v4.6(Mar 29, 2021)

  • v4.4(Mar 22, 2021)

  • v4.2(Mar 17, 2021)

  • v3.8(Mar 9, 2021)

  • v3.7(Mar 6, 2021)

  • v3.0(Mar 3, 2021)

    • Added auto generate Telegraph Token
    • Added Inline Buttons
    • Update /stats command
    • /list module will post search result on telegra.ph
    • Speedtest
    Source code(tar.gz)
    Source code(zip)
⚔️ Fastest tibia bot API

📝 Description tibia bot api using python ⌨ Development ⚙ Running the app python bot.py ✅ ROADMAP Add confidence to floor level to have more accuracy

Lucas Santos 133 Dec 28, 2022
A file-based quote bot written in Python

Let's Write a Python Quote Bot! This repository will get you started with building a quote bot in Python. It's meant to be used along with the Learnin

1 Feb 03, 2022
Biblioteca Python que extrai dados de mercado do Bacen (Séries Temporais)

Pybacen This library was developed for economic analysis in the Brazilian scenario (Investments, micro and macroeconomic indicators) Installation Inst

42 Jan 05, 2023
Discord Mass Edit is a unique, purging related Discord tool that differs from the regular mass delete.

Discord Mass Edit is a unique, purging related Discord tool that differs from the regular mass delete. This tool will automatically edit every message in a chosen channel and change it to a random st

c0mpt0 1 Jul 27, 2022
The community bot for the Python Discord community

Python Utility Bot This project is a Discord bot specifically for use with the Python Discord server. It provides numerous utilities and other tools t

Python Discord 998 Jan 03, 2023
Discord-Bot - Bot using nextcord for beginners

Discord-Bot Bot using nextcord for beginners! Requirements: 1 :- Install nextcord by typing "pip install nextcord" Thats it! You can use this code any

INFINITE_. 3 Jan 10, 2022
Grade Notifyer Bot

A bot that automatically crawl the submission platform of montefiore to notify the student when a project has been graded.

Julien Gustin 2 Jun 02, 2022
The EscapePod Python SDK for Cyb3rVector's EscapePod Extension Proxy

EscapePod Extension SDK for Python by cyb3rdog This is the EscapePod Python SDK for Cyb3rVector's EscapePod Extension Proxy. With this SDK, you can: m

cyb3rdog 3 Mar 07, 2022
ABACUS Aroio API for Webinterfaces and App-Connections

ABACUS Aroio API for Webinterfaces and App-Connections Setup Start virtual python environment if you don't have python3 running setup: $ python3 -m ve

Abacus Aroio Developer Team 1 Apr 01, 2021
Telegram Google Translater Bot

Google-Translater-Bot Hey Mo Tech, I am simple Google Translater Bot. I can translate any language to you selected language Team Mo Tech Deploy To Her

21 Dec 01, 2022
A Discord API Wrapper for Userbots/Selfbots written in Python.

DisCum A simple, easy to use, non-restrictive, synchronous Discord API Wrapper for Selfbots/Userbots written in Python. -using requests and websockets

Liam 450 Dec 27, 2022
A simple Discord Mass-Ban that's still working with Member Scraper.

Mass-Ban [!] This was made for education / you can use for revenge. Please don't skid it. [!] If you want to use it, please use member scraper before

WoahThatsHot 1 Nov 20, 2021
An example of a chatbot with a number-based menu that can be used as a starting point for a project.

NumMenu Bot NumMenu Bot is an example chatbot showing a way to design a number-based menu assistant with Rasa. This type of bot is very useful on plat

Derguene 19 Nov 14, 2022
A self-hosted Discord music bot.

Cassette A self-hosted Discord music bot. Requirements py-cord pynacl pytube Setup Intended to be hosted on Heroku. Fork or clone this repo. Create a

Lohan 8 Apr 28, 2022
Find rare users in discord servers

BadgeScraper Find rare users in discord servers How to use Replace the guild_id, server_id and token by the values you wanna use If you never used dis

20 Dec 09, 2022
Growtopia server_data.php reader with bypass method, using discord bot

Server_data.php-reader Growtopia server_data.php reader with bypass method, using discord bot How to use 1 install python 2 change your bot token

7 Jul 16, 2022
PyLyrics Is An [Open-Source] Bot That Can Help You Get Song Lyrics

PyLyrics-Bot Telegram Bot To Search Song Lyrics From Genuis. 🤖 Demo: 👨‍💻 Deploy: ❤ Deploy Your Own Bot : Star 🌟 Fork 🍴 & Deploy -Easy Way -Self-h

DAMIEN 12 Nov 12, 2022
Discord bot code to stop users that are scamming with fake messages of free discord nitro on servers in order to steal users accounts.

AntiScam Discord bot code to stop users that are scamming with fake messages of free discord nitro on servers in order to steal users accounts. How to

H3cJP 94 Dec 15, 2022
聚合空间测绘搜索(Fofa,Zoomeye,Quake,Shodan,Censys,BinaryEdge)

#Search-Tools Search-Tools集合比较常见的网络空间探测引擎 Fofa,Zoomeye,Quake,Shodan,Censys,BinaryEdge 简单说明 ICO搜索目前只有Fofa,Shodan,Quake支持 代理设置是防止在API请求过于频繁,或者在实战中,好多红队打

311 Dec 16, 2022