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
Follow me on Twitter
Discuss on Twitter or HackerNews