This is a Telegram bot that uses:
- OpenAI's ChatGPT, obviously, as "the brain"
- LangchainJS to constructs prompts, handle convo history and interact with Google
- OpenAI's Whisper API to generate text from voice
- Play.ht to generate voice from text and reply to voice messages
Prerequisite: You need Node 18, a Telegram bot token and an OpenAI API key with access to GPT-4. Optionally you can use other model by setting
OPENAI_MODEL
env var. Ask ChatGPT how to get these. You'll also needffmpeg
installed to use voice interactions.
git clone https://github.com/RafalWilinski/telegram-chatgpt-concierge-bot
cd telegram-chatgpt-concierge-bot
touch .env
and fill the following:
TELEGRAM_TOKEN=
OPENAI_API_KEY=
PLAY_HT_SECRET_KEY=
PLAY_HT_USER_ID=
PLAY_HT_VOICE= # check docs for available voices https://playht.github.io/api-docs-generator/#utra-realistic-voices
OPENAI_MODEL=gpt-3.5-turbo # only if you don't have access to GPT-4
#SERVE_THIS_USER_ONLY=99999999 # uncomment this if you want to only serve this user id. The ID will be printed on stdout.
npm install
npm start
I, @RafalWilinski (creator of this repo), offer consulting. If you are interested on hiring weekly hours with me on a retainer, feel free to email me at raf.wilinski@gmail.com
Follow me on Twitter
Discuss on Twitter or HackerNews
Sponsored by ChatWithCloud