English ο½ δΈζ
A ChatGPT bot for Telegram based on Node.js. Support both browserless and browser-based APIs.
π v2 has been released!
Private Chat | Group Chat |
---|---|
api.official.systemMessage
)Thank @transitive-bullshit for making this easy-to-understand table!
Type | Free? | Robust? | Quality? |
---|---|---|---|
official |
β No | β Yes | β Real ChatGPT models |
unofficial |
β Yes | βοΈ Maybe | β Real ChatGPT |
browser |
β Yes | β No | β Real ChatGPT |
official
: Uses the gpt-3.5-turbo
model by default with the official OpenAI chat completions API (official, robust approach, but it's not free)unofficial
: Uses an unofficial proxy server to access ChatGPT's backend API in a way that circumvents Cloudflare (uses the real ChatGPT and is pretty lightweight, but relies on a third-party server and is rate-limited)browser
(not recommended): Uses Puppeteer to access the official ChatGPT webapp (uses the real ChatGPT, but very flaky, heavyweight, and error prone)Warning
There are rumors that OpenAI may ban your account if you continue to use the
unofficial
andbrowser
API. Use it at your own risk.
To get started, follow these steps:
local.json
under the config/
folder. You can copy the config/default.json
as a template.local.json
following the instructions in the file. The settings in local.json
will override the default settings in default.json
.
api.type
to official
if you want to use the browserless official API. Then provide your OpenAI API Key and other settings. You can refer to this for more details. Note that this will cost your credits.api.type
to unofficial
if you want to use the browserless unofficial API. Then provide your OpenAI access token (how to get your access token?) and other settings. You can refer to this for more details.api.type
to browser
if you want to use the browser-based API (not recommended). Then provide the OpenAI / Google / Microsoft credentials and other settings. You can refer to this and this for more details. Make sure you have a Chromium-based browser installed.Then you can start the bot with:
pnpm install
pnpm build && pnpm start
To get started, follow these steps:
config
and create a local.json
file in it. You can follow the instructions in the "Choice #1: Node" section to customize the settings.Run the following command to start the bot:
docker run -d -v ./config:/app/config raineggplant/chatgpt-telegram-bot:latest
This will pull the latest image that only supports the browserless API. If you want to use the browser-based API, you can add a -browser
suffix to the tag, e.g., raineggplant/chatgpt-telegram-bot:latest-browser
.
To chat with the bot in Telegram, you can:
/chat
or the command you specified in the json config file)Note Make sure you have enabled the privacy mode of your bot before adding it to a group, or it will reply to every message in the group.
The bot also has several commands.
/help
: Show help information./reset
: Reset the current chat thread and start a new one./reload
(admin required, browser-based API only): Refresh the ChatGPT session.Note When using a command in a group, make sure to include a mention after the command, like
/help@chatgpt_bot
.
You can use Xvfb to create a virtual framebuffer on a headless server and run this program:
xvfb-run -a --server-args="-screen 0 1280x800x24 -nolisten tcp -dpi 96 +extension RANDR" pnpm start
We recommend you to use Google auth to avoid the complicated login Recaptchas. If you use a OpenAI account, you may have to use nopecha or 2captcha or manually solve the Recaptcha (by connecting to the display server using x11vnc). For more details about CAPTCHA solving, please refer to the api repository.
Leave a star β if you find this project useful.