We all love [chat.openai.com](https://chat.openai.com), but... It's TERRIBLY laggy, has daily limits, and is only accessible through an archaic web interface.
This repo is ChatGPT re-created as Telegram Bot. And it works great.
- Low latency replies (it usually takes about 3-5 seconds)
- No request limits
- Message streaming (watch demo)
- GPT-4 and GPT-4 Turbo support
- Group Chat support (/help_group_chat to get instructions)
- DALLE 2 (choose π©βπ¨ Artist mode to generate images)
- Voice message recognition
- Code highlighting
- 17 special chat modes: π©πΌβπ Assistant, π©πΌβπ» Code Assistant, π©βπ¨ Artist, π§ Psychologist, π Elon Musk and other. You can easily create your own chat modes by editing
config/chat_modes.yml
- Support of ChatGPT API
- List of allowed Telegram users
- Track $ balance spent on OpenAI API
- Multi-language support
- 24 Feb 2024:
- Added Multi-language support. Now you can easily switch between languages using config.yml file.
- Turkish language translation added
- Unauthorized users warning added
- 21 Apr 2023:
- DALLE 2 support
- Group Chat support (/help_group_chat to get instructions)
- 10 new hot chat modes and updated chat mode menu with pagination: π¬π§ English Tutor, π§ Psychologist, π Elon Musk, π SQL Assistant and other.
- 24 Mar 2023: GPT-4 support. Run
/settings
command to choose model - 15 Mar 2023: Added message streaming. Now you don't have to wait until the whole message is ready, it's streamed to Telegram part-by-part (watch demo)
- 9 Mar 2023: Now you can easily create your own Chat Modes by editing
config/chat_modes.yml
- 8 Mar 2023: Added voice message recognition with OpenAI Whisper API. Record a voice message and ChatGPT will answer you!
- 2 Mar 2023: Added support of ChatGPT API.
- 1 Aug 2023: Added OpenAI API Base to config (useful while using OpenAI-compatible API like LocalAI)
- 15 Nov 2023: Added support of GPT-4 Turbo
/retry
β Regenerate last bot answer/new
β Start new dialog/mode
β Select chat mode/balance
β Show balance/settings
β Show settings/help
β Show help
-
Get your OpenAI API key
-
Get your Telegram bot token from @BotFather
-
Edit
config/config.example.yml
to set your tokens and run 2 commands below (if you're advanced user, you can also editconfig/config.example.env
):mv config/config.example.yml config/config.yml mv config.example.env .env
-
π₯ And now run:
docker-compose -f docker-compose.yml up --build
You can easily switch between languages using config.yml
file. Just change language
parameter to en
, de
, tr
or es
and restart the bot.
For help with translations, open LOCALES file and translate the strings in base.po file. Then create a PR with your translation.