Frequently Asked Questions - rafsanbasunia/reelnn GitHub Wiki

1. What is reelnn?

reelnn (pronounced reel-inn) is a full-stack entertainment web application that lets users stream and access videos directly from Telegram ๐Ÿ“ฒ. You donโ€™t need separate storage for your content โ€” just upload videos to your channel, and let reelnn work its magic โœจ.


2. How do I deploy?

reelnn has two parts:

  • ๐Ÿ–ฅ๏ธ Frontend
  • โš™๏ธ Backend

๐Ÿงช Frontend:

You can deploy the frontend using [Vercel](https://vercel.com/) or Cloudflare Pages. Recommendation: Use Vercel โ€” itโ€™s the best PaaS for Next.js apps.

๐Ÿ”ง Backend:

The backend is a Python application that:

  • Runs your Telegram bot using Pyrogram ๐Ÿค–
  • Serves a lightweight API using FastAPI ๐Ÿงฉ

๐Ÿ“ฆ Where to deploy?

  • You can use a PaaS like Heroku or Render.
  • For advanced users, VPS deployment works too โ€” but youโ€™ll need to set up an Nginx server or use Cloudflare tunneling to enable HTTPS (BACKEND_URL) for the frontend to work properly.

3. Iโ€™ve deployed both. Now what?

๐ŸŽ‰ Congrats! Head over to your deployed frontend in the browser. Youโ€™ll likely see an empty homepage โ€” thatโ€™s normal.

โœ… You should also see a โ€œBot Startedโ€ message in your LOGS_CHAT.

๐ŸŽฅ Now, go to your media channel and upload a movie or show to get things going!


4. Where to upload movies/shows?

reelnn needs 3 types of chat/channel IDs. If youโ€™re wondering where to upload your content โ€” itโ€™s the AUTH_CHAT. ๐Ÿ”‘

Here's what each chat does:

  • ๐Ÿ“ฅ AUTH_CHAT: This is your primary upload group/channel. Add your bot here and upload your media. This is the heart of your website โค๏ธ.

  • ๐Ÿ“ข POST_CHAT: This is a public channel. The bot will post updates here with beautiful posters and media info pulled from TMDB ๐Ÿ–ผ๏ธ.

  • ๐Ÿ› ๏ธ LOGS_CHAT: This is a private log group. The bot will send error/debug messages here. Keep it admin-only ๐Ÿ”’.


5. Iโ€™m uploading files, but some give errors โ€” why?

Thatโ€™s completely normal โœ… reelnn uses TMDB to fetch metadata. If TMDB doesnโ€™t recognize the movie/show, it wonโ€™t be added to your site.

๐Ÿ”ฎ Future Plan: I want to add IMDb support, but their new paid API makes it difficult for open-source projects ๐Ÿ’ธ.

๐Ÿง‘โ€๐Ÿ’ป If you encounter a different error, please send it to the discussion group โ€” reelnn is still in beta, so bugs are expected ๐Ÿž.


6. Streaming or Downloading Issues?

Streaming can be unstable due to Telegram Bot API limits. If your site gets too much traffic or users stream heavily, the bot may hit the dreaded:

โš ๏ธ "HOLY FLOODWAIT" error โš ๏ธ This causes all streaming and downloads to freeze temporarily. ( Downloading from telegram still works )

๐Ÿ’ก Solution (Workaround):

Some brilliant minds (see credits in the README ๐Ÿ™Œ) found a workaround:

  • โœ… Create multiple bots
  • โœ… Add each one to your AUTH_CHAT group/channel
  • โœ… Promote them as admins
  • โœ… Add their tokens to the MULTI_TOKENS variable

These bots share the load and reduce the chances of floodwait errors ๐Ÿง .

โš ๏ธ This is not a permanent fix, just a clever workaround. reelnn is designed for small-scale use โ€” like with friends and family ๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ โ€” so this method is usually sufficient.

6. Fix Search

reelnn uses MongoDB Atlas Search to get search results. To show search results, you have to create an index for both movies and shows. Follow these steps to create atlas search index:

Movie Search Index

    1. Open MongoDB Atlas Dashboard and open your cluster.
    1. Select Atlas Search ( On Left Menu ).
    1. Click Create Search Index.
    1. Select Atlas Search
    1. Type movies in the Index Name.
    1. Expand movies_db and select movies
    1. Select JSON Editor for Configuration Method
    1. Click Next
    1. Copy and Paste the bellow code and click Next to Create Search Index:
{
  "analyzer": "lucene.english",
  "searchAnalyzer": "lucene.english",
  "mappings": {
    "dynamic": false,
    "fields": {
      "title": {
        "analyzer": "lucene.english",
        "type": "string"
      }
    }
  },
  "storedSource": {
    "include": [
      "mid",
      "title",
      "poster_path",
      "release_date",
      "vote_count",
      "vote_average"
    ]
  }
}

Shows Search Index

    1. Open MongoDB Atlas Dashboard and open your cluster.
    1. Select Atlas Search ( On Left Menu ).
    1. Click Create Search Index.
    1. Select Atlas Search
    1. Type shows in the Index Name.
    1. Expand shows_db and select shows
    1. Select JSON Editor for Configuration Method
    1. Click Next
    1. Copy and Paste the bellow code and click Next to Create Search Index:
{
  "analyzer": "lucene.english",
  "searchAnalyzer": "lucene.english",
  "mappings": {
    "dynamic": false,
    "fields": {
      "title": {
        "analyzer": "lucene.english",
        "type": "string"
      }
    }
  },
  "storedSource": {
    "include": [
      "sid",
      "title",
      "poster_path",
      "release_date",
      "vote_count",
      "vote_average"
    ]
  }
}