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
|
if (e.user_id == getUin(e)) return false
|
||||||
prompt = msg.trim()
|
prompt = msg.trim()
|
||||||
if (e.isGroup && typeof this.e.group.getMemberMap === 'function') {
|
try {
|
||||||
let mm = await this.e.group.getMemberMap()
|
if (e.isGroup && typeof this.e.group.getMemberMap === 'function') {
|
||||||
let me = mm.get(getUin(e)) || {}
|
let mm = await this.e.group.getMemberMap()
|
||||||
let card = me.card
|
let me = mm.get(getUin(e)) || {}
|
||||||
let nickname = me.nickname
|
let card = me.card
|
||||||
if (nickname && card) {
|
let nickname = me.nickname
|
||||||
if (nickname.startsWith(card)) {
|
if (nickname && card) {
|
||||||
// 例如nickname是"滚筒洗衣机",card是"滚筒"
|
if (nickname.startsWith(card)) {
|
||||||
prompt = prompt.replace(`@${nickname}`, '').trim()
|
// 例如nickname是"滚筒洗衣机",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()
|
prompt = prompt.replace(`@${nickname}`, '').trim()
|
||||||
}
|
} else if (card.startsWith(nickname)) {
|
||||||
if (card) {
|
// 例如nickname是"十二",card是"十二|本月已发送1000条消息"
|
||||||
prompt = prompt.replace(`@${card}`, '').trim()
|
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 {
|
} else {
|
||||||
let ats = e.message.filter(m => m.type === 'at')
|
let ats = e.message.filter(m => m.type === 'at')
|
||||||
|
|
|
||||||
|
|
@ -1,18 +1,20 @@
|
||||||
// import { remark } from 'remark'
|
// import { remark } from 'remark'
|
||||||
// import stripMarkdown from 'strip-markdown'
|
// import stripMarkdown from 'strip-markdown'
|
||||||
import {exec} from 'child_process'
|
import { exec } from 'child_process'
|
||||||
import lodash from 'lodash'
|
import lodash from 'lodash'
|
||||||
import fs from 'node:fs'
|
import fs from 'node:fs'
|
||||||
import path from 'node:path'
|
import path from 'node:path'
|
||||||
import buffer from 'buffer'
|
import buffer from 'buffer'
|
||||||
import yaml from 'yaml'
|
import yaml from 'yaml'
|
||||||
import puppeteer from '../../../lib/puppeteer/puppeteer.js'
|
import puppeteer from '../../../lib/puppeteer/puppeteer.js'
|
||||||
import {Config} from './config.js'
|
import common from '../../../lib/common/common.js'
|
||||||
import {convertSpeaker, generateVitsAudio, speakers as vitsRoleList} from './tts.js'
|
import { Config } from './config.js'
|
||||||
import VoiceVoxTTS, {supportConfigurations as voxRoleList} from './tts/voicevox.js'
|
import { convertSpeaker, generateVitsAudio, speakers as vitsRoleList } from './tts.js'
|
||||||
import AzureTTS, {supportConfigurations as azureRoleList} from './tts/microsoft-azure.js'
|
import VoiceVoxTTS, { supportConfigurations as voxRoleList } from './tts/voicevox.js'
|
||||||
import {translate} from './translate.js'
|
import AzureTTS, { supportConfigurations as azureRoleList } from './tts/microsoft-azure.js'
|
||||||
|
import { translate } from './translate.js'
|
||||||
import uploadRecord from './uploadRecord.js'
|
import uploadRecord from './uploadRecord.js'
|
||||||
|
import Version from './version.js'
|
||||||
// export function markdownToText (markdown) {
|
// export function markdownToText (markdown) {
|
||||||
// return remark()
|
// return remark()
|
||||||
// .use(stripMarkdown)
|
// .use(stripMarkdown)
|
||||||
|
|
@ -81,6 +83,9 @@ export async function tryTimes (promiseFn, maxTries = 10) {
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function makeForwardMsg (e, msg = [], dec = '') {
|
export async function makeForwardMsg (e, msg = [], dec = '') {
|
||||||
|
if (Version.isTrss) {
|
||||||
|
return common.makeForwardMsg(e, msg, dec)
|
||||||
|
}
|
||||||
let nickname = Bot.nickname
|
let nickname = Bot.nickname
|
||||||
if (e.isGroup) {
|
if (e.isGroup) {
|
||||||
try {
|
try {
|
||||||
|
|
@ -127,9 +132,9 @@ export async function makeForwardMsg (e, msg = [], dec = '') {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
forwardMsg.data = forwardMsg.data
|
forwardMsg.data = forwardMsg.data
|
||||||
.replace(/\n/g, '')
|
.replace(/\n/g, '')
|
||||||
.replace(/<title color="#777777" size="26">(.+?)<\/title>/g, '___')
|
.replace(/<title color="#777777" size="26">(.+?)<\/title>/g, '___')
|
||||||
.replace(/___+/, `<title color="#777777" size="26">${dec}</title>`)
|
.replace(/___+/, `<title color="#777777" size="26">${dec}</title>`)
|
||||||
if (!is_sign) {
|
if (!is_sign) {
|
||||||
forwardMsg.data = forwardMsg.data
|
forwardMsg.data = forwardMsg.data
|
||||||
.replace('转发的', '不可转发的')
|
.replace('转发的', '不可转发的')
|
||||||
|
|
@ -919,7 +924,6 @@ export async function generateAzureAudio (pendingText, role = '随机', speaking
|
||||||
let languagePrefix = azureRoleList.find(config => config.code === speaker).languageDetail.charAt(0)
|
let languagePrefix = azureRoleList.find(config => config.code === speaker).languageDetail.charAt(0)
|
||||||
languagePrefix = languagePrefix.startsWith('E') ? '英' : languagePrefix
|
languagePrefix = languagePrefix.startsWith('E') ? '英' : languagePrefix
|
||||||
pendingText = (await translate(pendingText, languagePrefix)).replace('\n', '')
|
pendingText = (await translate(pendingText, languagePrefix)).replace('\n', '')
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
let role, languagePrefix
|
let role, languagePrefix
|
||||||
role = azureRoleList[Math.floor(Math.random() * azureRoleList.length)]
|
role = azureRoleList[Math.floor(Math.random() * azureRoleList.length)]
|
||||||
|
|
@ -961,4 +965,3 @@ export function getUserSpeaker (userSetting) {
|
||||||
return userSetting.ttsRoleVoiceVox || Config.voicevoxTTSSpeaker
|
return userSetting.ttsRoleVoiceVox || Config.voicevoxTTSSpeaker
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue