Commit 9ee7746d authored by Travis Fischer's avatar Travis Fischer

chore: update ts docs

parent 83bb9cf8
...@@ -49,7 +49,7 @@ An error if it fails. ...@@ -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/4a0f780/src/abstract-chatgpt-api.ts#L69) [src/abstract-chatgpt-api.ts:69](https://github.com/transitive-bullshit/chatgpt-api/blob/83bb9cf/src/abstract-chatgpt-api.ts#L69)
___ ___
...@@ -66,7 +66,7 @@ otherwise. ...@@ -66,7 +66,7 @@ otherwise.
#### Defined in #### Defined in
[src/abstract-chatgpt-api.ts:39](https://github.com/transitive-bullshit/chatgpt-api/blob/4a0f780/src/abstract-chatgpt-api.ts#L39) [src/abstract-chatgpt-api.ts:39](https://github.com/transitive-bullshit/chatgpt-api/blob/83bb9cf/src/abstract-chatgpt-api.ts#L39)
___ ___
...@@ -87,7 +87,7 @@ An error if the session failed to initialize properly. ...@@ -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/4a0f780/src/abstract-chatgpt-api.ts#L10) [src/abstract-chatgpt-api.ts:10](https://github.com/transitive-bullshit/chatgpt-api/blob/83bb9cf/src/abstract-chatgpt-api.ts#L10)
___ ___
...@@ -111,7 +111,7 @@ Access credentials for the new session. ...@@ -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/4a0f780/src/abstract-chatgpt-api.ts#L49) [src/abstract-chatgpt-api.ts:49](https://github.com/transitive-bullshit/chatgpt-api/blob/83bb9cf/src/abstract-chatgpt-api.ts#L49)
___ ___
...@@ -135,7 +135,7 @@ Access credentials for the new session. ...@@ -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/4a0f780/src/abstract-chatgpt-api.ts#L59) [src/abstract-chatgpt-api.ts:59](https://github.com/transitive-bullshit/chatgpt-api/blob/83bb9cf/src/abstract-chatgpt-api.ts#L59)
___ ___
...@@ -164,4 +164,4 @@ the `response` text. ...@@ -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/4a0f780/src/abstract-chatgpt-api.ts#L30) [src/abstract-chatgpt-api.ts:30](https://github.com/transitive-bullshit/chatgpt-api/blob/83bb9cf/src/abstract-chatgpt-api.ts#L30)
...@@ -64,7 +64,7 @@ to obtain your `clearanceToken`. ...@@ -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/4a0f780/src/chatgpt-api.ts#L45) [src/chatgpt-api.ts:45](https://github.com/transitive-bullshit/chatgpt-api/blob/83bb9cf/src/chatgpt-api.ts#L45)
## Accessors ## Accessors
...@@ -80,7 +80,7 @@ Gets the current Cloudflare clearance token (`cf_clearance` cookie value). ...@@ -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/4a0f780/src/chatgpt-api.ts#L143) [src/chatgpt-api.ts:143](https://github.com/transitive-bullshit/chatgpt-api/blob/83bb9cf/src/chatgpt-api.ts#L143)
___ ___
...@@ -96,7 +96,7 @@ Gets the current session token. ...@@ -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/4a0f780/src/chatgpt-api.ts#L138) [src/chatgpt-api.ts:138](https://github.com/transitive-bullshit/chatgpt-api/blob/83bb9cf/src/chatgpt-api.ts#L138)
___ ___
...@@ -112,7 +112,7 @@ Gets the currently signed-in user, if authenticated, `null` otherwise. ...@@ -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/4a0f780/src/chatgpt-api.ts#L133) [src/chatgpt-api.ts:133](https://github.com/transitive-bullshit/chatgpt-api/blob/83bb9cf/src/chatgpt-api.ts#L133)
___ ___
...@@ -128,7 +128,7 @@ Gets the current user agent. ...@@ -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/4a0f780/src/chatgpt-api.ts#L148) [src/chatgpt-api.ts:148](https://github.com/transitive-bullshit/chatgpt-api/blob/83bb9cf/src/chatgpt-api.ts#L148)
## Methods ## Methods
...@@ -152,7 +152,7 @@ An error if it fails. ...@@ -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/4a0f780/src/chatgpt-api.ts#L470) [src/chatgpt-api.ts:470](https://github.com/transitive-bullshit/chatgpt-api/blob/83bb9cf/src/chatgpt-api.ts#L470)
___ ___
...@@ -173,7 +173,7 @@ the token fails. ...@@ -173,7 +173,7 @@ the token fails.
#### Defined in #### Defined in
[src/chatgpt-api.ts:367](https://github.com/transitive-bullshit/chatgpt-api/blob/4a0f780/src/chatgpt-api.ts#L367) [src/chatgpt-api.ts:367](https://github.com/transitive-bullshit/chatgpt-api/blob/83bb9cf/src/chatgpt-api.ts#L367)
___ ___
...@@ -194,7 +194,7 @@ is valid. ...@@ -194,7 +194,7 @@ is valid.
#### Defined in #### Defined in
[src/chatgpt-api.ts:156](https://github.com/transitive-bullshit/chatgpt-api/blob/4a0f780/src/chatgpt-api.ts#L156) [src/chatgpt-api.ts:156](https://github.com/transitive-bullshit/chatgpt-api/blob/83bb9cf/src/chatgpt-api.ts#L156)
___ ___
...@@ -224,7 +224,7 @@ A valid access token ...@@ -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/4a0f780/src/chatgpt-api.ts#L386) [src/chatgpt-api.ts:386](https://github.com/transitive-bullshit/chatgpt-api/blob/83bb9cf/src/chatgpt-api.ts#L386)
___ ___
...@@ -252,7 +252,7 @@ Access credentials for the new session. ...@@ -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/4a0f780/src/abstract-chatgpt-api.ts#L59) [src/abstract-chatgpt-api.ts:59](https://github.com/transitive-bullshit/chatgpt-api/blob/83bb9cf/src/abstract-chatgpt-api.ts#L59)
___ ___
...@@ -287,7 +287,7 @@ The response from ChatGPT ...@@ -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/4a0f780/src/chatgpt-api.ts#L180) [src/chatgpt-api.ts:180](https://github.com/transitive-bullshit/chatgpt-api/blob/83bb9cf/src/chatgpt-api.ts#L180)
___ ___
...@@ -307,4 +307,4 @@ ___ ...@@ -307,4 +307,4 @@ ___
#### Defined in #### Defined in
[src/chatgpt-api.ts:324](https://github.com/transitive-bullshit/chatgpt-api/blob/4a0f780/src/chatgpt-api.ts#L324) [src/chatgpt-api.ts:324](https://github.com/transitive-bullshit/chatgpt-api/blob/83bb9cf/src/chatgpt-api.ts#L324)
...@@ -49,11 +49,13 @@ Creates a new client for automating the ChatGPT webapp. ...@@ -49,11 +49,13 @@ Creates a new client for automating the ChatGPT webapp.
| `opts.executablePath?` | `string` | **`Default Value`** `undefined` * | | `opts.executablePath?` | `string` | **`Default Value`** `undefined` * |
| `opts.isGoogleLogin?` | `boolean` | **`Default Value`** `false` * | | `opts.isGoogleLogin?` | `boolean` | **`Default Value`** `false` * |
| `opts.isMicrosoftLogin?` | `boolean` | **`Default Value`** `false` * | | `opts.isMicrosoftLogin?` | `boolean` | **`Default Value`** `false` * |
| `opts.isProAccount?` | `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.nopechaKey?` | `string` | **`Default Value`** `undefined` * |
| `opts.password` | `string` | - | | `opts.password` | `string` | - |
| `opts.proxyServer?` | `string` | **`Default Value`** `undefined` * | | `opts.proxyServer?` | `string` | **`Default Value`** `undefined` * |
| `opts.userDataDir?` | `string` | **`Default Value`** `random directory with email as prefix` * |
#### Overrides #### Overrides
...@@ -61,7 +63,7 @@ Creates a new client for automating the ChatGPT webapp. ...@@ -61,7 +63,7 @@ Creates a new client for automating the ChatGPT webapp.
#### Defined in #### Defined in
[src/chatgpt-api-browser.ts:44](https://github.com/transitive-bullshit/chatgpt-api/blob/4a0f780/src/chatgpt-api-browser.ts#L44) [src/chatgpt-api-browser.ts:48](https://github.com/transitive-bullshit/chatgpt-api/blob/83bb9cf/src/chatgpt-api-browser.ts#L48)
## Accessors ## Accessors
...@@ -75,7 +77,7 @@ Creates a new client for automating the ChatGPT webapp. ...@@ -75,7 +77,7 @@ Creates a new client for automating the ChatGPT webapp.
#### Defined in #### Defined in
[src/chatgpt-api-browser.ts:741](https://github.com/transitive-bullshit/chatgpt-api/blob/4a0f780/src/chatgpt-api-browser.ts#L741) [src/chatgpt-api-browser.ts:640](https://github.com/transitive-bullshit/chatgpt-api/blob/83bb9cf/src/chatgpt-api-browser.ts#L640)
## Methods ## Methods
...@@ -95,7 +97,7 @@ Creates a new client for automating the ChatGPT webapp. ...@@ -95,7 +97,7 @@ Creates a new client for automating the ChatGPT webapp.
#### Defined in #### Defined in
[src/chatgpt-api-browser.ts:249](https://github.com/transitive-bullshit/chatgpt-api/blob/4a0f780/src/chatgpt-api-browser.ts#L249) [src/chatgpt-api-browser.ts:255](https://github.com/transitive-bullshit/chatgpt-api/blob/83bb9cf/src/chatgpt-api-browser.ts#L255)
___ ___
...@@ -115,7 +117,7 @@ ___ ...@@ -115,7 +117,7 @@ ___
#### Defined in #### Defined in
[src/chatgpt-api-browser.ts:286](https://github.com/transitive-bullshit/chatgpt-api/blob/4a0f780/src/chatgpt-api-browser.ts#L286) [src/chatgpt-api-browser.ts:292](https://github.com/transitive-bullshit/chatgpt-api/blob/83bb9cf/src/chatgpt-api-browser.ts#L292)
___ ___
...@@ -139,7 +141,7 @@ An error if it fails. ...@@ -139,7 +141,7 @@ An error if it fails.
#### Defined in #### Defined in
[src/chatgpt-api-browser.ts:687](https://github.com/transitive-bullshit/chatgpt-api/blob/4a0f780/src/chatgpt-api-browser.ts#L687) [src/chatgpt-api-browser.ts:586](https://github.com/transitive-bullshit/chatgpt-api/blob/83bb9cf/src/chatgpt-api-browser.ts#L586)
___ ___
...@@ -160,7 +162,7 @@ otherwise. ...@@ -160,7 +162,7 @@ otherwise.
#### Defined in #### Defined in
[src/chatgpt-api-browser.ts:422](https://github.com/transitive-bullshit/chatgpt-api/blob/4a0f780/src/chatgpt-api-browser.ts#L422) [src/chatgpt-api-browser.ts:425](https://github.com/transitive-bullshit/chatgpt-api/blob/83bb9cf/src/chatgpt-api-browser.ts#L425)
___ ___
...@@ -185,7 +187,7 @@ An error if the session failed to initialize properly. ...@@ -185,7 +187,7 @@ An error if the session failed to initialize properly.
#### Defined in #### Defined in
[src/chatgpt-api-browser.ts:119](https://github.com/transitive-bullshit/chatgpt-api/blob/4a0f780/src/chatgpt-api-browser.ts#L119) [src/chatgpt-api-browser.ts:133](https://github.com/transitive-bullshit/chatgpt-api/blob/83bb9cf/src/chatgpt-api-browser.ts#L133)
___ ___
...@@ -205,7 +207,7 @@ Attempts to handle 403 errors by refreshing the page. ...@@ -205,7 +207,7 @@ Attempts to handle 403 errors by refreshing the page.
#### Defined in #### Defined in
[src/chatgpt-api-browser.ts:364](https://github.com/transitive-bullshit/chatgpt-api/blob/4a0f780/src/chatgpt-api-browser.ts#L364) [src/chatgpt-api-browser.ts:367](https://github.com/transitive-bullshit/chatgpt-api/blob/83bb9cf/src/chatgpt-api-browser.ts#L367)
___ ___
...@@ -225,7 +227,7 @@ Attempts to handle 401 errors by re-authenticating. ...@@ -225,7 +227,7 @@ Attempts to handle 401 errors by re-authenticating.
#### Defined in #### Defined in
[src/chatgpt-api-browser.ts:345](https://github.com/transitive-bullshit/chatgpt-api/blob/4a0f780/src/chatgpt-api-browser.ts#L345) [src/chatgpt-api-browser.ts:348](https://github.com/transitive-bullshit/chatgpt-api/blob/83bb9cf/src/chatgpt-api-browser.ts#L348)
___ ___
...@@ -239,7 +241,7 @@ ___ ...@@ -239,7 +241,7 @@ ___
#### Defined in #### Defined in
[src/chatgpt-api-browser.ts:679](https://github.com/transitive-bullshit/chatgpt-api/blob/4a0f780/src/chatgpt-api-browser.ts#L679) [src/chatgpt-api-browser.ts:578](https://github.com/transitive-bullshit/chatgpt-api/blob/83bb9cf/src/chatgpt-api-browser.ts#L578)
___ ___
...@@ -272,4 +274,4 @@ the `response` text. ...@@ -272,4 +274,4 @@ the `response` text.
#### Defined in #### Defined in
[src/chatgpt-api-browser.ts:499](https://github.com/transitive-bullshit/chatgpt-api/blob/4a0f780/src/chatgpt-api-browser.ts#L499) [src/chatgpt-api-browser.ts:439](https://github.com/transitive-bullshit/chatgpt-api/blob/83bb9cf/src/chatgpt-api-browser.ts#L439)
...@@ -66,7 +66,7 @@ node_modules/.pnpm/typescript@4.9.3/node_modules/typescript/lib/lib.es2022.error ...@@ -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/4a0f780/src/types.ts#L297) [src/types.ts:297](https://github.com/transitive-bullshit/chatgpt-api/blob/83bb9cf/src/types.ts#L297)
___ ___
...@@ -76,7 +76,7 @@ ___ ...@@ -76,7 +76,7 @@ ___
#### Defined in #### Defined in
[src/types.ts:296](https://github.com/transitive-bullshit/chatgpt-api/blob/4a0f780/src/types.ts#L296) [src/types.ts:296](https://github.com/transitive-bullshit/chatgpt-api/blob/83bb9cf/src/types.ts#L296)
___ ___
...@@ -86,7 +86,7 @@ ___ ...@@ -86,7 +86,7 @@ ___
#### Defined in #### Defined in
[src/types.ts:294](https://github.com/transitive-bullshit/chatgpt-api/blob/4a0f780/src/types.ts#L294) [src/types.ts:294](https://github.com/transitive-bullshit/chatgpt-api/blob/83bb9cf/src/types.ts#L294)
___ ___
...@@ -96,4 +96,4 @@ ___ ...@@ -96,4 +96,4 @@ ___
#### Defined in #### Defined in
[src/types.ts:295](https://github.com/transitive-bullshit/chatgpt-api/blob/4a0f780/src/types.ts#L295) [src/types.ts:295](https://github.com/transitive-bullshit/chatgpt-api/blob/83bb9cf/src/types.ts#L295)
This diff is collapsed.
...@@ -2,7 +2,7 @@ chatgpt / [Exports](modules.md) ...@@ -2,7 +2,7 @@ chatgpt / [Exports](modules.md)
# Update January 12, 2023 <!-- omit in toc --> # Update January 12, 2023 <!-- omit in toc -->
This package works to access ChatGPT pretty consistently, even after OpenAI added Cloudflare protections. To circumvent these protections, we've added a **fully automated browser-based solution**, which uses Puppeteer and CAPTCHA solvers under the hood. 🔥 This package allows you to access ChatGPT from Node.js – even with OpenAI's Cloudflare protections. It uses a **fully automated browser-based solution**, which uses Puppeteer and CAPTCHA solvers under the hood. 🔥
```ts ```ts
import { ChatGPTAPIBrowser } from 'chatgpt' import { ChatGPTAPIBrowser } from 'chatgpt'
...@@ -23,9 +23,9 @@ We recently added support for CAPTCHA automation using either [nopecha](https:// ...@@ -23,9 +23,9 @@ We recently added support for CAPTCHA automation using either [nopecha](https://
There are some restrictions to be aware of, however: There are some restrictions to be aware of, however:
- Cloudflare doesn't like requests coming from data center IPs, so you'll either have to run it locally or use a residential IP proxy. - Cloudflare doesn't like requests coming from data center IPs, so you'll likely either need to run it locally or use a residential IP proxy.
- You should only have one `sendMessage` request at a time per browser instance and OpenAI account. - You should only have one `sendMessage` request at a time per browser instance and OpenAI account.
- It can be difficult to reliably process `sendMessage` requests after awhile. My best advice for handling this is to wrap your usage in some basic retry logic as well as a daemon which restarts your Node.js process every hour or so. This is unfortunately a byproduct of there not being an official API, so keep that in mind before using this in production. - It can be difficult to reliably process `sendMessage` requests after awhile. My best advice for handling this is to wrap your usage in some basic retry logic as well as a daemon which restarts your Node.js process every hour or so. This is unfortunately a by-product of there not being an official API, so keep that in mind before using this in production.
If you run into any issues, we do have a pretty active [Discord](https://discord.gg/v9gERj825w) with a bunch of ChatGPT hackers from the Node.js & Python communities. If you run into any issues, we do have a pretty active [Discord](https://discord.gg/v9gERj825w) with a bunch of ChatGPT hackers from the Node.js & Python communities.
...@@ -338,6 +338,8 @@ All of these awesome projects are built using the `chatgpt` package. 🤯 ...@@ -338,6 +338,8 @@ All of these awesome projects are built using the `chatgpt` package. 🤯
- [Discord Bot #2](https://github.com/Nageld/ChatGPT-Bot) - [Discord Bot #2](https://github.com/Nageld/ChatGPT-Bot)
- [Discord Bot #3](https://github.com/leinstay/gptbot) - [Discord Bot #3](https://github.com/leinstay/gptbot)
- [Discord Bot #4 (selfbot)](https://github.com/0x7030676e31/cumsocket) - [Discord Bot #4 (selfbot)](https://github.com/0x7030676e31/cumsocket)
- [Discord Bot #5](https://github.com/itskdhere/ChatGPT-Discord-BOT)
- [Discord Bot #6 (Shakespeare bot)](https://gist.github.com/TheBrokenRail/4b37e7c44e8f721d8bd845050d034c16)
- [WeChat Bot #1](https://github.com/AutumnWhj/ChatGPT-wechat-bot) - [WeChat Bot #1](https://github.com/AutumnWhj/ChatGPT-wechat-bot)
- [WeChat Bot #2](https://github.com/fuergaosi233/wechat-chatgpt) - [WeChat Bot #2](https://github.com/fuergaosi233/wechat-chatgpt)
- [WeChat Bot #3](https://github.com/wangrongding/wechat-bot) - [WeChat Bot #3](https://github.com/wangrongding/wechat-bot)
...@@ -362,6 +364,7 @@ All of these awesome projects are built using the `chatgpt` package. 🤯 ...@@ -362,6 +364,7 @@ All of these awesome projects are built using the `chatgpt` package. 🤯
- [Teams Bot](https://github.com/formulahendry/chatgpt-teams-bot) - [Teams Bot](https://github.com/formulahendry/chatgpt-teams-bot)
- [Askai](https://github.com/yudax42/askai) - [Askai](https://github.com/yudax42/askai)
- [TalkGPT](https://github.com/ShadovvBeast/TalkGPT) - [TalkGPT](https://github.com/ShadovvBeast/TalkGPT)
- [ChatGPT With Voice](https://github.com/thanhsonng/chatgpt-voice)
- [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 #1](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) - [Slack Bot #2](https://github.com/lokwkin/chatgpt-slackbot-node/) (with queueing mechanism)
...@@ -373,6 +376,7 @@ All of these awesome projects are built using the `chatgpt` package. 🤯 ...@@ -373,6 +376,7 @@ All of these awesome projects are built using the `chatgpt` package. 🤯
- [NestJS server](https://github.com/RusDyn/chatgpt_nestjs_server) - [NestJS server](https://github.com/RusDyn/chatgpt_nestjs_server)
- [NestJS ChatGPT Starter Boilerplate](https://github.com/mitkodkn/nestjs-chatgpt-starter) - [NestJS ChatGPT Starter Boilerplate](https://github.com/mitkodkn/nestjs-chatgpt-starter)
- [Wordsmith: Add-in for Microsoft Word](https://github.com/xtremehpx/Wordsmith) - [Wordsmith: Add-in for Microsoft Word](https://github.com/xtremehpx/Wordsmith)
- [QuizGPT: Create Kahoot quizzes with ChatGPT](https://github.com/Kladdy/quizgpt)
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.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment