A powerful Telegram bot that finds real gas stations using Google Places API and delivers results in horizontal CSV format.
- β‘ Real-time data from Google Places API
- π― Multiple ZIP codes support (up to 10 per request)
- πΎ Horizontal CSV format - Seller Name1, Address1, City1, State1, Zip1, etc.
- π Lightning fast results with smart caching
- π¨ Beautiful UI with emojis and status updates
- π° Cost optimized with 30-minute caching
- Start the bot:
/start - Send any US ZIP code(s):
- Single:
90210 - Multiple:
90210 10001 77001 - Up to 10 ZIP codes per request
- Single:
- Get instant CSV download + beautiful preview
π³ Docker is the BEST way to deploy - no version conflicts!
git add .
git commit -m "Add Docker support"
git push origin master- New β Web Service
- Select your repository
- Environment: Docker
- Add your API keys as environment variables
- Deploy! π
β See Docker Deployment Guide for details
- Telegram Bot Token - Get from @BotFather
- Google Cloud API Key - Get from Google Cloud Console
git clone https://github.com/yourusername/gas-station-bot.git
cd gas-station-botpip install -r requirements.txtexport TELEGRAM_BOT_TOKEN="your_telegram_bot_token"
export GOOGLE_API_KEY="your_google_api_key"python gas_station_bot.py- Create new repository on GitHub
- Upload all files
- Push your code
- Go to Render.com
- Connect your GitHub account
- Create new Web Service
- Select your repository
- Configure:
- Build Command:
pip install -r requirements.txt - Start Command:
python gas_station_bot.py
- Build Command:
- Add Environment Variables:
TELEGRAM_BOT_TOKEN= your bot tokenGOOGLE_API_KEY= your API key
- Deploy!
- Go to Google Cloud Console
- Create new project or select existing
- Enable these APIs:
- Places API
- Geocoding API
- Create API Key in Credentials
- Restrict API key (recommended):
- Application restrictions: None
- API restrictions: Places API, Geocoding API
- Geocoding API: $5 per 1,000 requests
- Places API (Nearby Search): $32 per 1,000 requests
- Places API (Place Details): $17 per 1,000 requests
Estimated cost per ZIP code: $0.10 - $0.50
The bot creates horizontal CSV with this format:
Seller Name1,Seller Address1,Seller City1,Seller State1,Seller Zip1,Seller Name2,Seller Address2,Seller City2,Seller State2,Seller Zip2,...
Shell,123 Main St,Beverly Hills,CA,90210,Chevron,456 Oak Ave,Beverly Hills,CA,90210,...
User: 90210
Bot: Finds 5 gas stations in Beverly Hills, CA
User: 90210 10001 77001
Bot: Finds up to 5 stations per ZIP (15 total max)
User: 90210 10001 77001 60601 33101 94102 30309 02101 98101 75201
Bot: Handles all 10 ZIP codes (50 stations max)
gas-station-bot/
βββ gas_station_bot.py # Main bot code
βββ requirements.txt # Python dependencies
βββ README.md # This file
βββ .gitignore # Git ignore file
βββ Procfile # Render deployment config
βββ LICENSE # MIT License
| Variable | Description | Required |
|---|---|---|
TELEGRAM_BOT_TOKEN |
Your Telegram bot token from @BotFather | β Yes |
GOOGLE_API_KEY |
Your Google Cloud API key | β Yes |
- API Limits: Google Places has daily quotas
- Caching: Results cached for 30 minutes to save costs
- Rate Limiting: Built-in delays between API calls
- Error Handling: Graceful handling of API failures
- π Bug Reports: Open an issue
- π‘ Feature Requests: Create a discussion
- π§ Contact: [email protected]
MIT License - see LICENSE file for details.
- Google Places API for real gas station data
- python-telegram-bot for Telegram integration
- Render.com for easy deployment
β If this helped you, please star the repository!
π₯ Happy gas station hunting! β½