mirror of
https://github.com/ikechan8370/chatgpt-plugin.git
synced 2025-12-17 13:57:10 +00:00
fix: 连续对话一些小问题
This commit is contained in:
parent
2e180ccdf2
commit
ec20dc2346
1 changed files with 75 additions and 71 deletions
50
apps/bym.js
50
apps/bym.js
|
|
@ -35,29 +35,42 @@ export class bym extends plugin {
|
|||
return false
|
||||
}
|
||||
|
||||
let sender = e.sender.user_id
|
||||
let card = e.sender.card || e.sender.nickname
|
||||
let group = e.group_id
|
||||
let prop = this._genProp()
|
||||
if (Config.assistantLabel && e.msg?.includes(Config.assistantLabel)) {
|
||||
prop = -1
|
||||
}
|
||||
|
||||
if (prop < Config.bymRate) {
|
||||
logger.info('random chat hit')
|
||||
|
||||
await this._handleReply(e)
|
||||
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
async _handleReply(e) {
|
||||
|
||||
if(Config.bymContinue){
|
||||
const delay = Config.bymContinueDelay || 10
|
||||
this.setContext("_handleContinue", e.isGroup, delay, "")
|
||||
}
|
||||
|
||||
let sender = e.sender.user_id
|
||||
let card = e.sender.card || e.sender.nickname
|
||||
let group = e.group_id
|
||||
|
||||
let fuck = false
|
||||
let candidate = Config.bymPreset
|
||||
if (Config.bymFuckList?.find(i => e.msg?.includes(i))) {
|
||||
fuck = true
|
||||
candidate = candidate + Config.bymFuckPrompt
|
||||
}
|
||||
if (prop < Config.bymRate) {
|
||||
logger.info('random chat hit')
|
||||
// let chats = await getChatHistoryGroup(e, Config.groupContextLength)
|
||||
|
||||
let system = `你的名字是“${Config.assistantLabel}”,你在一个qq群里,群号是${group},当前和你说话的人群名片是${card}, qq号是${sender}, 请你结合用户的发言和聊天记录作出回应,要求表现得随性一点,最好参与讨论,混入其中。不要过分插科打诨,不知道说什么可以复读群友的话。要求你做搜索、发图、发视频和音乐等操作时要使用工具。不可以直接发[图片]这样蒙混过关。要求优先使用中文进行对话。如果此时不需要自己说话,可以只回复<EMPTY>` +
|
||||
candidate +
|
||||
`\n你的回复应该尽可能简练,像人类一样随意,不要附加任何奇怪的东西,如聊天记录的格式(比如${Config.assistantLabel}:),禁止重复聊天记录。`
|
||||
|
||||
|
||||
const handleReply = async (e) => {
|
||||
let rsp = await core.sendMessage(e.msg, {}, Config.bymMode, e, {
|
||||
enableSmart: Config.smartMode,
|
||||
system: {
|
||||
|
|
@ -105,25 +118,16 @@ export class bym extends plugin {
|
|||
}
|
||||
}
|
||||
|
||||
if(Config.bymContinue){
|
||||
const delay = Config.bymContinueDelay || 10
|
||||
const continueEvent = await this.awaitContext(e.isGroup, delay, "");
|
||||
if(continueEvent){
|
||||
logger.info("bym继续对话")
|
||||
await handleReply(continueEvent)
|
||||
}else {
|
||||
logger.mark("bym连续对话结束")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
await handleReply(e)
|
||||
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
_genProp() {
|
||||
return Math.floor(Math.random() * 100)
|
||||
}
|
||||
|
||||
async _handleContinue(e) {
|
||||
logger.mark("bym继续对话")
|
||||
this.finish("_handleContinue", e.isGroup)
|
||||
await this._handleReply(e)
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue