细节优化
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")
 | 
					    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) {
 | 
					  makeMsg(msg) {
 | 
				
			||||||
    if (!Array.isArray(msg))
 | 
					    if (!Array.isArray(msg))
 | 
				
			||||||
      msg = [msg]
 | 
					      msg = [msg]
 | 
				
			||||||
| 
						 | 
					@ -75,33 +81,32 @@ 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)}`)
 | 
				
			||||||
    return data.bot.ws.send(JSON.stringify({
 | 
					    return data.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",
 | 
				
			||||||
      target_id: data.user_id,
 | 
					      target_id: data.user_id,
 | 
				
			||||||
      content,
 | 
					      content,
 | 
				
			||||||
    }))
 | 
					    })
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  sendGroupMsg(data, msg) {
 | 
					  sendGroupMsg(data, msg) {
 | 
				
			||||||
    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)}`)
 | 
				
			||||||
    return data.bot.ws.send(JSON.stringify({
 | 
					    return data.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],
 | 
				
			||||||
      target_id: target[1],
 | 
					      target_id: target[1],
 | 
				
			||||||
      content,
 | 
					      content,
 | 
				
			||||||
    }))
 | 
					    })
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  pickFriend(id, user_id) {
 | 
					  pickFriend(data, user_id) {
 | 
				
			||||||
    const i = {
 | 
					    const i = {
 | 
				
			||||||
      ...Bot[id].fl.get(user_id),
 | 
					      ...Bot[data.self_id].fl.get(user_id),
 | 
				
			||||||
      self_id: id,
 | 
					      ...data,
 | 
				
			||||||
      bot: Bot[id],
 | 
					 | 
				
			||||||
      user_id: user_id.replace(/^gc_/, ""),
 | 
					      user_id: user_id.replace(/^gc_/, ""),
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    return {
 | 
					    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 = {
 | 
					    const i = {
 | 
				
			||||||
      ...Bot[id].fl.get(user_id),
 | 
					      ...Bot[data.self_id].fl.get(user_id),
 | 
				
			||||||
      self_id: id,
 | 
					      ...data,
 | 
				
			||||||
      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(id, user_id),
 | 
					      ...this.pickFriend(i, user_id),
 | 
				
			||||||
      ...i,
 | 
					      ...i,
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  pickGroup(id, group_id) {
 | 
					  pickGroup(data, group_id) {
 | 
				
			||||||
    const i = {
 | 
					    const i = {
 | 
				
			||||||
      ...Bot[id].gl.get(group_id),
 | 
					      ...Bot[data.self_id].gl.get(group_id),
 | 
				
			||||||
      self_id: id,
 | 
					      ...data,
 | 
				
			||||||
      bot: Bot[id],
 | 
					 | 
				
			||||||
      group_id: group_id.replace(/^gc_/, ""),
 | 
					      group_id: group_id.replace(/^gc_/, ""),
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    return {
 | 
					    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),
 | 
					      recallMsg: message_id => this.recallMsg(i, message_id => i.bot.API.message.delete(message_id), message_id),
 | 
				
			||||||
      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(id, group_id, user_id),
 | 
					      pickMember: user_id => this.pickMember(i, group_id, user_id),
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  makeBot(data, ws) {
 | 
					  makeBot(data) {
 | 
				
			||||||
    Bot[data.self_id] = {
 | 
					    Bot[data.self_id] = {
 | 
				
			||||||
      adapter: this,
 | 
					      adapter: this,
 | 
				
			||||||
      ws,
 | 
					      sendApi: data.sendApi,
 | 
				
			||||||
      uin: data.self_id,
 | 
					      uin: data.self_id,
 | 
				
			||||||
      bot_id: data.bot_id,
 | 
					      bot_id: data.bot_id,
 | 
				
			||||||
      bot_self_id: data.bot_self_id,
 | 
					      bot_self_id: data.bot_self_id,
 | 
				
			||||||
| 
						 | 
					@ -156,9 +159,9 @@ Bot.adapter.push(new class GSUIDCoreAdapter {
 | 
				
			||||||
        id: this.id,
 | 
					        id: this.id,
 | 
				
			||||||
        name: this.name,
 | 
					        name: this.name,
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      pickFriend: user_id => this.pickFriend(data.self_id, user_id),
 | 
					      pickFriend: user_id => this.pickFriend(data, user_id),
 | 
				
			||||||
      pickMember: (group_id, user_id) => this.pickMember(data.self_id, group_id, user_id),
 | 
					      pickMember: (group_id, user_id) => this.pickMember(data, group_id, user_id),
 | 
				
			||||||
      pickGroup: group_id => this.pickGroup(data.self_id, group_id),
 | 
					      pickGroup: group_id => this.pickGroup(data, group_id),
 | 
				
			||||||
      fl: new Map(),
 | 
					      fl: new Map(),
 | 
				
			||||||
      gl: new Map(),
 | 
					      gl: new Map(),
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
| 
						 | 
					@ -177,10 +180,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)
 | 
				
			||||||
    if (Bot[data.self_id])
 | 
					    if (Bot[data.self_id])
 | 
				
			||||||
      Bot[data.self_id].ws = ws
 | 
					      Bot[data.self_id].sendApi = data.sendApi
 | 
				
			||||||
    else
 | 
					    else
 | 
				
			||||||
      this.makeBot(data, ws)
 | 
					      this.makeBot(data)
 | 
				
			||||||
    data.bot = Bot[data.self_id]
 | 
					    data.bot = Bot[data.self_id]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    data.post_type = "message"
 | 
					    data.post_type = "message"
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue