๐ฌ Telegram bot with ChatGPT & Claude Python-based, using OpenAI's API.

๐ค ChatGPT Telegram Bot
ChatGPT, re-created as a Telegram bot โ and it works great.
GPT-5.5 ยท Anthropic Claude (Opus / Sonnet / Haiku) ยท Vision ยท Voice ยท Image generation
Fast replies, no daily limits, message streaming and 15 special chat modes.
Web chatbots are great โ but they're often laggy, rate-limited, and locked behind a browser tab. This project puts the best models from OpenAI and Anthropic right inside Telegram, with your own API keys and no daily limits.
๐ Try the live bot: @jadvebot ยท ๐ Web: jadve.com โ or deploy your own in two commands (Quick start โ).
โจ Features
- โก Low latency โ replies usually take 3โ5 seconds.
- ๐ No request limits โ you pay your API provider directly, nothing in between.
- ๐ Message streaming โ answers stream into Telegram word-by-word.
- ๐ง Frontier models โ GPT-5.5 and Anthropic Claude (Opus 4.8 / Sonnet / Haiku) via OpenRouter, plus fast & cheap defaults out of the box.
- ๐๏ธ Vision โ send an image and any vision-capable model (GPT-5.5, Claude, โฆ) will read it.
- ๐จ Image generation โ create images with OpenAI
gpt-image-1(switch to ๐ฉโ๐จ Artist mode). - ๐ค Voice messages โ record a voice note and Whisper transcribes it for you.
- ๐ญ 15 chat modes โ Assistant, Code Assistant, Psychologist, Elon Musk and more. Add your own in
config/chat_modes.yml. - ๐ฅ Group chat support โ run
/helpgroupchatfor setup instructions. - ๐ป Code highlighting โ formatted, readable code blocks.
- ๐ Access control โ restrict the bot to a list of allowed Telegram users.
- ๐ฐ Balance tracking โ see exactly how much you've spent on the API with
/balance.
๐ง Supported models
Models are config-driven โ add or remove any in config/models.yml with no code changes.
| Model | Provider | Vision | Smart | Fast | Cheap | In / Out per 1K tokens | |---|---|:---:|:---:|:---:|:---:|---| | GPT-4o mini (default) | OpenAI | โ | ๐ข๐ข๐ข๐ข | ๐ข๐ข๐ข๐ข๐ข | ๐ข๐ข๐ข๐ข๐ข | $0.00015 / $0.0006 | | GPT-4o | OpenAI | โ | ๐ข๐ข๐ข๐ข๐ข | ๐ข๐ข๐ข๐ข | ๐ข๐ข๐ข๐ข | $0.0025 / $0.01 | | GPT-5.5 | OpenRouter | โ | ๐ข๐ข๐ข๐ข๐ข | ๐ข๐ข๐ข | ๐ข๐ข | $0.005 / $0.03 | | Claude Opus 4.8 | OpenRouter | โ | ๐ข๐ข๐ข๐ข๐ข | ๐ข๐ข | ๐ข๐ข | $0.005 / $0.025 | | Claude Sonnet | OpenRouter | โ | ๐ข๐ข๐ข๐ข๐ข | ๐ข๐ข๐ข๐ข | ๐ข๐ข๐ข | $0.003 / $0.015 | | Claude Haiku | OpenRouter | โ | ๐ข๐ข๐ข๐ข | ๐ข๐ข๐ข๐ข๐ข | ๐ข๐ข๐ข๐ข | $0.001 / $0.005 |
Plus gpt-image-1 for image generation and Whisper for voice transcription.
๐ก OpenAI models use the native API. Claude and GPT-5.5 are routed through OpenRouter โ just setopenrouterapi_keyand pick the model in/settings. Any other OpenRouter-routed model works too: declareprovider: openrouterinconfig/models.yml.
๐ญ Chat modes
| | | | |---|---|---| | ๐ฉ๐ผโ๐ General Assistant | ๐ฉ๐ผโ๐ป Code Assistant | ๐ฉโ๐จ Artist | | ๐ฌ๐ง English Tutor | ๐ก Startup Idea Generator | ๐ Text Improver | | ๐ง Psychologist | ๐ Elon Musk | ๐ Motivator | | ๐ฐ Money Maker | ๐ SQL Assistant | ๐งณ Travel Guide | | ๐ฅ Rick Sanchez | ๐งฎ Accountant | ๐ฌ Movie Expert |
Create your own by editing config/chat_modes.yml.
๐ Quick start
1. Get an OpenAI API key.
2. (optional) Get an OpenRouter API key to use Claude and GPT-5.5.
3. Get a Telegram bot token from @BotFather.
4. Fill in your tokens and rename the config files:
mv config/config.example.yml config/config.yml
mv config/config.example.env config/config.env
then edit config/config.yml โ set telegramtoken, openaiapikey (and openrouterapi_key for Claude/GPT-5.5)
5. ๐ฅ Run it:
docker-compose --env-file config/config.env up --build
That's it โ message your bot on Telegram.
โ๏ธ Configuration
Main options in config/config.yml:
| Option | Description | |---|---| | telegramtoken | Bot token from @BotFather | | openaiapikey | Your OpenAI API key | | openaiapibase | Custom base URL (e.g. LocalAI); leave null for default | | openrouterapikey | Needed only for provider: openrouter models (Claude, GPT-5.5) | | allowedtelegramusernames | Whitelist of users/IDs; empty = open to everyone | | newdialogtimeout | Seconds before a new dialog starts automatically | | image_size | gpt-image-1 output size (1024x1024, 1536x1024, 1024x1536, auto) | | enablemessagestreaming | Stream answers word-by-word |
Per-model pricing and capabilities live in config/models.yml.
๐ฌ Bot commands
| Command | Description | |---|---| | /new | Start a new dialog | | /mode | Select a chat mode | | /retry | Regenerate the last answer | | /settings | Choose model and settings | | /balance | Show $ spent on the API | | /help | Show help |
๐๏ธ Project structure
bot/
bot.py # Telegram handlers, streaming, commands
openai_utils.py # model dispatch (OpenAI + OpenRouter), token counting, vision
config.py # loads config.yml / models.yml / chat_modes.yml
database.py # MongoDB storage for users & dialogs
config/
config.yml # your tokens & settings
models.yml # model catalog, pricing, capabilities
chat_modes.yml # chat-mode prompts
๐ ๏ธ Tech stack
python-telegram-bot 20.x ยท OpenAI Python SDK 1.x ยท MongoDB ยท Docker ยท Python 3.12
๐ฐ Changelog highlights
- Jun 2026 โ Switched image generation to gpt-image-1, refreshed the model menu and pricing.
- Mar 2026 โ Added OpenRouter support โ Claude (Opus / Sonnet / Haiku) and GPT-5.5.
- Feb 2026 โ Migrated to the OpenAI Python 1.x SDK; Docker now runs on Python 3.12.
- 2025 โ Config-driven model catalog: add or swap models without touching code.
โค๏ธ Top donations
You can be on this list:
- LilRocco โ $11000 (!!!)
- Mr V โ $250
- unexpectedsunday โ $150
๐ License
MIT โ do whatever you want, just keep the notice.
โญ If this project saved you time, give it a star! โญ