A simple matrix bot that supports chatting with ChatGPT, Bing AI, Google Bard
Go to file
2023-03-10 13:34:36 +08:00
.gitignore update typo 2023-03-10 13:34:36 +08:00
ask_gpt.py Use asyncio.sleep instead of time.sleep 2023-03-10 08:27:48 +08:00
bot.py remove newline character from event.body 2023-03-10 12:42:33 +08:00
compose.yaml update compose.yaml 2023-03-10 09:26:45 +08:00
config.json.sample 🎉 initial commit 2023-03-05 22:24:15 +08:00
Dockerfile multi-stage builds 2023-03-10 09:20:14 +08:00
main.py Properly handle when there is no api_key 2023-03-10 08:29:12 +08:00
README.md update typo 2023-03-10 13:34:36 +08:00
requirements.txt 🎉 initial commit 2023-03-05 22:24:15 +08:00
send_message.py 🎉 initial commit 2023-03-05 22:24:15 +08:00
test.py 🎉 initial commit 2023-03-05 22:24:15 +08:00
v3.py 🎉 initial commit 2023-03-05 22:24:15 +08:00

Introduction

This is a simple Matrix bot that uses OpenAI's GPT API and a Chatbot to generate responses to user inputs. The bot responds to two types of prompts: !gpt and !chat, depending on the first word of the prompt. demo

Installation and Setup

Docker method:
Edit config.json with proper values

sudo docker compose up -d

To run this application, follow the steps below:

  1. Clone the repository:
git clone https://github.com/hibobmaster/matrix_chatgpt_bot.git
  1. Install the required dependencies:
pip install -r requirements.txt
  1. Create a new config.json file and fill it with the necessary information:
    If not set:
    room_id: bot will work in the room where it is in
    api_key: !chat command will not work
{
    "homeserver": "YOUR_HOMESERVER",
    "user_id": "YOUR_USER_ID",
    "password": "YOUR_PASSWORD",
    "device_id": "YOUR_DEVICE_ID",
    "room_id": "YOUR_ROOM_ID",
    "api_key": "YOUR_API_KEY"
}
  1. Start the bot:
python main.py

Usage

To interact with the bot, simply send a message to the bot in the Matrix room with one of the two prompts:

  • !gpt To generate a response using free_endpoint API:
!gpt What is the meaning of life?
  • !chat To chat using official api with context associated support
!chat Can you tell me a joke?