wangrongding / wechat-bot

🤖一个基于 WeChaty 结合 OpenAi ChatGPT / Kimi / 讯飞等Ai服务实现的微信机器人 ,可以用来帮助你自动回复微信消息,或者管理微信群/好友,检测僵尸粉等...
MIT License
4.96k stars 710 forks source link

最新的貌似403forbidden了 #34

Closed f0ng closed 1 year ago

f0ng commented 1 year ago

2022.12.12 主要问题出在了认证貌似新增了,修改如下:

// 定义ChatGPT的配置
const config = {
  markdown: true, // 返回的内容是否需要markdown格式
  AutoReply: true, // 是否自动回复
  clearanceToken: dotenv.config().parsed.CHATGPT_CLEARANCE,// ChatGPT的clearance,从cookie取值
  sessionToken: dotenv.config().parsed.CHATGPT_SESSION_TOKEN, // ChatGPT的sessionToken
  userAgent: dotenv.config().parsed.CHATGPT_USER_AGENT, // User-Agent
  accessToken:dotenv.config().parsed.CHATGPT_ACCESS_TOKEN// 在用户授权情况下,访问https://chat.openai.com/api/auth/session,获取accesstoken
}

.env如下

CHATGPT_SESSION_TOKEN=''
CHATGPT_CLEARANCE=''
CHATGPT_USER_AGENT=''
CHATGPT_ACCESS_TOKEN=''
image
wangrongding commented 1 year ago

是否愿意提一个 PR 呢~ 非常感谢

f0ng commented 1 year ago

已提(^▽^)

lisiyizu commented 1 year ago

好像还是报403 ,chatgpt已经升级到 v2.1.1

(node:14328) ExperimentalWarning: stream/web is an experimental feature. This feature could change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
ChatGPTError: ChatGPTAPI error 403
    at fetchSSE (file:///Users/xxx/Documents/work/chatGPT/wechat-bot/node_modules/chatgpt/build/index.js:80:19)
    at processTicksAndRejections (node:internal/process/task_queues:96:5) {
  statusCode: 403,
  statusText: 'Forbidden',
  response: Response {
    [Symbol(realm)]: null,
    [Symbol(state)]: {
      aborted: false,
      rangeRequested: false,
      timingAllowPassed: true,
      requestIncludesCredentials: true,
      type: 'default',
      status: 403,
      timingInfo: [Object],
      cacheState: '',
      statusText: 'Forbidden',
      headersList: [HeadersList],
      urlList: [Array],
      body: [Object]
    },
    [Symbol(headers)]: HeadersList {
      [Symbol(headers map)]: [Map],
      [Symbol(headers map sorted)]: null
    }
  }
}
f0ng commented 1 year ago

问题出在clearanceTokensessionToken上,需要重新刷新或者重新登录获取

ZoeYingY commented 1 year ago

好像还是报403 ,chatgpt已经升级到 v2.1.1

(node:14328) ExperimentalWarning: stream/web is an experimental feature. This feature could change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
ChatGPTError: ChatGPTAPI error 403
    at fetchSSE (file:///Users/xxx/Documents/work/chatGPT/wechat-bot/node_modules/chatgpt/build/index.js:80:19)
    at processTicksAndRejections (node:internal/process/task_queues:96:5) {
  statusCode: 403,
  statusText: 'Forbidden',
  response: Response {
    [Symbol(realm)]: null,
    [Symbol(state)]: {
      aborted: false,
      rangeRequested: false,
      timingAllowPassed: true,
      requestIncludesCredentials: true,
      type: 'default',
      status: 403,
      timingInfo: [Object],
      cacheState: '',
      statusText: 'Forbidden',
      headersList: [HeadersList],
      urlList: [Array],
      body: [Object]
    },
    [Symbol(headers)]: HeadersList {
      [Symbol(headers map)]: [Map],
      [Symbol(headers map sorted)]: null
    }
  }
}

请问您解决了吗?重新登陆后仍旧报错403

wangrongding commented 1 year ago

😅 感觉大家还是要看下 README 文档,因为 chatgpt添加了一些限制,所以在配置上,我们新增了几个环境变量,您需要去拿到对应的参数后补充完整才可以用哈~

lisiyizu commented 1 year ago

😅 感觉大家还是要看下 README 文档,因为 chatgpt添加了一些限制,所以在配置上,我们新增了几个环境变量,您需要去拿到对应的参数后补充完整才可以用哈~

加了四个参数,刷新了重新获取了 clearanceToken与sessionToken,依然报 403

wangrongding commented 1 year ago

🧐难道又限制又升级了? 晚上我看下,大家有空可以自行排查下,需要改的地方可以提一个 PR 我直接合并。 相应的库是:问题详情

f0ng commented 1 year ago

有时参数不对应也会403,得多试几次才成功,或者可以直接把参数填入const config内,如

  clearanceToken: 'xxxxxxxxxxxx',
  sessionToken: 'xxxxxxxxxxxxxx', // ChatGPT的sessionToken
  userAgent: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) xxxxxxxxxxxxxxx',//获取sessionToken时的UA头,通过开发者工具F12在network处获取
  accessToken:'eyJhbGciOiJSxxxxxxxxxxxxxxxxxxxxx'

以下为不正确的参数报错,是403,后续修改参数,成功

image
lisiyizu commented 1 year ago
image

奇怪了,我获取最新的 clearanceToken与sessionToken ,反复测试了好多次一直报错。

moxinnai commented 1 year ago
image image

debug了,还是403

emmmnaadada commented 1 year ago

仍然报错

jarl0415 commented 1 year ago

@emmmnaadada 一样403

baoheng233 commented 1 year ago

凭证直接赋值给到const config方法也是403 image

wangrongding commented 1 year ago

修复了同志们,具体看 readme

ycs0220 commented 1 year ago

有时参数不对应也会403,得多试几次才成功,或者可以直接把参数填入const config内,如

  clearanceToken: 'xxxxxxxxxxxx',
  sessionToken: 'xxxxxxxxxxxxxx', // ChatGPT的sessionToken
  userAgent: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) xxxxxxxxxxxxxxx',//获取sessionToken时的UA头,通过开发者工具F12在network处获取
  accessToken:'eyJhbGciOiJSxxxxxxxxxxxxxxxxxxxxx'

以下为不正确的参数报错,是403,后续修改参数,成功

image

你好,我反复修改很多次都没用,请问有什么思路吗?

ycs0220 commented 1 year ago

凭证直接赋值给到const config方法也是403 image

请问解决了嘛?用chatgpt我也遇到了一样的报错。

ycs0220 commented 1 year ago
image

奇怪了,我获取最新的 clearanceToken与sessionToken ,反复测试了好多次一直报错。

请问解决了嘛?

ycs0220 commented 1 year ago
image

奇怪了,我获取最新的 clearanceToken与sessionToken ,反复测试了好多次一直报错。

用chatgpt我也遇到了一样的报错,请问现在解决了吗?