Spaces:
Running
Running
| # π€ QueenNoxi β Complete Setup Guide | |
| > Get every API key and config value needed to run the bot. | |
| --- | |
| ## 1. Telegram API Credentials (`API_ID` & `API_HASH`) | |
| 1. Go to **[my.telegram.org](https://my.telegram.org)** | |
| 2. Log in with your phone number | |
| 3. Click **"API development tools"** | |
| 4. Create an app (any name/platform is fine) | |
| 5. Copy **App api_id** β `API_ID` | |
| 6. Copy **App api_hash** β `API_HASH` | |
| --- | |
| ## 2. Bot Token (`TOKEN`) | |
| 1. Open Telegram β message **[@BotFather](https://t.me/BotFather)** | |
| 2. Send `/newbot` | |
| 3. Choose a **name** (display name, e.g. `Queen Noxi`) | |
| 4. Choose a **username** (must end in `bot`, e.g. `QueenNoxiGroupBot`) | |
| 5. BotFather replies with your token: | |
| ``` | |
| 123456789:AABBccDDeeFFggHHiiJJ... | |
| ``` | |
| β `TOKEN` | |
| 6. Also set `BOT_NAME` = the display name you chose | |
| 7. Also set `BOT_USERNAME` = the username **without @** | |
| > **Tip:** Also send `/setprivacy` β `Disable` to let the bot read all group messages. | |
| --- | |
| ## 3. Your Owner ID (`OWNER_IDS`) | |
| Message **[@userinfobot](https://t.me/userinfobot)** on Telegram. | |
| It replies with your numeric user ID, e.g. `123456789`. | |
| To add **multiple owners**, separate with spaces: | |
| ``` | |
| OWNER_IDS=123456789 987654321 | |
| ``` | |
| --- | |
| ## 4. MongoDB (`MONGO_DB_URI`) | |
| > You already have MongoDB Atlas β reuse the same cluster or create a new database in it. | |
| **To add a new database in your existing Atlas cluster:** | |
| 1. Go to **[cloud.mongodb.com](https://cloud.mongodb.com)** | |
| 2. Open your cluster β **Browse Collections** β **Add My Own Data** | |
| 3. Create a database named `QueenNoxi` | |
| 4. Your existing connection URI works β just change the DB name at the end: | |
| ``` | |
| mongodb+srv://user:pass@cluster.xxxxx.mongodb.net/QueenNoxi?retryWrites=true&w=majority | |
| ``` | |
| β `MONGO_DB_URI` | |
| --- | |
| ## 5. PostgreSQL Database (`DATABASE_URL`) | |
| ### π Recommended: [Neon.tech](https://neon.tech) | |
| *(Free forever β serverless, no credit card, never sleeps)* | |
| 1. Sign up at **[neon.tech](https://neon.tech)** (GitHub login works) | |
| 2. Click **"New Project"** β choose a region closest to you | |
| 3. Wait ~10 seconds for provisioning | |
| 4. Go to **Dashboard β Connection Details** | |
| 5. Select **"Pooled connection"** and copy the string: | |
| ``` | |
| postgresql://user:pass@ep-xxx.us-east-2.aws.neon.tech/neondb?sslmode=require | |
| ``` | |
| β `DATABASE_URL` | |
| | Alternative | Free Tier | Notes | | |
| |---|---|---| | |
| | [Supabase](https://supabase.com) | 500 MB | Pauses after 1 week inactive | | |
| | [Railway](https://railway.app) | $5 credit/mo | Easiest UI | | |
| | [Aiven](https://aiven.io) | 1 free service | Good uptime | | |
| --- | |
| ## 6. Support Chat (`SUPPORT_CHAT`) | |
| You can provide either a public username or a full invite link. | |
| - **Public Group:** Set `SUPPORT_CHAT=yourgroupusername` (without `@`) | |
| - **Private Group:** Set `SUPPORT_CHAT=https://t.me/+xyz123...` (full invite link) | |
| The bot will automatically handle either format for the support buttons in the menu. | |
| --- | |
| ## 7. Start Image (`START_IMG`) | |
| Any **direct image URL** (must end in `.jpg`, `.png`, `.webp`). | |
| Quick options: | |
| - Upload to [imgbb.com](https://imgbb.com) β get direct link | |
| - Use any public Telegram CDN URL | |
| - Use a raw GitHub image URL | |
| --- | |
| ## 8. Log Channel (`EVENT_LOGS`) | |
| 1. Create a private Telegram channel | |
| 2. Add your bot as **admin** | |
| 3. Forward any message from the channel to **[@getidsbot](https://t.me/getidsbot)** | |
| 4. Copy the **channel ID** (looks like `-100xxxxxxxxxx`) | |
| β `EVENT_LOGS` | |
| --- | |
| ## 9. Optional API Keys | |
| | Variable | Service | Cost | Link | | |
| |---|---|---|---| | |
| | `CASH_API_KEY` | Currency conversion | Free | [api.freecurrencyapi.com](https://freecurrencyapi.com) | | |
| | `TIME_API_KEY` | Timezone lookup | Free | [timezonedb.com](https://timezonedb.com/api) | | |
| --- | |
| ## 10. Deploying on HuggingFace Spaces | |
| 1. Push this repo to **[Hugging Face](https://huggingface.co/new-space)** | |
| - Space SDK: **Docker** | |
| - Visibility: Public or Private | |
| 2. After creating, go to **Settings β Variables and secrets** | |
| 3. Add each key below as a **Secret** (sensitive) or Variable: | |
| | Type | Variables | | |
| |---|---| | |
| | π Secret | `API_ID`, `API_HASH`, `TOKEN`, `MONGO_DB_URI`, `DATABASE_URL`, `OWNER_IDS` | | |
| | π Variable | `BOT_NAME`, `BOT_USERNAME`, `SUPPORT_CHAT`, `START_IMG`, `EVENT_LOGS`, `WORKERS` | | |
| 4. The Space auto-builds and starts β watch **Logs** for any errors. | |
| 5. Your bot should come online within 2β3 minutes. | |
| > **Health check:** HuggingFace pings `https://your-space.hf.space/health` | |
| > The bot responds with `β QueenNoxi is running!` | |
| --- | |
| ## 11. Minimum Required `.env` for Local Testing | |
| ```env | |
| API_ID=12345678 | |
| API_HASH=your_api_hash_here | |
| TOKEN=bot:token_here | |
| OWNER_IDS=123456789 | |
| MONGO_DB_URI=mongodb+srv://user:pass@cluster.mongodb.net/QueenNoxi | |
| BOT_NAME=QueenNoxi | |
| BOT_USERNAME=yourbotusername | |
| ``` | |
| Run locally with: | |
| ```powershell | |
| # Load .env vars and start the bot | |
| Get-Content .env | ForEach-Object { if ($_ -match '^([^#=]+)=(.*)$') { [System.Environment]::SetEnvironmentVariable($Matches[1].Trim(), $Matches[2].Trim()) } } | |
| python app.py | |
| ``` | |