Merge pull request #423 from LLOneBot/dev

release: 3.32.8
This commit is contained in:
idranme 2024-09-17 11:59:57 +08:00 committed by GitHub
commit 1876dd29ac
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 16 additions and 8 deletions

View File

@ -4,7 +4,7 @@
"name": "LLOneBot",
"slug": "LLOneBot",
"description": "实现 OneBot 11 协议,用于 QQ 机器人开发",
"version": "3.32.7",
"version": "3.32.8",
"icon": "./icon.webp",
"authors": [
{

View File

@ -91,17 +91,26 @@ interface FetchFileRes {
}
export async function fetchFile(url: string, headersInit?: Record<string, string>): Promise<FetchFileRes> {
const headers: Record<string, string> = {
const headers = new Headers({
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.71 Safari/537.36',
'Host': new URL(url).hostname,
...headersInit
}
const raw = await fetch(url, { headers }).catch((err) => {
})
let raw = await fetch(url, { headers }).catch((err) => {
if (err.cause) {
throw err.cause
}
throw err
})
if (raw.status === 403 && !headers.has('Referer')) {
headers.set('Referer', url)
raw = await fetch(url, { headers }).catch((err) => {
if (err.cause) {
throw err.cause
}
throw err
})
}
if (!raw.ok) throw new Error(`statusText: ${raw.statusText}`)
return {
data: Buffer.from(await raw.arrayBuffer()),
@ -133,7 +142,7 @@ export async function uri2local(uri: string, filename?: string, needExt?: boolea
if (type === FileUriType.RemoteURL) {
try {
const res = await fetchFile(uri, { 'Referer': uri })
const res = await fetchFile(uri)
const match = res.url.match(/.+\/([^/?]*)(?=\?)?/)
if (match?.[1]) {
filename ??= match[1].replace(/[/\\:*?"<>|]/g, '_')

View File

@ -127,7 +127,6 @@ class MessageUniqueWrapper {
}
}
}
return undefined
}
getShortIdByMsgId(msgId: string): number | undefined {
@ -160,4 +159,4 @@ class MessageUniqueWrapper {
}
}
export const MessageUnique: MessageUniqueWrapper = new MessageUniqueWrapper()
export const MessageUnique: MessageUniqueWrapper = new MessageUniqueWrapper()

View File

@ -1 +1 @@
export const version = '3.32.7'
export const version = '3.32.8'