kopia lustrzana https://github.com/transitive-bullshit/chatgpt-api
Merge remote-tracking branch 'upstream/main'
commit
6d95f77cf3
|
@ -1,81 +0,0 @@
|
||||||
import dotenv from 'dotenv-safe'
|
|
||||||
import { oraPromise } from 'ora'
|
|
||||||
|
|
||||||
import { ChatGPTAPIBrowser } from '../src'
|
|
||||||
|
|
||||||
dotenv.config()
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Demo CLI for testing conversation support.
|
|
||||||
*
|
|
||||||
* ```
|
|
||||||
* npx tsx demos/demo-conversation-browser.ts
|
|
||||||
* ```
|
|
||||||
*/
|
|
||||||
async function main() {
|
|
||||||
const email = process.env.OPENAI_EMAIL
|
|
||||||
const password = process.env.OPENAI_PASSWORD
|
|
||||||
|
|
||||||
const api = new ChatGPTAPIBrowser({
|
|
||||||
email,
|
|
||||||
password,
|
|
||||||
debug: false,
|
|
||||||
minimize: true
|
|
||||||
})
|
|
||||||
await api.initSession()
|
|
||||||
|
|
||||||
const prompt = 'Write a poem about cats.'
|
|
||||||
|
|
||||||
let res = await oraPromise(api.sendMessage(prompt), {
|
|
||||||
text: prompt
|
|
||||||
})
|
|
||||||
|
|
||||||
console.log('\n' + res.response + '\n')
|
|
||||||
|
|
||||||
const prompt2 = 'Can you make it cuter and shorter?'
|
|
||||||
|
|
||||||
res = await oraPromise(
|
|
||||||
api.sendMessage(prompt2, {
|
|
||||||
conversationId: res.conversationId,
|
|
||||||
parentMessageId: res.messageId
|
|
||||||
}),
|
|
||||||
{
|
|
||||||
text: prompt2
|
|
||||||
}
|
|
||||||
)
|
|
||||||
console.log('\n' + res.response + '\n')
|
|
||||||
|
|
||||||
const prompt3 = 'Now write it in French.'
|
|
||||||
|
|
||||||
res = await oraPromise(
|
|
||||||
api.sendMessage(prompt3, {
|
|
||||||
conversationId: res.conversationId,
|
|
||||||
parentMessageId: res.messageId
|
|
||||||
}),
|
|
||||||
{
|
|
||||||
text: prompt3
|
|
||||||
}
|
|
||||||
)
|
|
||||||
console.log('\n' + res.response + '\n')
|
|
||||||
|
|
||||||
const prompt4 = 'What were we talking about again?'
|
|
||||||
|
|
||||||
res = await oraPromise(
|
|
||||||
api.sendMessage(prompt4, {
|
|
||||||
conversationId: res.conversationId,
|
|
||||||
parentMessageId: res.messageId
|
|
||||||
}),
|
|
||||||
{
|
|
||||||
text: prompt4
|
|
||||||
}
|
|
||||||
)
|
|
||||||
console.log('\n' + res.response + '\n')
|
|
||||||
|
|
||||||
// close the browser at the end
|
|
||||||
await api.closeSession()
|
|
||||||
}
|
|
||||||
|
|
||||||
main().catch((err) => {
|
|
||||||
console.error(err)
|
|
||||||
process.exit(1)
|
|
||||||
})
|
|
|
@ -1,7 +1,7 @@
|
||||||
import dotenv from 'dotenv-safe'
|
import dotenv from 'dotenv-safe'
|
||||||
import { oraPromise } from 'ora'
|
import { oraPromise } from 'ora'
|
||||||
|
|
||||||
import { ChatGPTAPI, getOpenAIAuth } from '../src'
|
import { ChatGPTAPIBrowser } from '../src'
|
||||||
|
|
||||||
dotenv.config()
|
dotenv.config()
|
||||||
|
|
||||||
|
@ -16,12 +16,12 @@ async function main() {
|
||||||
const email = process.env.OPENAI_EMAIL
|
const email = process.env.OPENAI_EMAIL
|
||||||
const password = process.env.OPENAI_PASSWORD
|
const password = process.env.OPENAI_PASSWORD
|
||||||
|
|
||||||
const authInfo = await getOpenAIAuth({
|
const api = new ChatGPTAPIBrowser({
|
||||||
email,
|
email,
|
||||||
password
|
password,
|
||||||
|
debug: false,
|
||||||
|
minimize: true
|
||||||
})
|
})
|
||||||
|
|
||||||
const api = new ChatGPTAPI({ ...authInfo })
|
|
||||||
await api.initSession()
|
await api.initSession()
|
||||||
|
|
||||||
const prompt = 'Write a poem about cats.'
|
const prompt = 'Write a poem about cats.'
|
||||||
|
@ -71,6 +71,7 @@ async function main() {
|
||||||
)
|
)
|
||||||
console.log('\n' + res.response + '\n')
|
console.log('\n' + res.response + '\n')
|
||||||
|
|
||||||
|
// close the browser at the end
|
||||||
await api.closeSession()
|
await api.closeSession()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -49,7 +49,7 @@ An error if it fails.
|
||||||
|
|
||||||
#### Defined in
|
#### Defined in
|
||||||
|
|
||||||
[src/abstract-chatgpt-api.ts:69](https://github.com/transitive-bullshit/chatgpt-api/blob/d1b74a8/src/abstract-chatgpt-api.ts#L69)
|
[src/abstract-chatgpt-api.ts:69](https://github.com/transitive-bullshit/chatgpt-api/blob/025e7e3/src/abstract-chatgpt-api.ts#L69)
|
||||||
|
|
||||||
___
|
___
|
||||||
|
|
||||||
|
@ -66,7 +66,7 @@ otherwise.
|
||||||
|
|
||||||
#### Defined in
|
#### Defined in
|
||||||
|
|
||||||
[src/abstract-chatgpt-api.ts:39](https://github.com/transitive-bullshit/chatgpt-api/blob/d1b74a8/src/abstract-chatgpt-api.ts#L39)
|
[src/abstract-chatgpt-api.ts:39](https://github.com/transitive-bullshit/chatgpt-api/blob/025e7e3/src/abstract-chatgpt-api.ts#L39)
|
||||||
|
|
||||||
___
|
___
|
||||||
|
|
||||||
|
@ -87,7 +87,7 @@ An error if the session failed to initialize properly.
|
||||||
|
|
||||||
#### Defined in
|
#### Defined in
|
||||||
|
|
||||||
[src/abstract-chatgpt-api.ts:10](https://github.com/transitive-bullshit/chatgpt-api/blob/d1b74a8/src/abstract-chatgpt-api.ts#L10)
|
[src/abstract-chatgpt-api.ts:10](https://github.com/transitive-bullshit/chatgpt-api/blob/025e7e3/src/abstract-chatgpt-api.ts#L10)
|
||||||
|
|
||||||
___
|
___
|
||||||
|
|
||||||
|
@ -111,7 +111,7 @@ Access credentials for the new session.
|
||||||
|
|
||||||
#### Defined in
|
#### Defined in
|
||||||
|
|
||||||
[src/abstract-chatgpt-api.ts:49](https://github.com/transitive-bullshit/chatgpt-api/blob/d1b74a8/src/abstract-chatgpt-api.ts#L49)
|
[src/abstract-chatgpt-api.ts:49](https://github.com/transitive-bullshit/chatgpt-api/blob/025e7e3/src/abstract-chatgpt-api.ts#L49)
|
||||||
|
|
||||||
___
|
___
|
||||||
|
|
||||||
|
@ -135,7 +135,7 @@ Access credentials for the new session.
|
||||||
|
|
||||||
#### Defined in
|
#### Defined in
|
||||||
|
|
||||||
[src/abstract-chatgpt-api.ts:59](https://github.com/transitive-bullshit/chatgpt-api/blob/d1b74a8/src/abstract-chatgpt-api.ts#L59)
|
[src/abstract-chatgpt-api.ts:59](https://github.com/transitive-bullshit/chatgpt-api/blob/025e7e3/src/abstract-chatgpt-api.ts#L59)
|
||||||
|
|
||||||
___
|
___
|
||||||
|
|
||||||
|
@ -164,4 +164,4 @@ the `response` text.
|
||||||
|
|
||||||
#### Defined in
|
#### Defined in
|
||||||
|
|
||||||
[src/abstract-chatgpt-api.ts:30](https://github.com/transitive-bullshit/chatgpt-api/blob/d1b74a8/src/abstract-chatgpt-api.ts#L30)
|
[src/abstract-chatgpt-api.ts:30](https://github.com/transitive-bullshit/chatgpt-api/blob/025e7e3/src/abstract-chatgpt-api.ts#L30)
|
||||||
|
|
|
@ -64,7 +64,7 @@ to obtain your `clearanceToken`.
|
||||||
|
|
||||||
#### Defined in
|
#### Defined in
|
||||||
|
|
||||||
[src/chatgpt-api.ts:45](https://github.com/transitive-bullshit/chatgpt-api/blob/d1b74a8/src/chatgpt-api.ts#L45)
|
[src/chatgpt-api.ts:45](https://github.com/transitive-bullshit/chatgpt-api/blob/025e7e3/src/chatgpt-api.ts#L45)
|
||||||
|
|
||||||
## Accessors
|
## Accessors
|
||||||
|
|
||||||
|
@ -80,7 +80,7 @@ Gets the current Cloudflare clearance token (`cf_clearance` cookie value).
|
||||||
|
|
||||||
#### Defined in
|
#### Defined in
|
||||||
|
|
||||||
[src/chatgpt-api.ts:143](https://github.com/transitive-bullshit/chatgpt-api/blob/d1b74a8/src/chatgpt-api.ts#L143)
|
[src/chatgpt-api.ts:143](https://github.com/transitive-bullshit/chatgpt-api/blob/025e7e3/src/chatgpt-api.ts#L143)
|
||||||
|
|
||||||
___
|
___
|
||||||
|
|
||||||
|
@ -96,7 +96,7 @@ Gets the current session token.
|
||||||
|
|
||||||
#### Defined in
|
#### Defined in
|
||||||
|
|
||||||
[src/chatgpt-api.ts:138](https://github.com/transitive-bullshit/chatgpt-api/blob/d1b74a8/src/chatgpt-api.ts#L138)
|
[src/chatgpt-api.ts:138](https://github.com/transitive-bullshit/chatgpt-api/blob/025e7e3/src/chatgpt-api.ts#L138)
|
||||||
|
|
||||||
___
|
___
|
||||||
|
|
||||||
|
@ -112,7 +112,7 @@ Gets the currently signed-in user, if authenticated, `null` otherwise.
|
||||||
|
|
||||||
#### Defined in
|
#### Defined in
|
||||||
|
|
||||||
[src/chatgpt-api.ts:133](https://github.com/transitive-bullshit/chatgpt-api/blob/d1b74a8/src/chatgpt-api.ts#L133)
|
[src/chatgpt-api.ts:133](https://github.com/transitive-bullshit/chatgpt-api/blob/025e7e3/src/chatgpt-api.ts#L133)
|
||||||
|
|
||||||
___
|
___
|
||||||
|
|
||||||
|
@ -128,7 +128,7 @@ Gets the current user agent.
|
||||||
|
|
||||||
#### Defined in
|
#### Defined in
|
||||||
|
|
||||||
[src/chatgpt-api.ts:148](https://github.com/transitive-bullshit/chatgpt-api/blob/d1b74a8/src/chatgpt-api.ts#L148)
|
[src/chatgpt-api.ts:148](https://github.com/transitive-bullshit/chatgpt-api/blob/025e7e3/src/chatgpt-api.ts#L148)
|
||||||
|
|
||||||
## Methods
|
## Methods
|
||||||
|
|
||||||
|
@ -152,7 +152,7 @@ An error if it fails.
|
||||||
|
|
||||||
#### Defined in
|
#### Defined in
|
||||||
|
|
||||||
[src/chatgpt-api.ts:470](https://github.com/transitive-bullshit/chatgpt-api/blob/d1b74a8/src/chatgpt-api.ts#L470)
|
[src/chatgpt-api.ts:470](https://github.com/transitive-bullshit/chatgpt-api/blob/025e7e3/src/chatgpt-api.ts#L470)
|
||||||
|
|
||||||
___
|
___
|
||||||
|
|
||||||
|
@ -173,7 +173,7 @@ the token fails.
|
||||||
|
|
||||||
#### Defined in
|
#### Defined in
|
||||||
|
|
||||||
[src/chatgpt-api.ts:367](https://github.com/transitive-bullshit/chatgpt-api/blob/d1b74a8/src/chatgpt-api.ts#L367)
|
[src/chatgpt-api.ts:367](https://github.com/transitive-bullshit/chatgpt-api/blob/025e7e3/src/chatgpt-api.ts#L367)
|
||||||
|
|
||||||
___
|
___
|
||||||
|
|
||||||
|
@ -194,7 +194,7 @@ is valid.
|
||||||
|
|
||||||
#### Defined in
|
#### Defined in
|
||||||
|
|
||||||
[src/chatgpt-api.ts:156](https://github.com/transitive-bullshit/chatgpt-api/blob/d1b74a8/src/chatgpt-api.ts#L156)
|
[src/chatgpt-api.ts:156](https://github.com/transitive-bullshit/chatgpt-api/blob/025e7e3/src/chatgpt-api.ts#L156)
|
||||||
|
|
||||||
___
|
___
|
||||||
|
|
||||||
|
@ -224,7 +224,7 @@ A valid access token
|
||||||
|
|
||||||
#### Defined in
|
#### Defined in
|
||||||
|
|
||||||
[src/chatgpt-api.ts:386](https://github.com/transitive-bullshit/chatgpt-api/blob/d1b74a8/src/chatgpt-api.ts#L386)
|
[src/chatgpt-api.ts:386](https://github.com/transitive-bullshit/chatgpt-api/blob/025e7e3/src/chatgpt-api.ts#L386)
|
||||||
|
|
||||||
___
|
___
|
||||||
|
|
||||||
|
@ -252,7 +252,7 @@ Access credentials for the new session.
|
||||||
|
|
||||||
#### Defined in
|
#### Defined in
|
||||||
|
|
||||||
[src/abstract-chatgpt-api.ts:59](https://github.com/transitive-bullshit/chatgpt-api/blob/d1b74a8/src/abstract-chatgpt-api.ts#L59)
|
[src/abstract-chatgpt-api.ts:59](https://github.com/transitive-bullshit/chatgpt-api/blob/025e7e3/src/abstract-chatgpt-api.ts#L59)
|
||||||
|
|
||||||
___
|
___
|
||||||
|
|
||||||
|
@ -287,7 +287,7 @@ The response from ChatGPT
|
||||||
|
|
||||||
#### Defined in
|
#### Defined in
|
||||||
|
|
||||||
[src/chatgpt-api.ts:180](https://github.com/transitive-bullshit/chatgpt-api/blob/d1b74a8/src/chatgpt-api.ts#L180)
|
[src/chatgpt-api.ts:180](https://github.com/transitive-bullshit/chatgpt-api/blob/025e7e3/src/chatgpt-api.ts#L180)
|
||||||
|
|
||||||
___
|
___
|
||||||
|
|
||||||
|
@ -307,4 +307,4 @@ ___
|
||||||
|
|
||||||
#### Defined in
|
#### Defined in
|
||||||
|
|
||||||
[src/chatgpt-api.ts:324](https://github.com/transitive-bullshit/chatgpt-api/blob/d1b74a8/src/chatgpt-api.ts#L324)
|
[src/chatgpt-api.ts:324](https://github.com/transitive-bullshit/chatgpt-api/blob/025e7e3/src/chatgpt-api.ts#L324)
|
||||||
|
|
|
@ -51,6 +51,7 @@ Creates a new client for automating the ChatGPT webapp.
|
||||||
| `opts.isMicrosoftLogin?` | `boolean` | **`Default Value`** `false` * |
|
| `opts.isMicrosoftLogin?` | `boolean` | **`Default Value`** `false` * |
|
||||||
| `opts.markdown?` | `boolean` | **`Default Value`** `true` * |
|
| `opts.markdown?` | `boolean` | **`Default Value`** `true` * |
|
||||||
| `opts.minimize?` | `boolean` | **`Default Value`** `true` * |
|
| `opts.minimize?` | `boolean` | **`Default Value`** `true` * |
|
||||||
|
| `opts.nopechaKey?` | `string` | **`Default Value`** `undefined` * |
|
||||||
| `opts.password` | `string` | - |
|
| `opts.password` | `string` | - |
|
||||||
| `opts.proxyServer?` | `string` | **`Default Value`** `undefined` * |
|
| `opts.proxyServer?` | `string` | **`Default Value`** `undefined` * |
|
||||||
|
|
||||||
|
@ -60,7 +61,7 @@ Creates a new client for automating the ChatGPT webapp.
|
||||||
|
|
||||||
#### Defined in
|
#### Defined in
|
||||||
|
|
||||||
[src/chatgpt-api-browser.ts:38](https://github.com/transitive-bullshit/chatgpt-api/blob/d1b74a8/src/chatgpt-api-browser.ts#L38)
|
[src/chatgpt-api-browser.ts:40](https://github.com/transitive-bullshit/chatgpt-api/blob/025e7e3/src/chatgpt-api-browser.ts#L40)
|
||||||
|
|
||||||
## Accessors
|
## Accessors
|
||||||
|
|
||||||
|
@ -74,7 +75,7 @@ Creates a new client for automating the ChatGPT webapp.
|
||||||
|
|
||||||
#### Defined in
|
#### Defined in
|
||||||
|
|
||||||
[src/chatgpt-api-browser.ts:599](https://github.com/transitive-bullshit/chatgpt-api/blob/d1b74a8/src/chatgpt-api-browser.ts#L599)
|
[src/chatgpt-api-browser.ts:696](https://github.com/transitive-bullshit/chatgpt-api/blob/025e7e3/src/chatgpt-api-browser.ts#L696)
|
||||||
|
|
||||||
## Methods
|
## Methods
|
||||||
|
|
||||||
|
@ -94,7 +95,7 @@ Creates a new client for automating the ChatGPT webapp.
|
||||||
|
|
||||||
#### Defined in
|
#### Defined in
|
||||||
|
|
||||||
[src/chatgpt-api-browser.ts:204](https://github.com/transitive-bullshit/chatgpt-api/blob/d1b74a8/src/chatgpt-api-browser.ts#L204)
|
[src/chatgpt-api-browser.ts:218](https://github.com/transitive-bullshit/chatgpt-api/blob/025e7e3/src/chatgpt-api-browser.ts#L218)
|
||||||
|
|
||||||
___
|
___
|
||||||
|
|
||||||
|
@ -114,7 +115,7 @@ ___
|
||||||
|
|
||||||
#### Defined in
|
#### Defined in
|
||||||
|
|
||||||
[src/chatgpt-api-browser.ts:241](https://github.com/transitive-bullshit/chatgpt-api/blob/d1b74a8/src/chatgpt-api-browser.ts#L241)
|
[src/chatgpt-api-browser.ts:255](https://github.com/transitive-bullshit/chatgpt-api/blob/025e7e3/src/chatgpt-api-browser.ts#L255)
|
||||||
|
|
||||||
___
|
___
|
||||||
|
|
||||||
|
@ -138,7 +139,7 @@ An error if it fails.
|
||||||
|
|
||||||
#### Defined in
|
#### Defined in
|
||||||
|
|
||||||
[src/chatgpt-api-browser.ts:574](https://github.com/transitive-bullshit/chatgpt-api/blob/d1b74a8/src/chatgpt-api-browser.ts#L574)
|
[src/chatgpt-api-browser.ts:642](https://github.com/transitive-bullshit/chatgpt-api/blob/025e7e3/src/chatgpt-api-browser.ts#L642)
|
||||||
|
|
||||||
___
|
___
|
||||||
|
|
||||||
|
@ -159,7 +160,7 @@ otherwise.
|
||||||
|
|
||||||
#### Defined in
|
#### Defined in
|
||||||
|
|
||||||
[src/chatgpt-api-browser.ts:335](https://github.com/transitive-bullshit/chatgpt-api/blob/d1b74a8/src/chatgpt-api-browser.ts#L335)
|
[src/chatgpt-api-browser.ts:391](https://github.com/transitive-bullshit/chatgpt-api/blob/025e7e3/src/chatgpt-api-browser.ts#L391)
|
||||||
|
|
||||||
___
|
___
|
||||||
|
|
||||||
|
@ -184,7 +185,7 @@ An error if the session failed to initialize properly.
|
||||||
|
|
||||||
#### Defined in
|
#### Defined in
|
||||||
|
|
||||||
[src/chatgpt-api-browser.ts:106](https://github.com/transitive-bullshit/chatgpt-api/blob/d1b74a8/src/chatgpt-api-browser.ts#L106)
|
[src/chatgpt-api-browser.ts:114](https://github.com/transitive-bullshit/chatgpt-api/blob/025e7e3/src/chatgpt-api-browser.ts#L114)
|
||||||
|
|
||||||
___
|
___
|
||||||
|
|
||||||
|
@ -204,7 +205,7 @@ Attempts to handle 403 errors by refreshing the page.
|
||||||
|
|
||||||
#### Defined in
|
#### Defined in
|
||||||
|
|
||||||
[src/chatgpt-api-browser.ts:313](https://github.com/transitive-bullshit/chatgpt-api/blob/d1b74a8/src/chatgpt-api-browser.ts#L313)
|
[src/chatgpt-api-browser.ts:333](https://github.com/transitive-bullshit/chatgpt-api/blob/025e7e3/src/chatgpt-api-browser.ts#L333)
|
||||||
|
|
||||||
___
|
___
|
||||||
|
|
||||||
|
@ -224,7 +225,7 @@ Attempts to handle 401 errors by re-authenticating.
|
||||||
|
|
||||||
#### Defined in
|
#### Defined in
|
||||||
|
|
||||||
[src/chatgpt-api-browser.ts:294](https://github.com/transitive-bullshit/chatgpt-api/blob/d1b74a8/src/chatgpt-api-browser.ts#L294)
|
[src/chatgpt-api-browser.ts:314](https://github.com/transitive-bullshit/chatgpt-api/blob/025e7e3/src/chatgpt-api-browser.ts#L314)
|
||||||
|
|
||||||
___
|
___
|
||||||
|
|
||||||
|
@ -238,7 +239,7 @@ ___
|
||||||
|
|
||||||
#### Defined in
|
#### Defined in
|
||||||
|
|
||||||
[src/chatgpt-api-browser.ts:566](https://github.com/transitive-bullshit/chatgpt-api/blob/d1b74a8/src/chatgpt-api-browser.ts#L566)
|
[src/chatgpt-api-browser.ts:634](https://github.com/transitive-bullshit/chatgpt-api/blob/025e7e3/src/chatgpt-api-browser.ts#L634)
|
||||||
|
|
||||||
___
|
___
|
||||||
|
|
||||||
|
@ -271,4 +272,4 @@ the `response` text.
|
||||||
|
|
||||||
#### Defined in
|
#### Defined in
|
||||||
|
|
||||||
[src/chatgpt-api-browser.ts:412](https://github.com/transitive-bullshit/chatgpt-api/blob/d1b74a8/src/chatgpt-api-browser.ts#L412)
|
[src/chatgpt-api-browser.ts:468](https://github.com/transitive-bullshit/chatgpt-api/blob/025e7e3/src/chatgpt-api-browser.ts#L468)
|
||||||
|
|
|
@ -66,7 +66,7 @@ node_modules/.pnpm/typescript@4.9.3/node_modules/typescript/lib/lib.es2022.error
|
||||||
|
|
||||||
#### Defined in
|
#### Defined in
|
||||||
|
|
||||||
[src/types.ts:297](https://github.com/transitive-bullshit/chatgpt-api/blob/d1b74a8/src/types.ts#L297)
|
[src/types.ts:297](https://github.com/transitive-bullshit/chatgpt-api/blob/025e7e3/src/types.ts#L297)
|
||||||
|
|
||||||
___
|
___
|
||||||
|
|
||||||
|
@ -76,7 +76,7 @@ ___
|
||||||
|
|
||||||
#### Defined in
|
#### Defined in
|
||||||
|
|
||||||
[src/types.ts:296](https://github.com/transitive-bullshit/chatgpt-api/blob/d1b74a8/src/types.ts#L296)
|
[src/types.ts:296](https://github.com/transitive-bullshit/chatgpt-api/blob/025e7e3/src/types.ts#L296)
|
||||||
|
|
||||||
___
|
___
|
||||||
|
|
||||||
|
@ -86,7 +86,7 @@ ___
|
||||||
|
|
||||||
#### Defined in
|
#### Defined in
|
||||||
|
|
||||||
[src/types.ts:294](https://github.com/transitive-bullshit/chatgpt-api/blob/d1b74a8/src/types.ts#L294)
|
[src/types.ts:294](https://github.com/transitive-bullshit/chatgpt-api/blob/025e7e3/src/types.ts#L294)
|
||||||
|
|
||||||
___
|
___
|
||||||
|
|
||||||
|
@ -96,4 +96,4 @@ ___
|
||||||
|
|
||||||
#### Defined in
|
#### Defined in
|
||||||
|
|
||||||
[src/types.ts:295](https://github.com/transitive-bullshit/chatgpt-api/blob/d1b74a8/src/types.ts#L295)
|
[src/types.ts:295](https://github.com/transitive-bullshit/chatgpt-api/blob/025e7e3/src/types.ts#L295)
|
||||||
|
|
|
@ -60,7 +60,7 @@
|
||||||
|
|
||||||
#### Defined in
|
#### Defined in
|
||||||
|
|
||||||
[src/types.ts:109](https://github.com/transitive-bullshit/chatgpt-api/blob/d1b74a8/src/types.ts#L109)
|
[src/types.ts:109](https://github.com/transitive-bullshit/chatgpt-api/blob/025e7e3/src/types.ts#L109)
|
||||||
|
|
||||||
___
|
___
|
||||||
|
|
||||||
|
@ -81,7 +81,7 @@ ___
|
||||||
|
|
||||||
#### Defined in
|
#### Defined in
|
||||||
|
|
||||||
[src/types.ts:300](https://github.com/transitive-bullshit/chatgpt-api/blob/d1b74a8/src/types.ts#L300)
|
[src/types.ts:300](https://github.com/transitive-bullshit/chatgpt-api/blob/025e7e3/src/types.ts#L300)
|
||||||
|
|
||||||
___
|
___
|
||||||
|
|
||||||
|
@ -99,7 +99,7 @@ ___
|
||||||
|
|
||||||
#### Defined in
|
#### Defined in
|
||||||
|
|
||||||
[src/types.ts:306](https://github.com/transitive-bullshit/chatgpt-api/blob/d1b74a8/src/types.ts#L306)
|
[src/types.ts:306](https://github.com/transitive-bullshit/chatgpt-api/blob/025e7e3/src/types.ts#L306)
|
||||||
|
|
||||||
___
|
___
|
||||||
|
|
||||||
|
@ -109,7 +109,7 @@ ___
|
||||||
|
|
||||||
#### Defined in
|
#### Defined in
|
||||||
|
|
||||||
[src/types.ts:1](https://github.com/transitive-bullshit/chatgpt-api/blob/d1b74a8/src/types.ts#L1)
|
[src/types.ts:1](https://github.com/transitive-bullshit/chatgpt-api/blob/025e7e3/src/types.ts#L1)
|
||||||
|
|
||||||
___
|
___
|
||||||
|
|
||||||
|
@ -131,7 +131,7 @@ https://chat.openapi.com/backend-api/conversation
|
||||||
|
|
||||||
#### Defined in
|
#### Defined in
|
||||||
|
|
||||||
[src/types.ts:134](https://github.com/transitive-bullshit/chatgpt-api/blob/d1b74a8/src/types.ts#L134)
|
[src/types.ts:134](https://github.com/transitive-bullshit/chatgpt-api/blob/025e7e3/src/types.ts#L134)
|
||||||
|
|
||||||
___
|
___
|
||||||
|
|
||||||
|
@ -149,7 +149,7 @@ ___
|
||||||
|
|
||||||
#### Defined in
|
#### Defined in
|
||||||
|
|
||||||
[src/types.ts:251](https://github.com/transitive-bullshit/chatgpt-api/blob/d1b74a8/src/types.ts#L251)
|
[src/types.ts:251](https://github.com/transitive-bullshit/chatgpt-api/blob/025e7e3/src/types.ts#L251)
|
||||||
|
|
||||||
___
|
___
|
||||||
|
|
||||||
|
@ -174,7 +174,7 @@ ___
|
||||||
|
|
||||||
#### Defined in
|
#### Defined in
|
||||||
|
|
||||||
[src/types.ts:257](https://github.com/transitive-bullshit/chatgpt-api/blob/d1b74a8/src/types.ts#L257)
|
[src/types.ts:257](https://github.com/transitive-bullshit/chatgpt-api/blob/025e7e3/src/types.ts#L257)
|
||||||
|
|
||||||
___
|
___
|
||||||
|
|
||||||
|
@ -184,7 +184,7 @@ ___
|
||||||
|
|
||||||
#### Defined in
|
#### Defined in
|
||||||
|
|
||||||
[src/types.ts:276](https://github.com/transitive-bullshit/chatgpt-api/blob/d1b74a8/src/types.ts#L276)
|
[src/types.ts:276](https://github.com/transitive-bullshit/chatgpt-api/blob/025e7e3/src/types.ts#L276)
|
||||||
|
|
||||||
___
|
___
|
||||||
|
|
||||||
|
@ -201,7 +201,7 @@ ___
|
||||||
|
|
||||||
#### Defined in
|
#### Defined in
|
||||||
|
|
||||||
[src/types.ts:270](https://github.com/transitive-bullshit/chatgpt-api/blob/d1b74a8/src/types.ts#L270)
|
[src/types.ts:270](https://github.com/transitive-bullshit/chatgpt-api/blob/025e7e3/src/types.ts#L270)
|
||||||
|
|
||||||
___
|
___
|
||||||
|
|
||||||
|
@ -223,7 +223,7 @@ https://chat.openapi.com/backend-api/conversation/message_feedback
|
||||||
|
|
||||||
#### Defined in
|
#### Defined in
|
||||||
|
|
||||||
[src/types.ts:193](https://github.com/transitive-bullshit/chatgpt-api/blob/d1b74a8/src/types.ts#L193)
|
[src/types.ts:193](https://github.com/transitive-bullshit/chatgpt-api/blob/025e7e3/src/types.ts#L193)
|
||||||
|
|
||||||
___
|
___
|
||||||
|
|
||||||
|
@ -233,7 +233,7 @@ ___
|
||||||
|
|
||||||
#### Defined in
|
#### Defined in
|
||||||
|
|
||||||
[src/types.ts:249](https://github.com/transitive-bullshit/chatgpt-api/blob/d1b74a8/src/types.ts#L249)
|
[src/types.ts:249](https://github.com/transitive-bullshit/chatgpt-api/blob/025e7e3/src/types.ts#L249)
|
||||||
|
|
||||||
___
|
___
|
||||||
|
|
||||||
|
@ -253,7 +253,7 @@ ___
|
||||||
|
|
||||||
#### Defined in
|
#### Defined in
|
||||||
|
|
||||||
[src/types.ts:222](https://github.com/transitive-bullshit/chatgpt-api/blob/d1b74a8/src/types.ts#L222)
|
[src/types.ts:222](https://github.com/transitive-bullshit/chatgpt-api/blob/025e7e3/src/types.ts#L222)
|
||||||
|
|
||||||
___
|
___
|
||||||
|
|
||||||
|
@ -263,7 +263,7 @@ ___
|
||||||
|
|
||||||
#### Defined in
|
#### Defined in
|
||||||
|
|
||||||
[src/types.ts:220](https://github.com/transitive-bullshit/chatgpt-api/blob/d1b74a8/src/types.ts#L220)
|
[src/types.ts:220](https://github.com/transitive-bullshit/chatgpt-api/blob/025e7e3/src/types.ts#L220)
|
||||||
|
|
||||||
___
|
___
|
||||||
|
|
||||||
|
@ -273,7 +273,7 @@ ___
|
||||||
|
|
||||||
#### Defined in
|
#### Defined in
|
||||||
|
|
||||||
[src/types.ts:275](https://github.com/transitive-bullshit/chatgpt-api/blob/d1b74a8/src/types.ts#L275)
|
[src/types.ts:275](https://github.com/transitive-bullshit/chatgpt-api/blob/025e7e3/src/types.ts#L275)
|
||||||
|
|
||||||
___
|
___
|
||||||
|
|
||||||
|
@ -291,7 +291,7 @@ ___
|
||||||
|
|
||||||
#### Defined in
|
#### Defined in
|
||||||
|
|
||||||
[src/types.ts:77](https://github.com/transitive-bullshit/chatgpt-api/blob/d1b74a8/src/types.ts#L77)
|
[src/types.ts:77](https://github.com/transitive-bullshit/chatgpt-api/blob/025e7e3/src/types.ts#L77)
|
||||||
|
|
||||||
___
|
___
|
||||||
|
|
||||||
|
@ -309,7 +309,7 @@ https://chat.openapi.com/backend-api/models
|
||||||
|
|
||||||
#### Defined in
|
#### Defined in
|
||||||
|
|
||||||
[src/types.ts:70](https://github.com/transitive-bullshit/chatgpt-api/blob/d1b74a8/src/types.ts#L70)
|
[src/types.ts:70](https://github.com/transitive-bullshit/chatgpt-api/blob/025e7e3/src/types.ts#L70)
|
||||||
|
|
||||||
___
|
___
|
||||||
|
|
||||||
|
@ -328,7 +328,7 @@ https://chat.openapi.com/backend-api/moderations
|
||||||
|
|
||||||
#### Defined in
|
#### Defined in
|
||||||
|
|
||||||
[src/types.ts:97](https://github.com/transitive-bullshit/chatgpt-api/blob/d1b74a8/src/types.ts#L97)
|
[src/types.ts:97](https://github.com/transitive-bullshit/chatgpt-api/blob/025e7e3/src/types.ts#L97)
|
||||||
|
|
||||||
___
|
___
|
||||||
|
|
||||||
|
@ -348,7 +348,7 @@ https://chat.openapi.com/backend-api/moderations
|
||||||
|
|
||||||
#### Defined in
|
#### Defined in
|
||||||
|
|
||||||
[src/types.ts:114](https://github.com/transitive-bullshit/chatgpt-api/blob/d1b74a8/src/types.ts#L114)
|
[src/types.ts:114](https://github.com/transitive-bullshit/chatgpt-api/blob/025e7e3/src/types.ts#L114)
|
||||||
|
|
||||||
___
|
___
|
||||||
|
|
||||||
|
@ -370,7 +370,7 @@ to authenticate with the unofficial ChatGPT API.
|
||||||
|
|
||||||
#### Defined in
|
#### Defined in
|
||||||
|
|
||||||
[src/openai-auth.ts:28](https://github.com/transitive-bullshit/chatgpt-api/blob/d1b74a8/src/openai-auth.ts#L28)
|
[src/openai-auth.ts:29](https://github.com/transitive-bullshit/chatgpt-api/blob/025e7e3/src/openai-auth.ts#L29)
|
||||||
|
|
||||||
___
|
___
|
||||||
|
|
||||||
|
@ -388,7 +388,7 @@ ___
|
||||||
|
|
||||||
#### Defined in
|
#### Defined in
|
||||||
|
|
||||||
[src/types.ts:161](https://github.com/transitive-bullshit/chatgpt-api/blob/d1b74a8/src/types.ts#L161)
|
[src/types.ts:161](https://github.com/transitive-bullshit/chatgpt-api/blob/025e7e3/src/types.ts#L161)
|
||||||
|
|
||||||
___
|
___
|
||||||
|
|
||||||
|
@ -405,7 +405,7 @@ ___
|
||||||
|
|
||||||
#### Defined in
|
#### Defined in
|
||||||
|
|
||||||
[src/types.ts:178](https://github.com/transitive-bullshit/chatgpt-api/blob/d1b74a8/src/types.ts#L178)
|
[src/types.ts:178](https://github.com/transitive-bullshit/chatgpt-api/blob/025e7e3/src/types.ts#L178)
|
||||||
|
|
||||||
___
|
___
|
||||||
|
|
||||||
|
@ -415,7 +415,7 @@ ___
|
||||||
|
|
||||||
#### Defined in
|
#### Defined in
|
||||||
|
|
||||||
[src/types.ts:3](https://github.com/transitive-bullshit/chatgpt-api/blob/d1b74a8/src/types.ts#L3)
|
[src/types.ts:3](https://github.com/transitive-bullshit/chatgpt-api/blob/025e7e3/src/types.ts#L3)
|
||||||
|
|
||||||
___
|
___
|
||||||
|
|
||||||
|
@ -425,7 +425,7 @@ ___
|
||||||
|
|
||||||
#### Defined in
|
#### Defined in
|
||||||
|
|
||||||
[src/types.ts:288](https://github.com/transitive-bullshit/chatgpt-api/blob/d1b74a8/src/types.ts#L288)
|
[src/types.ts:288](https://github.com/transitive-bullshit/chatgpt-api/blob/025e7e3/src/types.ts#L288)
|
||||||
|
|
||||||
___
|
___
|
||||||
|
|
||||||
|
@ -447,7 +447,7 @@ ___
|
||||||
|
|
||||||
#### Defined in
|
#### Defined in
|
||||||
|
|
||||||
[src/types.ts:278](https://github.com/transitive-bullshit/chatgpt-api/blob/d1b74a8/src/types.ts#L278)
|
[src/types.ts:278](https://github.com/transitive-bullshit/chatgpt-api/blob/025e7e3/src/types.ts#L278)
|
||||||
|
|
||||||
___
|
___
|
||||||
|
|
||||||
|
@ -468,7 +468,7 @@ https://chat.openapi.com/api/auth/session
|
||||||
|
|
||||||
#### Defined in
|
#### Defined in
|
||||||
|
|
||||||
[src/types.ts:8](https://github.com/transitive-bullshit/chatgpt-api/blob/d1b74a8/src/types.ts#L8)
|
[src/types.ts:8](https://github.com/transitive-bullshit/chatgpt-api/blob/025e7e3/src/types.ts#L8)
|
||||||
|
|
||||||
___
|
___
|
||||||
|
|
||||||
|
@ -490,7 +490,7 @@ ___
|
||||||
|
|
||||||
#### Defined in
|
#### Defined in
|
||||||
|
|
||||||
[src/types.ts:30](https://github.com/transitive-bullshit/chatgpt-api/blob/d1b74a8/src/types.ts#L30)
|
[src/types.ts:30](https://github.com/transitive-bullshit/chatgpt-api/blob/025e7e3/src/types.ts#L30)
|
||||||
|
|
||||||
## Functions
|
## Functions
|
||||||
|
|
||||||
|
@ -517,7 +517,7 @@ included them in here.
|
||||||
|
|
||||||
#### Defined in
|
#### Defined in
|
||||||
|
|
||||||
[src/utils.ts:73](https://github.com/transitive-bullshit/chatgpt-api/blob/d1b74a8/src/utils.ts#L73)
|
[src/utils.ts:73](https://github.com/transitive-bullshit/chatgpt-api/blob/025e7e3/src/utils.ts#L73)
|
||||||
|
|
||||||
___
|
___
|
||||||
|
|
||||||
|
@ -533,7 +533,7 @@ Gets the default path to chrome's executable for the current platform.
|
||||||
|
|
||||||
#### Defined in
|
#### Defined in
|
||||||
|
|
||||||
[src/openai-auth.ts:463](https://github.com/transitive-bullshit/chatgpt-api/blob/d1b74a8/src/openai-auth.ts#L463)
|
[src/openai-auth.ts:426](https://github.com/transitive-bullshit/chatgpt-api/blob/025e7e3/src/openai-auth.ts#L426)
|
||||||
|
|
||||||
___
|
___
|
||||||
|
|
||||||
|
@ -549,7 +549,7 @@ recognizes it and blocks access.
|
||||||
|
|
||||||
| Name | Type |
|
| Name | Type |
|
||||||
| :------ | :------ |
|
| :------ | :------ |
|
||||||
| `opts` | `PuppeteerLaunchOptions` & { `captchaToken?`: `string` ; `minimize?`: `boolean` ; `nopechaKey?`: `string` ; `proxyServer?`: `string` } |
|
| `opts` | `PuppeteerLaunchOptions` & { `captchaToken?`: `string` ; `minimize?`: `boolean` ; `nopechaKey?`: `string` ; `proxyServer?`: `string` ; `timeoutMs?`: `number` } |
|
||||||
|
|
||||||
#### Returns
|
#### Returns
|
||||||
|
|
||||||
|
@ -557,7 +557,7 @@ recognizes it and blocks access.
|
||||||
|
|
||||||
#### Defined in
|
#### Defined in
|
||||||
|
|
||||||
[src/openai-auth.ts:248](https://github.com/transitive-bullshit/chatgpt-api/blob/d1b74a8/src/openai-auth.ts#L248)
|
[src/openai-auth.ts:266](https://github.com/transitive-bullshit/chatgpt-api/blob/025e7e3/src/openai-auth.ts#L266)
|
||||||
|
|
||||||
___
|
___
|
||||||
|
|
||||||
|
@ -603,7 +603,7 @@ with your updated credentials.
|
||||||
|
|
||||||
#### Defined in
|
#### Defined in
|
||||||
|
|
||||||
[src/openai-auth.ts:50](https://github.com/transitive-bullshit/chatgpt-api/blob/d1b74a8/src/openai-auth.ts#L50)
|
[src/openai-auth.ts:51](https://github.com/transitive-bullshit/chatgpt-api/blob/025e7e3/src/openai-auth.ts#L51)
|
||||||
|
|
||||||
___
|
___
|
||||||
|
|
||||||
|
@ -619,6 +619,7 @@ ___
|
||||||
| `opts` | `Object` |
|
| `opts` | `Object` |
|
||||||
| `opts.minimize?` | `boolean` |
|
| `opts.minimize?` | `boolean` |
|
||||||
| `opts.nopechaKey?` | `string` |
|
| `opts.nopechaKey?` | `string` |
|
||||||
|
| `opts.timeoutMs?` | `number` |
|
||||||
|
|
||||||
#### Returns
|
#### Returns
|
||||||
|
|
||||||
|
@ -626,7 +627,7 @@ ___
|
||||||
|
|
||||||
#### Defined in
|
#### Defined in
|
||||||
|
|
||||||
[src/openai-auth.ts:373](https://github.com/transitive-bullshit/chatgpt-api/blob/d1b74a8/src/openai-auth.ts#L373)
|
[src/openai-auth.ts:395](https://github.com/transitive-bullshit/chatgpt-api/blob/025e7e3/src/openai-auth.ts#L395)
|
||||||
|
|
||||||
___
|
___
|
||||||
|
|
||||||
|
@ -646,7 +647,7 @@ ___
|
||||||
|
|
||||||
#### Defined in
|
#### Defined in
|
||||||
|
|
||||||
[src/utils.ts:39](https://github.com/transitive-bullshit/chatgpt-api/blob/d1b74a8/src/utils.ts#L39)
|
[src/utils.ts:39](https://github.com/transitive-bullshit/chatgpt-api/blob/025e7e3/src/utils.ts#L39)
|
||||||
|
|
||||||
___
|
___
|
||||||
|
|
||||||
|
@ -666,7 +667,7 @@ ___
|
||||||
|
|
||||||
#### Defined in
|
#### Defined in
|
||||||
|
|
||||||
[src/utils.ts:12](https://github.com/transitive-bullshit/chatgpt-api/blob/d1b74a8/src/utils.ts#L12)
|
[src/utils.ts:12](https://github.com/transitive-bullshit/chatgpt-api/blob/025e7e3/src/utils.ts#L12)
|
||||||
|
|
||||||
___
|
___
|
||||||
|
|
||||||
|
@ -686,7 +687,7 @@ ___
|
||||||
|
|
||||||
#### Defined in
|
#### Defined in
|
||||||
|
|
||||||
[src/utils.ts:29](https://github.com/transitive-bullshit/chatgpt-api/blob/d1b74a8/src/utils.ts#L29)
|
[src/utils.ts:29](https://github.com/transitive-bullshit/chatgpt-api/blob/025e7e3/src/utils.ts#L29)
|
||||||
|
|
||||||
___
|
___
|
||||||
|
|
||||||
|
@ -706,4 +707,4 @@ ___
|
||||||
|
|
||||||
#### Defined in
|
#### Defined in
|
||||||
|
|
||||||
[src/utils.ts:19](https://github.com/transitive-bullshit/chatgpt-api/blob/d1b74a8/src/utils.ts#L19)
|
[src/utils.ts:19](https://github.com/transitive-bullshit/chatgpt-api/blob/025e7e3/src/utils.ts#L19)
|
||||||
|
|
|
@ -205,12 +205,6 @@ A [conversation demo](./demos/demo-conversation.ts) is also included:
|
||||||
npx tsx demos/demo-conversation.ts
|
npx tsx demos/demo-conversation.ts
|
||||||
```
|
```
|
||||||
|
|
||||||
A [browser-based conversation demo](./demos/demo-conversation-browser.ts) is also included:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
npx tsx demos/demo-conversation-browser.ts
|
|
||||||
```
|
|
||||||
|
|
||||||
### Authentication
|
### Authentication
|
||||||
|
|
||||||
The authentication section relates to the REST-based version (using `getOpenAIAuth` + `ChatGPTAPI`). The browser-based solution, `ChatGPTAPIBrowser`, takes care of all the authentication for you.
|
The authentication section relates to the REST-based version (using `getOpenAIAuth` + `ChatGPTAPI`). The browser-based solution, `ChatGPTAPIBrowser`, takes care of all the authentication for you.
|
||||||
|
@ -234,7 +228,7 @@ To get session token manually:
|
||||||

|

|
||||||
4. Copy the value for `__Secure-next-auth.session-token` and save it to your environment. This will be your `sessionToken`.
|
4. Copy the value for `__Secure-next-auth.session-token` and save it to your environment. This will be your `sessionToken`.
|
||||||
5. Copy the value for `cf_clearance` and save it to your environment. This will be your `clearanceToken`.
|
5. Copy the value for `cf_clearance` and save it to your environment. This will be your `clearanceToken`.
|
||||||
6. Copy the value of the `user-agent` header from any request in your `Network` tab. This will be your `userAgent`.
|
6. Copy the value of the `user-agent` header from any request in your `Network` tab, or copy the result of `navigator.userAgent` command on `Console` tab. This will be your `userAgent`.
|
||||||
|
|
||||||
Pass `sessionToken`, `clearanceToken`, and `userAgent` to the `ChatGPTAPI` constructor.
|
Pass `sessionToken`, `clearanceToken`, and `userAgent` to the `ChatGPTAPI` constructor.
|
||||||
|
|
||||||
|
@ -315,8 +309,11 @@ All of these awesome projects are built using the `chatgpt` package. 🤯
|
||||||
- [Raycast Extension #2](https://github.com/domnantas/raycast-chatgpt)
|
- [Raycast Extension #2](https://github.com/domnantas/raycast-chatgpt)
|
||||||
- [Telegram Bot #1](https://github.com/realies/chatgpt-telegram-bot)
|
- [Telegram Bot #1](https://github.com/realies/chatgpt-telegram-bot)
|
||||||
- [Telegram Bot #2](https://github.com/dawangraoming/chatgpt-telegram-bot)
|
- [Telegram Bot #2](https://github.com/dawangraoming/chatgpt-telegram-bot)
|
||||||
|
- [Telegram Bot #3](https://github.com/RainEggplant/chatgpt-telegram-bot) (group privacy mode, ID-based auth)
|
||||||
|
- [Telegram Bot #4](https://github.com/ArdaGnsrn/chatgpt-telegram) (queue system, ID-based chat thread)
|
||||||
- [Deno Telegram Bot](https://github.com/Ciyou/chatbot-telegram)
|
- [Deno Telegram Bot](https://github.com/Ciyou/chatbot-telegram)
|
||||||
- [Go Telegram Bot](https://github.com/m1guelpf/chatgpt-telegram)
|
- [Go Telegram Bot](https://github.com/m1guelpf/chatgpt-telegram)
|
||||||
|
- [Telegram Bot for YouTube Summaries](https://github.com/codextde/youtube-summary)
|
||||||
- [GitHub ProBot](https://github.com/oceanlvr/ChatGPTBot)
|
- [GitHub ProBot](https://github.com/oceanlvr/ChatGPTBot)
|
||||||
- [Discord Bot #1](https://github.com/onury5506/Discord-ChatGPT-Bot)
|
- [Discord Bot #1](https://github.com/onury5506/Discord-ChatGPT-Bot)
|
||||||
- [Discord Bot #2](https://github.com/Nageld/ChatGPT-Bot)
|
- [Discord Bot #2](https://github.com/Nageld/ChatGPT-Bot)
|
||||||
|
@ -346,12 +343,14 @@ All of these awesome projects are built using the `chatgpt` package. 🤯
|
||||||
- [Askai](https://github.com/yudax42/askai)
|
- [Askai](https://github.com/yudax42/askai)
|
||||||
- [TalkGPT](https://github.com/ShadovvBeast/TalkGPT)
|
- [TalkGPT](https://github.com/ShadovvBeast/TalkGPT)
|
||||||
- [iOS Shortcut](https://github.com/leecobaby/shortcuts/blob/master/other/ChatGPT_EN.md)
|
- [iOS Shortcut](https://github.com/leecobaby/shortcuts/blob/master/other/ChatGPT_EN.md)
|
||||||
- [Slack Bot](https://github.com/trietphm/chatgpt-slackbot/)
|
- [Slack Bot #1](https://github.com/trietphm/chatgpt-slackbot/)
|
||||||
|
- [Slack Bot #2](https://github.com/lokwkin/chatgpt-slackbot-node/) (with queueing mechanism)
|
||||||
- [Electron Bot](https://github.com/ShiranAbir/chaty)
|
- [Electron Bot](https://github.com/ShiranAbir/chaty)
|
||||||
- [Kodyfire CLI](https://github.com/nooqta/chatgpt-kodyfire)
|
- [Kodyfire CLI](https://github.com/nooqta/chatgpt-kodyfire)
|
||||||
- [Twitch Bot](https://github.com/BennyDeeDev/chatgpt-twitch-bot)
|
- [Twitch Bot](https://github.com/BennyDeeDev/chatgpt-twitch-bot)
|
||||||
- [Continuous Conversation](https://github.com/DanielTerletzkiy/chat-gtp-assistant)
|
- [Continuous Conversation](https://github.com/DanielTerletzkiy/chat-gtp-assistant)
|
||||||
- [Figma plugin](https://github.com/frederickk/chatgpt-figma-plugin)
|
- [Figma plugin](https://github.com/frederickk/chatgpt-figma-plugin)
|
||||||
|
- [NestJS server](https://github.com/RusDyn/chatgpt_nestjs_server)
|
||||||
|
|
||||||
If you create a cool integration, feel free to open a PR and add it to the list.
|
If you create a cool integration, feel free to open a PR and add it to the list.
|
||||||
|
|
||||||
|
|
2
license
2
license
|
@ -1,6 +1,6 @@
|
||||||
MIT License
|
MIT License
|
||||||
|
|
||||||
Copyright (c) 2022 Travis Fischer
|
Copyright (c) 2023 Travis Fischer
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "chatgpt",
|
"name": "chatgpt",
|
||||||
"version": "3.3.8",
|
"version": "3.3.10",
|
||||||
"description": "Node.js client for the unofficial ChatGPT API.",
|
"description": "Node.js client for the unofficial ChatGPT API.",
|
||||||
"author": "Travis Fischer <travis@transitivebullsh.it>",
|
"author": "Travis Fischer <travis@transitivebullsh.it>",
|
||||||
"repository": "transitive-bullshit/chatgpt-api",
|
"repository": "transitive-bullshit/chatgpt-api",
|
||||||
|
|
12
readme.md
12
readme.md
|
@ -203,12 +203,6 @@ A [conversation demo](./demos/demo-conversation.ts) is also included:
|
||||||
npx tsx demos/demo-conversation.ts
|
npx tsx demos/demo-conversation.ts
|
||||||
```
|
```
|
||||||
|
|
||||||
A [browser-based conversation demo](./demos/demo-conversation-browser.ts) is also included:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
npx tsx demos/demo-conversation-browser.ts
|
|
||||||
```
|
|
||||||
|
|
||||||
### Authentication
|
### Authentication
|
||||||
|
|
||||||
The authentication section relates to the REST-based version (using `getOpenAIAuth` + `ChatGPTAPI`). The browser-based solution, `ChatGPTAPIBrowser`, takes care of all the authentication for you.
|
The authentication section relates to the REST-based version (using `getOpenAIAuth` + `ChatGPTAPI`). The browser-based solution, `ChatGPTAPIBrowser`, takes care of all the authentication for you.
|
||||||
|
@ -232,7 +226,7 @@ To get session token manually:
|
||||||

|

|
||||||
4. Copy the value for `__Secure-next-auth.session-token` and save it to your environment. This will be your `sessionToken`.
|
4. Copy the value for `__Secure-next-auth.session-token` and save it to your environment. This will be your `sessionToken`.
|
||||||
5. Copy the value for `cf_clearance` and save it to your environment. This will be your `clearanceToken`.
|
5. Copy the value for `cf_clearance` and save it to your environment. This will be your `clearanceToken`.
|
||||||
6. Copy the value of the `user-agent` header from any request in your `Network` tab. This will be your `userAgent`.
|
6. Copy the value of the `user-agent` header from any request in your `Network` tab, or copy the result of `navigator.userAgent` command on `Console` tab. This will be your `userAgent`.
|
||||||
|
|
||||||
Pass `sessionToken`, `clearanceToken`, and `userAgent` to the `ChatGPTAPI` constructor.
|
Pass `sessionToken`, `clearanceToken`, and `userAgent` to the `ChatGPTAPI` constructor.
|
||||||
|
|
||||||
|
@ -314,6 +308,7 @@ All of these awesome projects are built using the `chatgpt` package. 🤯
|
||||||
- [Telegram Bot #1](https://github.com/realies/chatgpt-telegram-bot)
|
- [Telegram Bot #1](https://github.com/realies/chatgpt-telegram-bot)
|
||||||
- [Telegram Bot #2](https://github.com/dawangraoming/chatgpt-telegram-bot)
|
- [Telegram Bot #2](https://github.com/dawangraoming/chatgpt-telegram-bot)
|
||||||
- [Telegram Bot #3](https://github.com/RainEggplant/chatgpt-telegram-bot) (group privacy mode, ID-based auth)
|
- [Telegram Bot #3](https://github.com/RainEggplant/chatgpt-telegram-bot) (group privacy mode, ID-based auth)
|
||||||
|
- [Telegram Bot #4](https://github.com/ArdaGnsrn/chatgpt-telegram) (queue system, ID-based chat thread)
|
||||||
- [Deno Telegram Bot](https://github.com/Ciyou/chatbot-telegram)
|
- [Deno Telegram Bot](https://github.com/Ciyou/chatbot-telegram)
|
||||||
- [Go Telegram Bot](https://github.com/m1guelpf/chatgpt-telegram)
|
- [Go Telegram Bot](https://github.com/m1guelpf/chatgpt-telegram)
|
||||||
- [Telegram Bot for YouTube Summaries](https://github.com/codextde/youtube-summary)
|
- [Telegram Bot for YouTube Summaries](https://github.com/codextde/youtube-summary)
|
||||||
|
@ -339,7 +334,7 @@ All of these awesome projects are built using the `chatgpt` package. 🤯
|
||||||
- [WhatsApp Bot #1](https://github.com/pascalroget/whatsgpt) (multi-user support)
|
- [WhatsApp Bot #1](https://github.com/pascalroget/whatsgpt) (multi-user support)
|
||||||
- [WhatsApp Bot #2](https://github.com/amosayomide05/chatgpt-whatsapp-bot)
|
- [WhatsApp Bot #2](https://github.com/amosayomide05/chatgpt-whatsapp-bot)
|
||||||
- [WhatsApp Bot #3](https://github.com/navopw/whatsapp-chatgpt)
|
- [WhatsApp Bot #3](https://github.com/navopw/whatsapp-chatgpt)
|
||||||
- [Matrix Bot](https://github.com/jakecoppinger/matrix-chatgpt-bot)
|
- [Matrix Bot](https://github.com/matrixgpt/matrix-chatgpt-bot)
|
||||||
- [Rental Cover Letter Generator](https://sharehouse.app/ai)
|
- [Rental Cover Letter Generator](https://sharehouse.app/ai)
|
||||||
- [Assistant CLI](https://github.com/diciaup/assistant-cli)
|
- [Assistant CLI](https://github.com/diciaup/assistant-cli)
|
||||||
- [Teams Bot](https://github.com/formulahendry/chatgpt-teams-bot)
|
- [Teams Bot](https://github.com/formulahendry/chatgpt-teams-bot)
|
||||||
|
@ -353,6 +348,7 @@ All of these awesome projects are built using the `chatgpt` package. 🤯
|
||||||
- [Twitch Bot](https://github.com/BennyDeeDev/chatgpt-twitch-bot)
|
- [Twitch Bot](https://github.com/BennyDeeDev/chatgpt-twitch-bot)
|
||||||
- [Continuous Conversation](https://github.com/DanielTerletzkiy/chat-gtp-assistant)
|
- [Continuous Conversation](https://github.com/DanielTerletzkiy/chat-gtp-assistant)
|
||||||
- [Figma plugin](https://github.com/frederickk/chatgpt-figma-plugin)
|
- [Figma plugin](https://github.com/frederickk/chatgpt-figma-plugin)
|
||||||
|
- [NestJS server](https://github.com/RusDyn/chatgpt_nestjs_server)
|
||||||
- [Wordsmith: Add-in for Microsoft Word](https://github.com/xtremehpx/Wordsmith)
|
- [Wordsmith: Add-in for Microsoft Word](https://github.com/xtremehpx/Wordsmith)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -126,14 +126,16 @@ export async function getOpenAIAuth({
|
||||||
await delay(500)
|
await delay(500)
|
||||||
|
|
||||||
// click login button and wait for navigation to finish
|
// click login button and wait for navigation to finish
|
||||||
await Promise.all([
|
do {
|
||||||
page.waitForNavigation({
|
await Promise.all([
|
||||||
waitUntil: 'networkidle2',
|
page.waitForNavigation({
|
||||||
timeout: timeoutMs
|
waitUntil: 'networkidle2',
|
||||||
}),
|
timeout: timeoutMs
|
||||||
|
}),
|
||||||
page.click('#__next .btn-primary')
|
page.click('#__next .btn-primary')
|
||||||
])
|
])
|
||||||
|
await delay(500)
|
||||||
|
} while (page.url().endsWith('/auth/login'))
|
||||||
|
|
||||||
await checkForChatGPTAtCapacity(page, { timeoutMs })
|
await checkForChatGPTAtCapacity(page, { timeoutMs })
|
||||||
|
|
||||||
|
@ -180,11 +182,22 @@ export async function getOpenAIAuth({
|
||||||
await waitForRecaptcha(page, { timeoutMs })
|
await waitForRecaptcha(page, { timeoutMs })
|
||||||
} else if (hasRecaptchaPlugin) {
|
} else if (hasRecaptchaPlugin) {
|
||||||
console.log('solving captchas using 2captcha...')
|
console.log('solving captchas using 2captcha...')
|
||||||
const res = await page.solveRecaptchas()
|
|
||||||
if (res.captchas?.length) {
|
// Add retries in case network is unstable
|
||||||
console.log('captchas result', res)
|
const retries = 3
|
||||||
} else {
|
for (let i = 0; i < retries; i++) {
|
||||||
console.log('no captchas found')
|
try {
|
||||||
|
const res = await page.solveRecaptchas()
|
||||||
|
if (res.captchas?.length) {
|
||||||
|
console.log('captchas result', res)
|
||||||
|
break
|
||||||
|
} else {
|
||||||
|
console.log('no captchas found')
|
||||||
|
await delay(500)
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
console.log('captcha error', e)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Ładowanie…
Reference in New Issue