修复 GSUIDCore 重连后无法发送消息

This commit is contained in:
🌌 2023-07-06 19:19:37 +08:00
parent 802073f248
commit a768cc6427
1 changed files with 23 additions and 22 deletions

View File

@ -81,7 +81,7 @@ Bot.adapter.push(new class GSUIDCoreAdapter {
sendFriendMsg(data, msg) { sendFriendMsg(data, msg) {
const content = this.makeMsg(msg) const content = this.makeMsg(msg)
logger.info(`${logger.blue(`[${data.self_id}]`)} 发送好友消息:[${data.user_id}] ${this.makeLog(content)}`) logger.info(`${logger.blue(`[${data.self_id}]`)} 发送好友消息:[${data.user_id}] ${this.makeLog(content)}`)
data.sendApi({ data.bot.sendApi({
bot_id: data.bot.bot_id, bot_id: data.bot.bot_id,
bot_self_id: data.bot.bot_self_id, bot_self_id: data.bot.bot_self_id,
target_type: "direct", target_type: "direct",
@ -95,7 +95,7 @@ Bot.adapter.push(new class GSUIDCoreAdapter {
const target = data.group_id.split("-") const target = data.group_id.split("-")
const content = this.makeMsg(msg) const content = this.makeMsg(msg)
logger.info(`${logger.blue(`[${data.self_id}]`)} 发送群消息:[${data.group_id}] ${this.makeLog(content)}`) logger.info(`${logger.blue(`[${data.self_id}]`)} 发送群消息:[${data.group_id}] ${this.makeLog(content)}`)
data.sendApi({ data.bot.sendApi({
bot_id: data.bot.bot_id, bot_id: data.bot.bot_id,
bot_self_id: data.bot.bot_self_id, bot_self_id: data.bot.bot_self_id,
target_type: target[0], target_type: target[0],
@ -105,10 +105,11 @@ Bot.adapter.push(new class GSUIDCoreAdapter {
return { message_id: Date.now() } return { message_id: Date.now() }
} }
pickFriend(data, user_id) { pickFriend(id, user_id) {
const i = { const i = {
...Bot[data.self_id].fl.get(user_id), ...Bot[id].fl.get(user_id),
...data, self_id: id,
bot: Bot[id],
user_id: user_id.replace(/^gc_/, ""), user_id: user_id.replace(/^gc_/, ""),
} }
return { return {
@ -120,23 +121,25 @@ Bot.adapter.push(new class GSUIDCoreAdapter {
} }
} }
pickMember(data, group_id, user_id) { pickMember(id, group_id, user_id) {
const i = { const i = {
...Bot[data.self_id].fl.get(user_id), ...Bot[id].fl.get(user_id),
...data, self_id: id,
bot: Bot[id],
group_id: group_id.replace(/^gc_/, ""), group_id: group_id.replace(/^gc_/, ""),
user_id: user_id.replace(/^gc_/, ""), user_id: user_id.replace(/^gc_/, ""),
} }
return { return {
...this.pickFriend(i, user_id), ...this.pickFriend(id, user_id),
...i, ...i,
} }
} }
pickGroup(data, group_id) { pickGroup(id, group_id) {
const i = { const i = {
...Bot[data.self_id].gl.get(group_id), ...Bot[id].gl.get(group_id),
...data, self_id: id,
bot: Bot[id],
group_id: group_id.replace(/^gc_/, ""), group_id: group_id.replace(/^gc_/, ""),
} }
return { return {
@ -145,7 +148,7 @@ Bot.adapter.push(new class GSUIDCoreAdapter {
recallMsg: () => false, recallMsg: () => false,
makeForwardMsg: Bot.makeForwardMsg, makeForwardMsg: Bot.makeForwardMsg,
sendForwardMsg: msg => Bot.sendForwardMsg(msg => this.sendGroupMsg(i, msg), msg), sendForwardMsg: msg => Bot.sendForwardMsg(msg => this.sendGroupMsg(i, msg), msg),
pickMember: user_id => this.pickMember(i, group_id, user_id), pickMember: user_id => this.pickMember(id, group_id, user_id),
} }
} }
@ -161,14 +164,13 @@ Bot.adapter.push(new class GSUIDCoreAdapter {
id: this.id, id: this.id,
name: this.name, name: this.name,
}, },
pickFriend: user_id => this.pickFriend(data, user_id), pickFriend: user_id => this.pickFriend(data.self_id, user_id),
pickMember: (group_id, user_id) => this.pickMember(data, group_id, user_id), pickMember: (group_id, user_id) => this.pickMember(data.self_id, group_id, user_id),
pickGroup: group_id => this.pickGroup(data, group_id), pickGroup: group_id => this.pickGroup(data.self_id, group_id),
fl: new Map(), fl: new Map(),
gl: new Map(), gl: new Map(),
} }
Bot[data.self_id].pickUser = Bot[data.self_id].pickFriend Bot[data.self_id].pickUser = Bot[data.self_id].pickFriend
data.bot = Bot[data.self_id]
logger.mark(`${logger.blue(`[${data.self_id}]`)} ${this.name}(${this.id}) 已连接`) logger.mark(`${logger.blue(`[${data.self_id}]`)} ${this.name}(${this.id}) 已连接`)
Bot.emit(`connect.${data.self_id}`, Bot[data.self_id]) Bot.emit(`connect.${data.self_id}`, Bot[data.self_id])
@ -184,12 +186,11 @@ Bot.adapter.push(new class GSUIDCoreAdapter {
data.self_id = `gc_${data.bot_self_id}` data.self_id = `gc_${data.bot_self_id}`
data.sendApi = data => this.sendApi(ws, data) data.sendApi = data => this.sendApi(ws, data)
if (Bot[data.self_id]) { if (Bot[data.self_id])
data.bot = Bot[data.self_id] Bot[data.self_id].sendApi = data.sendApi
data.bot.sendApi = data.sendApi else
} else {
this.makeBot(data) this.makeBot(data)
} data.bot = Bot[data.self_id]
data.post_type = "message" data.post_type = "message"
data.message_id = data.msg_id data.message_id = data.msg_id