# ChatGPT Telegram Bot: **GPT-4. Fast. No daily limits. Special chat modes**
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.**
You can deploy your own bot, or use mine: [@chatgpt_karfly_bot](https://t.me/chatgpt_karfly_bot)
## Features
- Low latency replies (it usually takes about 3-5 seconds)
- No request limits
- Message streaming (watch demo)
- GPT-4 support
- Group Chat support (/help_group_chat to get instructions)
- DALLE 2 (choose ๐ฉโ๐จ Artist mode to generate images)
- Voice message recognition
- Code highlighting
- 15 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](https://platform.openai.com/docs/guides/chat/introduction)
- List of allowed Telegram users
- Track $ balance spent on OpenAI API
---
## ๐ค Payments
[My bot](https://t.me/chatgpt_karfly_bot) supports many payments providers:
- ๐ Crypto
- [Stripe](https://stripe.com)
- [Smart Glocal](https://smart-glocal.com)
- [Unlimint](https://www.unlimint.com)
- [ะฎMoney](https://yoomoney.ru)
- and [many-many other](https://core.telegram.org/bots/payments#supported-payment-providers)
If you want to add payments to your bot and create profitable business โ write me on Telegram ([@karfly](https://t.me/karfly)).
## News
- *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](https://openai.com/blog/introducing-chatgpt-and-whisper-apis). Record a voice message and ChatGPT will answer you!
- *2 Mar 2023*: Added support of [ChatGPT API](https://platform.openai.com/docs/guides/chat/introduction). It's enabled by default and can be disabled with `use_chatgpt_api` option in config. Don't forget to **rebuild** you docker image (`--build`).
## Bot commands
- `/retry` โ Regenerate last bot answer
- `/new` โ Start new dialog
- `/mode` โ Select chat mode
- `/balance` โ Show balance
- `/settings` โ Show settings
- `/help` โ Show help
## Setup
1. Get your [OpenAI API](https://openai.com/api/) key
2. Get your Telegram bot token from [@BotFather](https://t.me/BotFather)
3. Edit `config/config.example.yml` to set your tokens and run 2 commands below (*if you're advanced user, you can also edit* `config/config.example.env`):
```bash
mv config/config.example.yml config/config.yml
mv config/config.example.env config/config.env
```
4. ๐ฅ And now **run**:
```bash
docker-compose --env-file config/config.env up --build
```
## โค๏ธ Top donations
You can be in this list:
1. [Sem](https://t.me/sembrestels). Donation: **100$**
2. [Ryo](https://t.me/ryokihara). Donation: **80$**
3. [Ilias Ism](https://twitter.com/illyism). Donation: **69$**
*Message:* I wanted to thank you for your amazing code! It helped me start my own Telegram ChatGPT bot and add a bunch of cool features. I really appreciate your hard work on this project. For anyone interested in trying my bot, feel free to check it out here: [magicbuddy.chat](https://magicbuddy.chat) ๐ค Thanks again! ๐
4. [Sebastian](https://t.me/dell1503). Donation: **55$**
5. [Alexander Zimin](https://t.me/azimin). Donation: **50$**
6. [Hans Blinken](https://t.me/hblink). Donation: **10$**
## References
1. [*Build ChatGPT from GPT-3*](https://learnprompting.org/docs/applied_prompting/build_chatgpt)