This is a sample chatbot app using Node.js and ChatGPT API
Free, open source chatbot personal assistant with customizable scripts.
- talk with your bot:
- use chatbot when you talking with friends:
- Server: Typescript + Express + Notion API + OpenAI API
- Deployment: Github Actions + Fly.io + Vercel
- UI: React + Next.js + Tailwindcss
- Cron: mergent
- openAI API integration
- todo list
- [Zoom chat] integration
- RSS feed
- support save to notion
- webhooks
- generate weekly report read list
- telegram bot integration
- midjourney integration
- sync twitter favorite to notion
- read article and generate summary and save to notion
- support cron job
- weather daily alert
- stock and crypto price alert
- drink water reminder
- sedentary reminder
- git commit integration with https://github.com/zurawiki/gptcommit
- integrate with hubot
- auto check readme and find and optimize grammar errors
- support replay and context
-
sign up notion and openAI
-
sign up vercel and fly.io
-
config zoom apps in zoom marketplace
-
input env variables in .env file ./packages/api-server:
zoom_client_id=*****
zoom_client_secret=*****
zoom_bot_jid=*****@xmpp.zoom.us
zoom_verification_token=*****
API_HUB_URL=https://api-hub.fly.dev/subscribe // prevent openAI api timeout
OPENAI_API_KEY=*******
NOTION_API_KEY=*****
NOTION_DATABASE_ID=****
WEATHER_API_KEY=***** // http://api.openweathermap.org
pnpm i
deploy to vercel and fly.io
To run the completed chatbot locally, follow these steps:
- Clone the repository and navigate to its directory in terminal:
$ git@github.com:shixin-guo/my-bot.git
$ cd my-bot
$ pnpm install
$ cd ./package/api-server && touch .env
- Add your respective development Zoom Chatbot API credentials to the
.env
file:
zoom_bot_jid=*****@xmpp.zoom.us (Required)
zoom_client_id=***********(Required)
zoom_client_secret=*********** (Required)
zoom_verification_token=*********** (Required)
OPENAI_API_KEY=*************** (Required)
- In terminal, run:
$ pnpm run dev
$ ngrok http 4000
(ngrok turns localhost into a live server so that slash commands and user actions can be sent to your app)
- Open your ngrok https URL in a browser. You should see:
Welcome to Zoom! I'm ChatGPT, your virtual assistant. I'm here to help make your Zoom experience more enjoyable and efficient. How can I be of assistance?
-
On your App Marketplace Dashboard, add your ngrok https URL to your Whitelist URLs (App Credentials Page), Development Redirect URL for OAuth (App Credentials Page), and Development Bot Endpoint URL (Features Page). Make sure to match the path after your ngrok https URL with the express routes in
index.js
. -
After that, your app is ready to be installed! On your App Marketplace Dashboard, go to the Local Test page and click Install. After you click the Authorize button, you should be taken to your redirect URL and see this:
Thanks for installing the Chatbot for Zoom!
- Now that your chatbot is installed on your Zoom account, go to a Zoom chat channel and type:
/ccbot
To run the completed chatbot on a live server, follow these steps:
-
Fill in your production Zoom Chatbot API credentials and your Unsplash Access Key in the Config Vars section.
-
Click Deploy app.
-
On your App Marketplace Dashboard, add your Heroku URL to your Whitelist URLs (App Credentials Page), Production Redirect URL for OAuth (App Credentials Page), and Production Bot Endpoint URL (Features Page). Make sure to match the path after your Heroku URL with the express routes in
index.js
. -
On your App Marketplace Dashboard, go to the Submit page and click Add to Zoom. After you click the Authorize button, you should be taken to your redirect URL and see this:
Thanks for installing the Unsplash Chatbot for Zoom!
- Now that your chatbot is installed on your Zoom account, go to a Zoom chat channel and type:
/shixin mountains
If you have any questions, please reach out to me at [gzpoffline@gmail.com].
https://github.com/RainEggplant/chatgpt-telegram-bot
https://github.com/yagop/node-telegram-bot-api
https://github.com/FranP-code/Open-Telegram-to-Notion-Bot
https://github.com/Hayden-MP/Notion-database
https://medium.com/zoom-developer-blog/how-to-build-a-zoom-chatbot-c668b7361adb
MIT