Unofficial golang client for ChatGPT. Reverse Engineered from chat.openai.com
- Install the package.
go get github.com/abhayptp/go-chatgpt
- Get bearer token from the browser.
To avoid needing to refresh bearer token every hour, you can also copy "__Secure-next-auth.session-token" key from cookie and pass it in Credentials in Step 3.
- Pass the bearer token while initializing client.
package main
import (
"fmt"
"github.com/abhayptp/go-chatgpt"
)
func main() {
// Initialize. Copy bearer-token and session-token from browser developer tools.
c := chatgpt.NewChatGpt(chatgpt.NewClient(&chatgpt.Credentials{
BearerToken: "Bearer <bearer-token>",
SessionToken: "<session-token>",
}))
// Send message
res, err := c.SendMessage("hello")
if err != nil {
// Handle err
}
// Handle response
fmt.Println(res)
}