细节优化
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