mirror of
https://github.com/ikechan8370/chatgpt-plugin.git
synced 2025-12-18 06:17:06 +00:00
commit
97d807f3cc
7 changed files with 39 additions and 17 deletions
|
|
@ -1,4 +1,5 @@
|
||||||
import WebSocket from 'ws'
|
import WebSocket from 'ws'
|
||||||
|
import crypto from 'crypto'
|
||||||
import common from '../../../lib/common/common.js'
|
import common from '../../../lib/common/common.js'
|
||||||
import _ from 'lodash'
|
import _ from 'lodash'
|
||||||
import { pTimeout } from '../utils/common.js'
|
import { pTimeout } from '../utils/common.js'
|
||||||
|
|
@ -271,19 +272,27 @@ export class BingAIClient {
|
||||||
throw new Error('max retry exceed, maybe refresh token error')
|
throw new Error('max retry exceed, maybe refresh token error')
|
||||||
}
|
}
|
||||||
const url = `${this.baseUrl}/c/api/conversations`
|
const url = `${this.baseUrl}/c/api/conversations`
|
||||||
|
const headers = {
|
||||||
|
// authorization: `Bearer ${this.accessToken}`,
|
||||||
|
'content-type': 'application/json',
|
||||||
|
origin: 'https://copilot.microsoft.com',
|
||||||
|
referer: 'https://copilot.microsoft.com/',
|
||||||
|
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.0.0 Safari/537.36 Edg/132.0.0.0'
|
||||||
|
}
|
||||||
|
if (this.accessToken) {
|
||||||
|
headers.authorization = `Bearer ${this.accessToken}`
|
||||||
|
}
|
||||||
const createConversationRsp = await fetch(url, {
|
const createConversationRsp = await fetch(url, {
|
||||||
headers: {
|
headers,
|
||||||
authorization: `Bearer ${this.accessToken}`,
|
|
||||||
'content-type': 'application/json',
|
|
||||||
origin: 'https://copilot.microsoft.com',
|
|
||||||
referer: 'https://copilot.microsoft.com/',
|
|
||||||
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.0.0 Safari/537.36 Edg/132.0.0.0'
|
|
||||||
},
|
|
||||||
method: 'POST'
|
method: 'POST'
|
||||||
})
|
})
|
||||||
if (createConversationRsp.status === 401) {
|
if (createConversationRsp.status === 401) {
|
||||||
await this.doRefreshToken()
|
if (this.refreshToken) {
|
||||||
return await this._generateConversationId(times - 1)
|
await this.doRefreshToken()
|
||||||
|
return await this._generateConversationId(times - 1)
|
||||||
|
} else {
|
||||||
|
this.accessToken = null
|
||||||
|
}
|
||||||
}
|
}
|
||||||
const conversation = await createConversationRsp.json()
|
const conversation = await createConversationRsp.json()
|
||||||
return conversation.id
|
return conversation.id
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ export async function getChatHistoryGroup (e, num) {
|
||||||
// if (e.adapter === 'shamrock') {
|
// if (e.adapter === 'shamrock') {
|
||||||
// return await e.group.getChatHistory(0, num, false)
|
// return await e.group.getChatHistory(0, num, false)
|
||||||
// } else {
|
// } else {
|
||||||
let latestChats = await e.group.getChatHistory(0, 1)
|
let latestChats = await e.group.getChatHistory(e.seq || e.message_id, 1)
|
||||||
if (latestChats.length > 0) {
|
if (latestChats.length > 0) {
|
||||||
let latestChat = latestChats[0]
|
let latestChat = latestChats[0]
|
||||||
if (latestChat) {
|
if (latestChat) {
|
||||||
|
|
|
||||||
|
|
@ -37,8 +37,11 @@ export class SendDiceTool extends AbstractTool {
|
||||||
await group.sendMsg(segment.dice())
|
await group.sendMsg(segment.dice())
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
let friend = await e.bot.pickFriend(target)
|
let user = e.bot.pickUser(target)
|
||||||
await friend.sendMsg(segment.dice())
|
if (e.group_id) {
|
||||||
|
user = user.asMember(e.group_id)
|
||||||
|
}
|
||||||
|
await user.sendMsg(segment.dice())
|
||||||
}
|
}
|
||||||
if (num === 5) {
|
if (num === 5) {
|
||||||
logger.warn(1)
|
logger.warn(1)
|
||||||
|
|
|
||||||
|
|
@ -37,7 +37,11 @@ export class SendMessageToSpecificGroupOrUserTool extends AbstractTool {
|
||||||
await group.sendMsg(await convertFaces(msg, true, e))
|
await group.sendMsg(await convertFaces(msg, true, e))
|
||||||
return 'msg has been sent to group' + target
|
return 'msg has been sent to group' + target
|
||||||
} else {
|
} else {
|
||||||
let user = await e.bot.pickFriend(target)
|
let user = e.bot.pickUser(target)
|
||||||
|
if (e.group_id) {
|
||||||
|
user = user.asMember(e.group_id)
|
||||||
|
}
|
||||||
|
// let user = await e.bot.pickFriend(target)
|
||||||
await user.sendMsg(msg)
|
await user.sendMsg(msg)
|
||||||
return 'msg has been sent to user' + target
|
return 'msg has been sent to user' + target
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -47,7 +47,10 @@ export class SendPictureTool extends AbstractTool {
|
||||||
await group.sendMsg(pictures)
|
await group.sendMsg(pictures)
|
||||||
return 'picture has been sent to group' + target
|
return 'picture has been sent to group' + target
|
||||||
} else {
|
} else {
|
||||||
let user = await e.bot.pickFriend(target)
|
let user = e.bot.pickUser(target)
|
||||||
|
if (e.group_id) {
|
||||||
|
user = user.asMember(e.group_id)
|
||||||
|
}
|
||||||
await user.sendMsg(pictures)
|
await user.sendMsg(pictures)
|
||||||
return 'picture has been sent to user' + target
|
return 'picture has been sent to user' + target
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -30,8 +30,11 @@ export class SendRPSTool extends AbstractTool {
|
||||||
let group = await e.bot.pickGroup(target, true)
|
let group = await e.bot.pickGroup(target, true)
|
||||||
await group.sendMsg(segment.rps(num))
|
await group.sendMsg(segment.rps(num))
|
||||||
} else {
|
} else {
|
||||||
let friend = await e.bot.pickFriend(target)
|
let user = e.bot.pickUser(target)
|
||||||
await friend.sendMsg(segment.rps(num))
|
if (e.group_id) {
|
||||||
|
user = user.asMember(e.group_id)
|
||||||
|
}
|
||||||
|
await user.sendMsg(segment.rps(num))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ class Tokenizer {
|
||||||
throw new Error('no valid group id')
|
throw new Error('no valid group id')
|
||||||
}
|
}
|
||||||
let group = e.bot.pickGroup(groupId, true)
|
let group = e.bot.pickGroup(groupId, true)
|
||||||
let latestChat = await group.getChatHistory(0, 1)
|
let latestChat = await group.getChatHistory(undefined, 1)
|
||||||
let seq = latestChat[0].seq
|
let seq = latestChat[0].seq
|
||||||
let chats = latestChat
|
let chats = latestChat
|
||||||
function compareByTime (a, b) {
|
function compareByTime (a, b) {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue