๐ค ChatGPT Telegram Bot
June 14, 2026 ยท View on GitHub
๐ค 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
/help_group_chatfor 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 set
openrouter_api_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 telegram_token, openai_api_key (and openrouter_api_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 |
|---|---|
telegram_token | Bot token from @BotFather |
openai_api_key | Your OpenAI API key |
openai_api_base | Custom base URL (e.g. LocalAI); leave null for default |
openrouter_api_key | Needed only for provider: openrouter models (Claude, GPT-5.5) |
allowed_telegram_usernames | Whitelist of users/IDs; empty = open to everyone |
new_dialog_timeout | Seconds before a new dialog starts automatically |
image_size | gpt-image-1 output size (1024x1024, 1536x1024, 1024x1536, auto) |
enable_message_streaming | 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.
See the full history in CHANGELOG.md.
โค๏ธ 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! โญ