- master - The OpenAI GPT models. Stable version.
- dev - The OpenAI GPT models. Development version.
- system-prompt - The OpenAI GPT models. Allows users to specify a system prompt arbitrarily.
- gemini - The Google Gemini models.
- claude - The Anthropic Claude models.
- glm - The Zhipu AI GLM-4 models.
- gpts - Allows customization of different prefixes corresponding to different system prompts, similar to ChatGPT's GPTs functionality.
- plugins - Utilizes the Function calling feature of GPT-4 to support Google and Bing searches, web browsing, YouTube subtitle downloads, Wolfram Alpha, and a calculator plugin.
- Real-time output streaming - Receive AI model outputs while they are being generated using the message editing feature of Telegram.
- Model switching - Easily change between models (e.g., GPT-4 and GPT-3.5-Turbo) using distinct message prefixes.
- Concurrent requests - The bot can process multiple user queries simultaneously.
- Long message support - For outputs exceeding Telegram's single message limit, the bot replies using multiple messages.
- Automatic retry - The bot retries automatically in case of OpenAI API or Telegram API errors.
- Persistent and forkable chat history - Chat logs are stored in a database, allowing users to reply to historical messages anytime.
- Message queueing - Replies to generating messages are added to a processing queue.
- Whitelist management - Bot administrators can enable or disable the bot in specific groups.
- Multimodal Support - Supports images and text files as input.
- Rich Text Rendering - The bot's output can be displayed as rich text in Telegram, such as code blocks and bold text.
- Obtain an OpenAI API key from https://platform.openai.com/account/api-keys
- Create a Telegram bot by using BotFather via https://t.me/BotFather
- Get
api_id
andapi_hash
from https://my.telegram.org/apps - Set OpenAI API key and Telegram Bot Token and Telegram API ID and Hash in the
docker-compose.yml
file. - In the
main.py
file, specify the Telegram admin user ID (you can send/ping
to your bot to obtain your user ID) and the prompt text. - If you want to use the bot in a group, you must disable privacy mode in the bot settings.
- Run
docker-compose up --build -d
- You can interact with your bot by initiating a new conversation with a message that starts with
$
. For example, you can type$Hello
. By default, the bot uses the GPT-4 model. To switch to the GPT-3.5-Turbo model, simply start the message with$$
. - To continue a conversation thread, reply to a previous message sent by the bot.
- You can reply multiple times to the same message to "fork" the thread.
- In a group, only the bot admin can use the
/add_whitelist
command to whitelist the group. To remove the group from the whitelist, the admin can use the/del_whitelist
command. - Finally, in a private chat with the bot, you can use the
/get_whitelist
command to get a list of all whitelisted groups.
By following these steps, you can effectively use the ChatGPT Telegram bot for your needs.
Note: the above instructions are written by ChatGPT.