修复bing图片生成请求(绘图接口仍有问题)

This commit is contained in:
zyc404 2024-05-06 22:47:20 +08:00
parent 8dab6fd0b5
commit 33e04c1c24
3 changed files with 56 additions and 6 deletions

View file

@ -2,6 +2,7 @@ import fetch, { FormData } from 'node-fetch'
import { makeForwardMsg } from './common.js'
import { Config } from './config.js'
import { getProxy } from './proxy.js'
import crypto from 'crypto'
let proxy = getProxy()
export default class BingDrawClient {
@ -47,7 +48,7 @@ export default class BingDrawClient {
}
// headers['x-forwarded-for'] = '141.11.138.30'
let body = new FormData()
body.append('q', prompt)
body.append('q', urlEncodedPrompt)
body.append('qs', 'ds')
let fetchOptions = {
headers
@ -65,6 +66,9 @@ export default class BingDrawClient {
throw new Error('Your prompt has been blocked by Bing. Try to change any bad words and try again.')
}
if (response.status !== 302) {
if (this.debug) {
console.debug(`第一次重试绘图:${prompt}`)
}
url = `${this.opts.baseUrl}/images/create?q=${urlEncodedPrompt}&rt=3&FORM=GENCRE`
response = await fetch(url, Object.assign(fetchOptions, { body, redirect: 'manual', method: 'POST', credentials: 'include' }))
}

View file

@ -386,7 +386,7 @@ export default class SydneyAIClient {
}
let optionsSets = getOptionSet(Config.toneStyle, Config.enableGenerateContents)
let source = 'cib-ccp'; let gptId = 'copilot'
if (!Config.sydneyEnableSearch || toSummaryFileContent?.content) {
if ((!Config.sydneyEnableSearch && !Config.enableGenerateContents) || toSummaryFileContent?.content) {
optionsSets.push(...['nosearchall'])
}
if (isPro) {
@ -430,7 +430,9 @@ export default class SydneyAIClient {
'SemanticSerp',
'GenerateContentQuery',
'SearchQuery',
'GeneratedCode'
'GeneratedCode',
// 'InternalTasksMessage',
// 'Disclaimer'
],
sliceIds: [],
requestId: crypto.randomUUID(),
@ -1025,8 +1027,5 @@ function getOptionSet (tone, generateContent = false) {
])
break
}
if (generateContent) {
optionset.push('gencontentv3')
}
return optionset
}