-
Notifications
You must be signed in to change notification settings - Fork 104
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
d08e9e4
commit 4790285
Showing
4 changed files
with
52 additions
and
28 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
|
||
/** | ||
* 示例后处理器。你可以在example下面写一个新的。默认会调用所有此key的处理器 | ||
*/ | ||
export class ChatGPTResponsePostHandler extends plugin { | ||
constructor () { | ||
super({ | ||
name: 'chatgpt文本回复后处理器', | ||
priority: -100, | ||
namespace: 'chatgpt-plugin', | ||
handler: [{ | ||
key: 'chatgpt.response.post', // key必须是chatgpt.response.post | ||
fn: 'postHandler' | ||
}] | ||
}) | ||
} | ||
|
||
async postHandler (e, options, reject) { | ||
const { content, use, prompt } = options | ||
// 你可以在这里处理返回的文本,比如使用自定义的语音api来合成语音 | ||
// const audio = customTTS(content) | ||
// e.reply(segment.record(audio)) | ||
// 返回值会被忽略 | ||
const response = await fetch('https://api.fish.audio/v1/tts', { | ||
method: 'POST', | ||
headers: { | ||
Authorization: 'Bearer 5e614bcc80a34789837fdb0f1269b2c4', | ||
'Content-Type': 'application/json' | ||
}, | ||
body: JSON.stringify({ | ||
text: content, | ||
reference_id: '1aacaeb1b840436391b835fd5513f4c4', | ||
format: 'mp3', | ||
latency: 'normal' | ||
}) | ||
}) | ||
|
||
if (!response.ok) { | ||
throw new Error(`无法从服务器获取音频数据:${response.statusText}`) | ||
} | ||
|
||
const audio = await response.blob() | ||
// to Buffer | ||
const buffer = await audio.arrayBuffer() | ||
e.reply(segment.record(Buffer.from(buffer))) | ||
// e.reply(segment.record(audio)) | ||
} | ||
} |
This file was deleted.
Oops, something went wrong.