mirror of
https://github.com/arkorty/B.Tech-Project-III.git
synced 2026-04-19 12:41:48 +00:00
139 lines
3.0 KiB
Markdown
139 lines
3.0 KiB
Markdown
# negoT8 — Setup Guide
|
|
|
|
## Why it works on my machine but not yours
|
|
|
|
The most common causes are listed here. Go through them **in order**.
|
|
|
|
---
|
|
|
|
## 1. `.env` file is missing ❌
|
|
|
|
`.env` is **never committed to Git** (it's in `.gitignore`).
|
|
Your friend must create it manually:
|
|
|
|
```bash
|
|
cp .env.example .env
|
|
# then open .env and fill in every value
|
|
```
|
|
|
|
Every blank/missing key will silently cause failures — Telegram bots won't start, AI won't respond, blockchain calls will fail.
|
|
|
|
---
|
|
|
|
## 2. Python version mismatch ⚠️
|
|
|
|
This project requires **Python 3.10+** (3.9 works but shows deprecation warnings from Google libraries).
|
|
|
|
```bash
|
|
python3 --version # must be 3.10 or higher recommended
|
|
```
|
|
|
|
If on macOS and Python is too old:
|
|
```bash
|
|
brew install python@3.11
|
|
```
|
|
|
|
---
|
|
|
|
## 3. Virtual environment not created / activated ❌
|
|
|
|
The project uses a `venv` that is **not committed to Git**.
|
|
Your friend must create and activate it:
|
|
|
|
```bash
|
|
# In the repo root
|
|
python3 -m venv venv
|
|
|
|
# macOS / Linux
|
|
source venv/bin/activate
|
|
|
|
# Windows
|
|
venv\Scripts\activate
|
|
```
|
|
|
|
---
|
|
|
|
## 4. Dependencies not installed ❌
|
|
|
|
After activating the venv:
|
|
|
|
```bash
|
|
pip install -r requirements.txt
|
|
```
|
|
|
|
If `requirements.txt` was missing before, it's now at the repo root.
|
|
|
|
---
|
|
|
|
## 5. Bot tokens: only ONE process can poll at a time 🔑
|
|
|
|
Each Telegram bot token can only be used by **one running process** at a time.
|
|
If your machine is already running the bots, your friend's machine will get:
|
|
|
|
```
|
|
telegram.error.Conflict: terminated by other getUpdates request
|
|
```
|
|
|
|
**Fix**: Stop the bots on your machine before your friend starts them.
|
|
Each person needs their **own BotFather tokens** for their own copy.
|
|
|
|
---
|
|
|
|
## 6. `MOCK_MODE` must be set correctly
|
|
|
|
In `.env`:
|
|
- `MOCK_MODE=true` → no Gemini/AI calls, uses hardcoded responses (safe for testing)
|
|
- `MOCK_MODE=false` → needs a valid `GEMINI_API_KEY`
|
|
|
|
---
|
|
|
|
## 7. Blockchain keys (optional for testing)
|
|
|
|
If `POLYGON_PRIVATE_KEY` or `AGREEMENT_CONTRACT_ADDRESS` is missing/wrong, the blockchain badge won't appear **but the bot will still work** — it falls back gracefully.
|
|
|
|
To get test MATIC for Polygon Amoy: https://faucet.polygon.technology
|
|
|
|
---
|
|
|
|
## Full Setup (copy-paste for your friend)
|
|
|
|
```bash
|
|
# 1. Clone the repo
|
|
git clone <repo-url>
|
|
cd negot8
|
|
|
|
# 2. Create Python virtual environment
|
|
python3 -m venv venv
|
|
source venv/bin/activate # macOS/Linux
|
|
|
|
# 3. Install dependencies
|
|
pip install -r requirements.txt
|
|
|
|
# 4. Set up environment variables
|
|
cp .env.example .env
|
|
# Edit .env — fill in TELEGRAM_BOT_TOKEN_A, TELEGRAM_BOT_TOKEN_B at minimum
|
|
# Set MOCK_MODE=true to skip needing a Gemini API key
|
|
|
|
# 5. Start the backend bots
|
|
cd backend
|
|
python3 -u run.py
|
|
|
|
# 6. (Optional) Start the Next.js dashboard
|
|
cd ../dashboard
|
|
npm install
|
|
npm run dev
|
|
```
|
|
|
|
---
|
|
|
|
## Minimum viable `.env` to get bots running
|
|
|
|
```env
|
|
TELEGRAM_BOT_TOKEN_A=<your bot A token from BotFather>
|
|
TELEGRAM_BOT_TOKEN_B=<your bot B token from BotFather>
|
|
MOCK_MODE=true
|
|
DATABASE_PATH=negot8.db
|
|
```
|
|
|
|
Everything else is optional for basic testing.
|