Skip to content

Repository files navigation

⚡ fuckjoin

Tired of joining 10 garbage Telegram channels just to watch one video? We are too.

Send any bot link. Get your video. Never join a spam channel again.

Python Docker Telegram License: MIT


fuckjoin in action

💡 What is fuckjoin?

Telegram is flooded with file lockers demanding:

"You must join Channel A, Channel B, and Channel C to view this content."

fuckjoin automates the pain away:

  1. You send a bot link (or forward a message containing one).
  2. fuckjoin joins the requirements in the background via an isolated session.
  3. Pulls the target video/files, delivers them straight to your private chat.
  4. Auto-cleans the junk: Silently leaves channels afterward so your account stays spotless.

⚡ Visual Walkthrough

1. Send Link or Tap Option 2. Real-Time Relay & Cleanup
Link Selection Prompt Delivery Progress and Result
Multi-link selector menus with instant tap Live progress cards with instant /cancel

🛠️ Dedicated Admin Console

Admin Dashboard and State Report

Manage user authorization (/add_user, /remove_user) and monitor active worker tasks (/state) on the fly.


✨ Features

  • 🎯 Deep Link Unlocking: Resolves nested bot handoffs, start parameters, and multi-step verification bots.
  • ⚡ Auto Channel Cleanup: Silently tracks joined channels in persistent storage and leaves them in the background.
  • 🛡️ FloodWait Resilience: Automatically absorbs and paces API rate limits without dropping in-flight jobs.
  • ⊘ Instant Cancellation: Interrupt any task on the fly by clicking or typing /cancel.
  • 👥 Access Control: Manage dynamic permissions on the fly using /add_user and /state without restarting.
  • 🐳 Docker-Ready: Fully containerized setup with volume mounts preserving sessions and storage.

🐳 Running with Docker (Recommended)

1. Clone & Configure

git clone https://github.com/AmirHBuilds/fuckjoin
cd fuckjoin
cp .env.example .env

Edit .env with your API details:

API_ID=12345678
API_HASH=abcdef1234567890abcdef1234567890
ADMINS=your_numeric_telegram_id
SESSION_NAME=sessions/fuckjoin

2. First-Time Interactive Login

On your first run, Telegram requires your phone number and login code. Run the container interactively:

docker compose run --rm fuckjoin

Follow the prompts to enter your phone number and Telegram verification code. Once authorized, exit with Ctrl+C.

3. Launch in Background

Now run the bot as a persistent background daemon:

docker compose up -d

To view real-time logs:

docker compose logs -f

💻 Manual Setup (Without Docker)

Click to view manual installation steps

1. Create Virtual Environment

python -m venv .venv
source .venv/bin/activate  # Windows: .venv\Scripts\activate
pip install -r requirements.txt

2. Run

python -m src

🛠️ Usage & Commands

Command Who Can Use Description
https://t.me/bot?start=... Admins & Allowed Users Paste or forward any bot link to fetch content
/cancel or cancel Admins & Allowed Users Aborts the active running download immediately
/admin Admins Only Shows the admin dashboard and quick buttons
/state Admins Only Displays active jobs, queue count, and authorized user IDs
/add_user <user_id> Admins Only Grants bot access to a user
/remove_user <user_id> Admins Only Revokes a user's bot access

⚖️ Disclaimer

fuckjoin is designed as a personal workflow automation utility under Telegram's Terms of Service. Please respect content rights and adhere to community guidelines.

About

Automated Telegram workflow daemon that bypasses forced channel subscription gates. Resolves nested bot handoffs, completes required joins, backs up and forwards media directly to you, and automatically cleans up temporary channel memberships in the background. Built with Python, Telethon, and FloodWait resilience.

Topics

Resources

Stars

5 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages