优化 获取回复消息
This commit is contained in:
parent
8bd23798ad
commit
e94b60da7d
|
@ -350,38 +350,36 @@ class PluginsLoader {
|
|||
* @param e.isMaster 是否管理员
|
||||
* @param e.logText 日志用户字符串
|
||||
* @param e.logFnc 日志方法字符串
|
||||
|
||||
* 频道
|
||||
* @param e.isGuild 是否频道
|
||||
* @param e.at 支持频道 tiny_id
|
||||
* @param e.atBot 支持频道
|
||||
|
||||
*/
|
||||
dealMsg(e) {
|
||||
if (e.message) {
|
||||
for (let val of e.message) {
|
||||
switch (val.type) {
|
||||
case "text":
|
||||
e.msg = (e.msg || "") + (val.text || "").replace(/^\s*[##井]+\s*/, "#").replace(/^\s*[\\**※]+\s*/, "*").trim()
|
||||
break
|
||||
case "image":
|
||||
if (!e.img) {
|
||||
e.img = []
|
||||
}
|
||||
e.img.push(val.url)
|
||||
break
|
||||
case "at":
|
||||
if (val.qq == e.self_id || val.qq == e.self_tiny_id) {
|
||||
e.atBot = true
|
||||
} else {
|
||||
/** 多个at 以最后的为准 */
|
||||
e.at = val.qq
|
||||
}
|
||||
break
|
||||
case "file":
|
||||
e.file = { name: val.name, fid: val.fid }
|
||||
break
|
||||
}
|
||||
if (e.message) for (const i of e.message) {
|
||||
switch (i.type) {
|
||||
case "text":
|
||||
if (!e.msg) e.msg = ""
|
||||
if (i.text) e.msg += i.text.replace(/^\s*[##井]+\s*/, "#").replace(/^\s*[\\**※]+\s*/, "*").trim()
|
||||
break
|
||||
case "image":
|
||||
if (Array.isArray(e.img))
|
||||
e.img.push(i.url)
|
||||
else
|
||||
e.img = [i.url]
|
||||
break
|
||||
case "at":
|
||||
if (i.qq == e.self_id)
|
||||
e.atBot = true
|
||||
else
|
||||
e.at = i.qq
|
||||
break
|
||||
case "reply":
|
||||
e.reply_id = i.id
|
||||
if (e.group?.getMsg)
|
||||
e.getReply = () => e.group.getMsg(e.reply_id)
|
||||
else if (e.friend?.getMsg)
|
||||
e.getReply = () => e.friend.getMsg(e.reply_id)
|
||||
break
|
||||
case "file":
|
||||
e.file = val
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -89,8 +89,17 @@ Bot.adapter.push(new class gocqhttpAdapter {
|
|||
})
|
||||
}
|
||||
|
||||
getMsg(data, message_id) {
|
||||
return data.sendApi("get_msg", { message_id })
|
||||
async getMsg(data, message_id) {
|
||||
const msg = (await data.sendApi("get_msg", { message_id })).data
|
||||
|
||||
if (msg?.message) {
|
||||
const message = []
|
||||
for (const i of msg.message)
|
||||
message.push({ ...i.data, type: i.type })
|
||||
msg.message = message
|
||||
}
|
||||
|
||||
return msg
|
||||
}
|
||||
|
||||
recallMsg(data, message_id) {
|
||||
|
@ -432,7 +441,9 @@ Bot.adapter.push(new class gocqhttpAdapter {
|
|||
return {
|
||||
...i,
|
||||
sendMsg: msg => this.sendFriendMsg(i, msg),
|
||||
getMsg: message_id => this.getMsg(i, message_id),
|
||||
recallMsg: message_id => this.recallMsg(i, message_id),
|
||||
getForwardMsg: message_id => this.getForwardMsg(i, message_id),
|
||||
makeForwardMsg: Bot.makeForwardMsg,
|
||||
sendForwardMsg: msg => this.sendFriendForwardMsg(i, msg),
|
||||
sendFile: (file, name) => this.sendFriendFile(i, file, name),
|
||||
|
@ -484,7 +495,9 @@ Bot.adapter.push(new class gocqhttpAdapter {
|
|||
return {
|
||||
...i,
|
||||
sendMsg: msg => this.sendGuildMsg(i, msg),
|
||||
getMsg: message_id => this.getMsg(i, message_id),
|
||||
recallMsg: message_id => this.recallMsg(i, message_id),
|
||||
getForwardMsg: message_id => this.getForwardMsg(i, message_id),
|
||||
makeForwardMsg: Bot.makeForwardMsg,
|
||||
sendForwardMsg: msg => this.sendGuildForwardMsg(i, msg),
|
||||
getInfo: () => this.getGuildInfo(i),
|
||||
|
@ -506,7 +519,9 @@ Bot.adapter.push(new class gocqhttpAdapter {
|
|||
return {
|
||||
...i,
|
||||
sendMsg: msg => this.sendGroupMsg(i, msg),
|
||||
getMsg: message_id => this.getMsg(i, message_id),
|
||||
recallMsg: message_id => this.recallMsg(i, message_id),
|
||||
getForwardMsg: message_id => this.getForwardMsg(i, message_id),
|
||||
makeForwardMsg: Bot.makeForwardMsg,
|
||||
sendForwardMsg: msg => this.sendGroupForwardMsg(i, msg),
|
||||
sendFile: (file, name) => this.sendGroupFile(i, file, undefined, name),
|
||||
|
@ -532,10 +547,6 @@ Bot.adapter.push(new class gocqhttpAdapter {
|
|||
sendApi: data.sendApi,
|
||||
stat: { start_time: data.time },
|
||||
|
||||
getMsg: message_id => this.getMsg(data, message_id),
|
||||
recallMsg: message_id => this.recallMsg(data, message_id),
|
||||
getForwardMsg: message_id => this.getForwardMsg(data, message_id),
|
||||
|
||||
pickUser: user_id => this.pickFriend(data, user_id),
|
||||
pickFriend: user_id => this.pickFriend(data, user_id),
|
||||
|
||||
|
|
Loading…
Reference in New Issue