mirror of
https://github.com/ikechan8370/chatgpt-plugin.git
synced 2025-12-16 13:27:08 +00:00
fix: 修复TRSS转发错误,chronocat linux应该还没适配
This commit is contained in:
parent
95e730f250
commit
4066f17847
2 changed files with 41 additions and 34 deletions
50
apps/chat.js
50
apps/chat.js
|
|
@ -768,34 +768,38 @@ export class chatgpt extends plugin {
|
|||
}
|
||||
if (e.user_id == getUin(e)) return false
|
||||
prompt = msg.trim()
|
||||
if (e.isGroup && typeof this.e.group.getMemberMap === 'function') {
|
||||
let mm = await this.e.group.getMemberMap()
|
||||
let me = mm.get(getUin(e)) || {}
|
||||
let card = me.card
|
||||
let nickname = me.nickname
|
||||
if (nickname && card) {
|
||||
if (nickname.startsWith(card)) {
|
||||
// 例如nickname是"滚筒洗衣机",card是"滚筒"
|
||||
prompt = prompt.replace(`@${nickname}`, '').trim()
|
||||
} else if (card.startsWith(nickname)) {
|
||||
// 例如nickname是"十二",card是"十二|本月已发送1000条消息"
|
||||
prompt = prompt.replace(`@${card}`, '').trim()
|
||||
// 如果是好友,显示的还是昵称
|
||||
prompt = prompt.replace(`@${nickname}`, '').trim()
|
||||
} else {
|
||||
// 互不包含,分别替换
|
||||
if (nickname) {
|
||||
try {
|
||||
if (e.isGroup && typeof this.e.group.getMemberMap === 'function') {
|
||||
let mm = await this.e.group.getMemberMap()
|
||||
let me = mm.get(getUin(e)) || {}
|
||||
let card = me.card
|
||||
let nickname = me.nickname
|
||||
if (nickname && card) {
|
||||
if (nickname.startsWith(card)) {
|
||||
// 例如nickname是"滚筒洗衣机",card是"滚筒"
|
||||
prompt = prompt.replace(`@${nickname}`, '').trim()
|
||||
}
|
||||
if (card) {
|
||||
} else if (card.startsWith(nickname)) {
|
||||
// 例如nickname是"十二",card是"十二|本月已发送1000条消息"
|
||||
prompt = prompt.replace(`@${card}`, '').trim()
|
||||
// 如果是好友,显示的还是昵称
|
||||
prompt = prompt.replace(`@${nickname}`, '').trim()
|
||||
} else {
|
||||
// 互不包含,分别替换
|
||||
if (nickname) {
|
||||
prompt = prompt.replace(`@${nickname}`, '').trim()
|
||||
}
|
||||
if (card) {
|
||||
prompt = prompt.replace(`@${card}`, '').trim()
|
||||
}
|
||||
}
|
||||
} else if (nickname) {
|
||||
prompt = prompt.replace(`@${nickname}`, '').trim()
|
||||
} else if (card) {
|
||||
prompt = prompt.replace(`@${card}`, '').trim()
|
||||
}
|
||||
} else if (nickname) {
|
||||
prompt = prompt.replace(`@${nickname}`, '').trim()
|
||||
} else if (card) {
|
||||
prompt = prompt.replace(`@${card}`, '').trim()
|
||||
}
|
||||
} catch (err) {
|
||||
logger.warn(err)
|
||||
}
|
||||
} else {
|
||||
let ats = e.message.filter(m => m.type === 'at')
|
||||
|
|
|
|||
|
|
@ -1,18 +1,20 @@
|
|||
// import { remark } from 'remark'
|
||||
// import stripMarkdown from 'strip-markdown'
|
||||
import {exec} from 'child_process'
|
||||
import { exec } from 'child_process'
|
||||
import lodash from 'lodash'
|
||||
import fs from 'node:fs'
|
||||
import path from 'node:path'
|
||||
import buffer from 'buffer'
|
||||
import yaml from 'yaml'
|
||||
import puppeteer from '../../../lib/puppeteer/puppeteer.js'
|
||||
import {Config} from './config.js'
|
||||
import {convertSpeaker, generateVitsAudio, speakers as vitsRoleList} from './tts.js'
|
||||
import VoiceVoxTTS, {supportConfigurations as voxRoleList} from './tts/voicevox.js'
|
||||
import AzureTTS, {supportConfigurations as azureRoleList} from './tts/microsoft-azure.js'
|
||||
import {translate} from './translate.js'
|
||||
import common from '../../../lib/common/common.js'
|
||||
import { Config } from './config.js'
|
||||
import { convertSpeaker, generateVitsAudio, speakers as vitsRoleList } from './tts.js'
|
||||
import VoiceVoxTTS, { supportConfigurations as voxRoleList } from './tts/voicevox.js'
|
||||
import AzureTTS, { supportConfigurations as azureRoleList } from './tts/microsoft-azure.js'
|
||||
import { translate } from './translate.js'
|
||||
import uploadRecord from './uploadRecord.js'
|
||||
import Version from './version.js'
|
||||
// export function markdownToText (markdown) {
|
||||
// return remark()
|
||||
// .use(stripMarkdown)
|
||||
|
|
@ -81,6 +83,9 @@ export async function tryTimes (promiseFn, maxTries = 10) {
|
|||
}
|
||||
|
||||
export async function makeForwardMsg (e, msg = [], dec = '') {
|
||||
if (Version.isTrss) {
|
||||
return common.makeForwardMsg(e, msg, dec)
|
||||
}
|
||||
let nickname = Bot.nickname
|
||||
if (e.isGroup) {
|
||||
try {
|
||||
|
|
@ -127,9 +132,9 @@ export async function makeForwardMsg (e, msg = [], dec = '') {
|
|||
}
|
||||
}
|
||||
forwardMsg.data = forwardMsg.data
|
||||
.replace(/\n/g, '')
|
||||
.replace(/<title color="#777777" size="26">(.+?)<\/title>/g, '___')
|
||||
.replace(/___+/, `<title color="#777777" size="26">${dec}</title>`)
|
||||
.replace(/\n/g, '')
|
||||
.replace(/<title color="#777777" size="26">(.+?)<\/title>/g, '___')
|
||||
.replace(/___+/, `<title color="#777777" size="26">${dec}</title>`)
|
||||
if (!is_sign) {
|
||||
forwardMsg.data = forwardMsg.data
|
||||
.replace('转发的', '不可转发的')
|
||||
|
|
@ -919,7 +924,6 @@ export async function generateAzureAudio (pendingText, role = '随机', speaking
|
|||
let languagePrefix = azureRoleList.find(config => config.code === speaker).languageDetail.charAt(0)
|
||||
languagePrefix = languagePrefix.startsWith('E') ? '英' : languagePrefix
|
||||
pendingText = (await translate(pendingText, languagePrefix)).replace('\n', '')
|
||||
|
||||
} else {
|
||||
let role, languagePrefix
|
||||
role = azureRoleList[Math.floor(Math.random() * azureRoleList.length)]
|
||||
|
|
@ -961,4 +965,3 @@ export function getUserSpeaker (userSetting) {
|
|||
return userSetting.ttsRoleVoiceVox || Config.voicevoxTTSSpeaker
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue