细节优化
This commit is contained in:
parent
69090be9d4
commit
5e42da7f88
|
@ -29,6 +29,12 @@ Bot.adapter.push(new class GSUIDCoreAdapter {
|
|||
return this.toStr(msg).replace(/("type":"(image|file)","data":").*?(")/g, "$1...$3")
|
||||
}
|
||||
|
||||
sendApi(ws, data) {
|
||||
const msg = JSON.stringify(data)
|
||||
logger.debug(`发送 API 请求:${logger.cyan(this.makeLog(msg))}`)
|
||||
return ws.send(msg)
|
||||
}
|
||||
|
||||
makeMsg(msg) {
|
||||
if (!Array.isArray(msg))
|
||||
msg = [msg]
|
||||
|
@ -75,33 +81,32 @@ Bot.adapter.push(new class GSUIDCoreAdapter {
|
|||
sendFriendMsg(data, msg) {
|
||||
const content = this.makeMsg(msg)
|
||||
logger.info(`${logger.blue(`[${data.self_id}]`)} 发送好友消息:[${data.user_id}] ${this.makeLog(content)}`)
|
||||
return data.bot.ws.send(JSON.stringify({
|
||||
return data.sendApi({
|
||||
bot_id: data.bot.bot_id,
|
||||
bot_self_id: data.bot.bot_self_id,
|
||||
target_type: "direct",
|
||||
target_id: data.user_id,
|
||||
content,
|
||||
}))
|
||||
})
|
||||
}
|
||||
|
||||
sendGroupMsg(data, msg) {
|
||||
const target = data.group_id.split("-")
|
||||
const content = this.makeMsg(msg)
|
||||
logger.info(`${logger.blue(`[${data.self_id}]`)} 发送群消息:[${data.group_id}] ${this.makeLog(content)}`)
|
||||
return data.bot.ws.send(JSON.stringify({
|
||||
return data.sendApi({
|
||||
bot_id: data.bot.bot_id,
|
||||
bot_self_id: data.bot.bot_self_id,
|
||||
target_type: target[0],
|
||||
target_id: target[1],
|
||||
content,
|
||||
}))
|
||||
})
|
||||
}
|
||||
|
||||
pickFriend(id, user_id) {
|
||||
pickFriend(data, user_id) {
|
||||
const i = {
|
||||
...Bot[id].fl.get(user_id),
|
||||
self_id: id,
|
||||
bot: Bot[id],
|
||||
...Bot[data.self_id].fl.get(user_id),
|
||||
...data,
|
||||
user_id: user_id.replace(/^gc_/, ""),
|
||||
}
|
||||
return {
|
||||
|
@ -113,25 +118,23 @@ Bot.adapter.push(new class GSUIDCoreAdapter {
|
|||
}
|
||||
}
|
||||
|
||||
pickMember(id, group_id, user_id) {
|
||||
pickMember(data, group_id, user_id) {
|
||||
const i = {
|
||||
...Bot[id].fl.get(user_id),
|
||||
self_id: id,
|
||||
bot: Bot[id],
|
||||
...Bot[data.self_id].fl.get(user_id),
|
||||
...data,
|
||||
group_id: group_id.replace(/^gc_/, ""),
|
||||
user_id: user_id.replace(/^gc_/, ""),
|
||||
}
|
||||
return {
|
||||
...this.pickFriend(id, user_id),
|
||||
...this.pickFriend(i, user_id),
|
||||
...i,
|
||||
}
|
||||
}
|
||||
|
||||
pickGroup(id, group_id) {
|
||||
pickGroup(data, group_id) {
|
||||
const i = {
|
||||
...Bot[id].gl.get(group_id),
|
||||
self_id: id,
|
||||
bot: Bot[id],
|
||||
...Bot[data.self_id].gl.get(group_id),
|
||||
...data,
|
||||
group_id: group_id.replace(/^gc_/, ""),
|
||||
}
|
||||
return {
|
||||
|
@ -140,14 +143,14 @@ Bot.adapter.push(new class GSUIDCoreAdapter {
|
|||
recallMsg: message_id => this.recallMsg(i, message_id => i.bot.API.message.delete(message_id), message_id),
|
||||
makeForwardMsg: Bot.makeForwardMsg,
|
||||
sendForwardMsg: msg => Bot.sendForwardMsg(msg => this.sendGroupMsg(i, msg), msg),
|
||||
pickMember: user_id => this.pickMember(id, group_id, user_id),
|
||||
pickMember: user_id => this.pickMember(i, group_id, user_id),
|
||||
}
|
||||
}
|
||||
|
||||
makeBot(data, ws) {
|
||||
makeBot(data) {
|
||||
Bot[data.self_id] = {
|
||||
adapter: this,
|
||||
ws,
|
||||
sendApi: data.sendApi,
|
||||
uin: data.self_id,
|
||||
bot_id: data.bot_id,
|
||||
bot_self_id: data.bot_self_id,
|
||||
|
@ -156,9 +159,9 @@ Bot.adapter.push(new class GSUIDCoreAdapter {
|
|||
id: this.id,
|
||||
name: this.name,
|
||||
},
|
||||
pickFriend: user_id => this.pickFriend(data.self_id, user_id),
|
||||
pickMember: (group_id, user_id) => this.pickMember(data.self_id, group_id, user_id),
|
||||
pickGroup: group_id => this.pickGroup(data.self_id, group_id),
|
||||
pickFriend: user_id => this.pickFriend(data, user_id),
|
||||
pickMember: (group_id, user_id) => this.pickMember(data, group_id, user_id),
|
||||
pickGroup: group_id => this.pickGroup(data, group_id),
|
||||
fl: new Map(),
|
||||
gl: new Map(),
|
||||
}
|
||||
|
@ -177,10 +180,11 @@ Bot.adapter.push(new class GSUIDCoreAdapter {
|
|||
}
|
||||
|
||||
data.self_id = `gc_${data.bot_self_id}`
|
||||
data.sendApi = data => this.sendApi(ws, data)
|
||||
if (Bot[data.self_id])
|
||||
Bot[data.self_id].ws = ws
|
||||
Bot[data.self_id].sendApi = data.sendApi
|
||||
else
|
||||
this.makeBot(data, ws)
|
||||
this.makeBot(data)
|
||||
data.bot = Bot[data.self_id]
|
||||
|
||||
data.post_type = "message"
|
||||
|
|
Loading…
Reference in New Issue