优化 获取回复消息
This commit is contained in:
		
							parent
							
								
									8bd23798ad
								
							
						
					
					
						commit
						e94b60da7d
					
				| 
						 | 
				
			
			@ -350,40 +350,38 @@ 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) {
 | 
			
		||||
    if (e.message) for (const i of e.message) {
 | 
			
		||||
      switch (i.type) {
 | 
			
		||||
        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
 | 
			
		||||
        case "image":
 | 
			
		||||
            if (!e.img) {
 | 
			
		||||
              e.img = []
 | 
			
		||||
            }
 | 
			
		||||
            e.img.push(val.url)
 | 
			
		||||
          if (Array.isArray(e.img))
 | 
			
		||||
            e.img.push(i.url)
 | 
			
		||||
          else
 | 
			
		||||
            e.img = [i.url]
 | 
			
		||||
          break
 | 
			
		||||
        case "at":
 | 
			
		||||
            if (val.qq == e.self_id || val.qq == e.self_tiny_id) {
 | 
			
		||||
          if (i.qq == e.self_id)
 | 
			
		||||
            e.atBot = true
 | 
			
		||||
            } else {
 | 
			
		||||
              /** 多个at 以最后的为准 */
 | 
			
		||||
              e.at = val.qq
 | 
			
		||||
            }
 | 
			
		||||
          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 = { name: val.name, fid: val.fid }
 | 
			
		||||
          e.file = val
 | 
			
		||||
          break
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    e.logText = ""
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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