Sign inSign up

upagge/chatgpt-telegram-bot

By upagge

•Updated over 3 years ago

Personal ChatGPT bot directly in Telegram

Image
1

2.5K

upagge/chatgpt-telegram-bot repository overview

⁠Personal ChatGPT Telegram Bot

The project uses your ChatGPT token to access the ChatGPT API and let you chat with ChatGPT directly in Telegram.
See documentation for details⁠

Enough words, let's launch your personal ChatGPT Telegram bot. 🚀

Key Features:

  • Saving the context of a conversation
  • Access can be restricted by specifying a list of allowed users.
  • Support for multiple chats for one user
  • Support markdown in answers
  • Ability to set behavior for the conversation, which will be preserved even when the context is cleared
  • Docker and Proxy support
  • Possibility to check expenses for the current month
  • Tells you how many tokens you spent to generate a response
  • Support Telegram Inline Mode

⁠Preparing

⁠Environment variables

  • TELEGRAM_BOT_TOKEN - The bot access token you got from GodFather. Example: 1234567890:XXX_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
  • TELEGRAM_BOT_USERNAME - Specify a name with the ending bot here, not a public name. Example: Undusted_bot
  • TELEGRAM_PERSON_ID - The IDs of the users on Telegram who are allowed access. Example: 1234567, 56789045
  • ADMIN_TELEGRAM_PERSON_ID - The IDs of the users on Telegram who are allowed admin access. Example: 1234567
  • CHAT_GPT_TOKEN - OpenAI API access token.

⁠Docker Run

The following platforms are supported: linux/amd64,linux/arm64/v8

docker run -it --name chatgpt-telegram-bot \
    --env TELEGRAM_BOT_TOKEN= \
    --env TELEGRAM_BOT_USERNAME= \
    --env TELEGRAM_PERSON_ID= \
    --env ADMIN_TELEGRAM_PERSON_ID= \
    --env CHAT_GPT_TOKEN= \
    upagge/chatgpt-telegram-bot:develop
⁠Telegram Proxy

If you have Telegram blocked, you can specify proxy settings to connect.

docker run -it --name chatgpt-telegram-bot \
    --env TELEGRAM_BOT_TOKEN= \
    --env TELEGRAM_BOT_USERNAME= \
    --env TELEGRAM_PERSON_ID= \
    --env ADMIN_TELEGRAM_PERSON_ID= \
    --env CHAT_GPT_TOKEN= \
    --env TELEGRAM_PROXY_ENABLE=true \
    --env TELEGRAM_PROXY_HOST= \
    --env TELEGRAM_PROXY_PORT= \
    --env TELEGRAM_PROXY_TYPE=SOCKS5 \
    --env TELEGRAM_PROXY_USERNAME= \
    --env TELEGRAM_PROXY_PASSWORD= \
    upagge/chatgpt-telegram-bot:latest
  • Available options SOCKS5, SOCKS4, HTTP.
  • Optional. If there is no authorization, you can leave it blank.

⁠DockerCompose

Don't forget to create a file with the variable .env.

version: '3.8'
services:
 chat-gpt:
   image: upagge/chatgpt-telegram-bot:latest
   container_name: chatgpt-bot
   restart: always
   environment:
     TELEGRAM_BOT_TOKEN: ${TELEGRAM_BOT_TOKEN}
     TELEGRAM_BOT_USERNAME: ${TELEGRAM_BOT_USERNAME}
     TELEGRAM_PERSON_ID: ${TELEGRAM_PERSON_ID}
     ADMIN_TELEGRAM_PERSON_ID: ${ADMIN_TELEGRAM_PERSON_ID}
     CHAT_GPT_TOKEN: ${CHAT_GPT_TOKEN}
TELEGRAM_BOT_TOKEN=
TELEGRAM_BOT_USERNAME=
TELEGRAM_PERSON_ID=
ADMIN_TELEGRAM_PERSON_ID=
CHAT_GPT_TOKEN=

Tag summary

Content type

Image

Digest

sha256:a26bf57a3…

Size

115.1 MB

Last updated

over 3 years ago

docker pull upagge/chatgpt-telegram-bot