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