新增 ComWeChat 通知/请求事件
This commit is contained in:
		
							parent
							
								
									ab1b270c96
								
							
						
					
					
						commit
						276d27f24c
					
				| 
						 | 
					@ -385,6 +385,84 @@ Bot.adapter.push(new class ComWeChatAdapter {
 | 
				
			||||||
    Bot.emit(`${data.post_type}`, data)
 | 
					    Bot.emit(`${data.post_type}`, data)
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  makeNotice(data) {
 | 
				
			||||||
 | 
					    data.post_type = data.type
 | 
				
			||||||
 | 
					    if (data.group_id)
 | 
				
			||||||
 | 
					      data.notice_type = "group"
 | 
				
			||||||
 | 
					    else
 | 
				
			||||||
 | 
					      data.notice_type = "friend"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    switch (data.detail_type) {
 | 
				
			||||||
 | 
					      case "private_message_delete":
 | 
				
			||||||
 | 
					        logger.info(`${logger.blue(`[${data.self_id}]`)} 好友消息撤回:[${data.user_id}] ${data.message_id}`)
 | 
				
			||||||
 | 
					        data.sub_type = "recall"
 | 
				
			||||||
 | 
					        break
 | 
				
			||||||
 | 
					      case "group_message_delete":
 | 
				
			||||||
 | 
					        logger.info(`${logger.blue(`[${data.self_id}]`)} 群消息撤回:[${data.group_id}, ${data.operator_id}=>${data.user_id}] ${data.message_id}`)
 | 
				
			||||||
 | 
					        data.sub_type = "recall"
 | 
				
			||||||
 | 
					        break
 | 
				
			||||||
 | 
					      case "wx.get_private_file":
 | 
				
			||||||
 | 
					        logger.info(`${logger.blue(`[${data.self_id}]`)} 私聊文件:[${data.user_id}] ${data.file_name} ${data.file_length} ${data.md5}`)
 | 
				
			||||||
 | 
					        break
 | 
				
			||||||
 | 
					      case "wx.get_group_file":
 | 
				
			||||||
 | 
					        logger.info(`${logger.blue(`[${data.self_id}]`)} 群文件:[${data.group_id}, ${data.user_id}] ${data.file_name} ${data.file_length} ${data.md5}`)
 | 
				
			||||||
 | 
					        break
 | 
				
			||||||
 | 
					      case "wx.get_private_redbag":
 | 
				
			||||||
 | 
					        logger.info(`${logger.blue(`[${data.self_id}]`)} 好友红包:[${data.user_id}]`)
 | 
				
			||||||
 | 
					        break
 | 
				
			||||||
 | 
					      case "wx.get_group_redbag":
 | 
				
			||||||
 | 
					        logger.info(`${logger.blue(`[${data.self_id}]`)} 群红包:[${data.group_id}, ${data.user_id}]`)
 | 
				
			||||||
 | 
					        break
 | 
				
			||||||
 | 
					      case "wx.get_private_poke":
 | 
				
			||||||
 | 
					        data.operator_id = data.from_user_id
 | 
				
			||||||
 | 
					        data.target_id = data.user_id
 | 
				
			||||||
 | 
					        logger.info(`${logger.blue(`[${data.self_id}]`)} 好友拍一拍:[${data.operator_id}=>${data.target_id}]`)
 | 
				
			||||||
 | 
					        break
 | 
				
			||||||
 | 
					      case "wx.get_group_poke":
 | 
				
			||||||
 | 
					        data.operator_id = data.from_user_id
 | 
				
			||||||
 | 
					        data.target_id = data.user_id
 | 
				
			||||||
 | 
					        logger.info(`${logger.blue(`[${data.self_id}]`)} 群拍一拍:[${data.group_id}, ${data.operator_id}=>${data.target_id}]`)
 | 
				
			||||||
 | 
					        break
 | 
				
			||||||
 | 
					      case "wx.get_private_card":
 | 
				
			||||||
 | 
					        logger.info(`${logger.blue(`[${data.self_id}]`)} 好友用户名片:[${data.user_id}] ${data.v3} ${data.v4} ${data.nickname} ${data.head_url} ${data.province} ${data.city} ${data.sex}`)
 | 
				
			||||||
 | 
					        break
 | 
				
			||||||
 | 
					      case "wx.get_group_card":
 | 
				
			||||||
 | 
					        logger.info(`${logger.blue(`[${data.self_id}]`)} 群用户名片:[${data.group_id}, ${data.user_id}] ${data.v3} ${data.v4} ${data.nickname} ${data.head_url} ${data.province} ${data.city} ${data.sex}`)
 | 
				
			||||||
 | 
					        break
 | 
				
			||||||
 | 
					      default:
 | 
				
			||||||
 | 
					        logger.warn(`${logger.blue(`[${data.self_id}]`)} 未知通知:${logger.magenta(JSON.stringify(data))}`)
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    if (!data.sub_type)
 | 
				
			||||||
 | 
					      data.sub_type = data.detail_type.split("_").pop()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    Bot.emit(`${data.post_type}.${data.notice_type}.${data.sub_type}`, data)
 | 
				
			||||||
 | 
					    Bot.emit(`${data.post_type}.${data.notice_type}`, data)
 | 
				
			||||||
 | 
					    Bot.emit(`${data.post_type}`, data)
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  makeRequest(data) {
 | 
				
			||||||
 | 
					    data.post_type = data.type
 | 
				
			||||||
 | 
					    if (data.group_id)
 | 
				
			||||||
 | 
					      data.notice_type = "group"
 | 
				
			||||||
 | 
					    else
 | 
				
			||||||
 | 
					      data.notice_type = "friend"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    switch (data.detail_type) {
 | 
				
			||||||
 | 
					      case "wx.friend_request":
 | 
				
			||||||
 | 
					        logger.info(`${logger.blue(`[${data.self_id}]`)} 加好友请求:[${data.user_id}] ${data.v3} ${data.v4} ${data.nickname} ${data.content} ${data.province} ${data.city}`)
 | 
				
			||||||
 | 
					        data.sub_type = "add"
 | 
				
			||||||
 | 
					        break
 | 
				
			||||||
 | 
					      default:
 | 
				
			||||||
 | 
					        logger.warn(`${logger.blue(`[${data.self_id}]`)} 未知请求:${logger.magenta(JSON.stringify(data))}`)
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    if (!data.sub_type)
 | 
				
			||||||
 | 
					      data.sub_type = data.detail_type.split("_").pop()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    Bot.emit(`${data.post_type}.${data.request_type}.${data.sub_type}`, data)
 | 
				
			||||||
 | 
					    Bot.emit(`${data.post_type}.${data.request_type}`, data)
 | 
				
			||||||
 | 
					    Bot.emit(`${data.post_type}`, data)
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  makeMeta(data) {
 | 
					  makeMeta(data) {
 | 
				
			||||||
    switch (data.detail_type) {
 | 
					    switch (data.detail_type) {
 | 
				
			||||||
      case "heartbeat":
 | 
					      case "heartbeat":
 | 
				
			||||||
| 
						 | 
					@ -427,14 +505,12 @@ Bot.adapter.push(new class ComWeChatAdapter {
 | 
				
			||||||
        case "message":
 | 
					        case "message":
 | 
				
			||||||
          this.makeMessage(data)
 | 
					          this.makeMessage(data)
 | 
				
			||||||
          break
 | 
					          break
 | 
				
			||||||
/*
 | 
					 | 
				
			||||||
        case "notice":
 | 
					        case "notice":
 | 
				
			||||||
          this.makeNotice(data)
 | 
					          this.makeNotice(data)
 | 
				
			||||||
          break
 | 
					          break
 | 
				
			||||||
        case "request":
 | 
					        case "request":
 | 
				
			||||||
          this.makeRequest(data)
 | 
					          this.makeRequest(data)
 | 
				
			||||||
          break
 | 
					          break
 | 
				
			||||||
*/
 | 
					 | 
				
			||||||
        default:
 | 
					        default:
 | 
				
			||||||
          logger.warn(`${logger.blue(`[${data.self_id}]`)} 未知消息:${logger.magenta(JSON.stringify(data))}`)
 | 
					          logger.warn(`${logger.blue(`[${data.self_id}]`)} 未知消息:${logger.magenta(JSON.stringify(data))}`)
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -698,11 +698,11 @@ Bot.adapter.push(new class gocqhttpAdapter {
 | 
				
			||||||
          data.notice_type = "friend"
 | 
					          data.notice_type = "friend"
 | 
				
			||||||
        switch (data.sub_type) {
 | 
					        switch (data.sub_type) {
 | 
				
			||||||
          case "poke":
 | 
					          case "poke":
 | 
				
			||||||
            if (data.group_id)
 | 
					 | 
				
			||||||
              logger.info(`${logger.blue(`[${data.self_id}]`)} 群戳一戳:[${data.group_id}, ${data.user_id}=>${data.target_id}]`)
 | 
					 | 
				
			||||||
            else
 | 
					 | 
				
			||||||
              logger.info(`${logger.blue(`[${data.self_id}]`)} 好友戳一戳:[${data.user_id}=>${data.target_id}]`)
 | 
					 | 
				
			||||||
            data.operator_id = data.user_id
 | 
					            data.operator_id = data.user_id
 | 
				
			||||||
 | 
					            if (data.group_id)
 | 
				
			||||||
 | 
					              logger.info(`${logger.blue(`[${data.self_id}]`)} 群戳一戳:[${data.group_id}, ${data.operator_id}=>${data.target_id}]`)
 | 
				
			||||||
 | 
					            else
 | 
				
			||||||
 | 
					              logger.info(`${logger.blue(`[${data.self_id}]`)} 好友戳一戳:[${data.operator_id}=>${data.target_id}]`)
 | 
				
			||||||
            break
 | 
					            break
 | 
				
			||||||
          case "honor":
 | 
					          case "honor":
 | 
				
			||||||
            logger.info(`${logger.blue(`[${data.self_id}]`)} 群荣誉:[${data.group_id}, ${data.user_id}] ${data.honor_type}`)
 | 
					            logger.info(`${logger.blue(`[${data.self_id}]`)} 群荣誉:[${data.group_id}, ${data.user_id}] ${data.honor_type}`)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -18,12 +18,7 @@ export class status extends plugin {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  async status() {
 | 
					  async status() {
 | 
				
			||||||
    if (this.e.isMaster) return this.statusMaster()
 | 
					    if (this.e.isMaster) return this.statusMaster()
 | 
				
			||||||
 | 
					    if (!this.e.isGroup) return this.reply('请群聊查看')
 | 
				
			||||||
    if (!this.e.isGroup) {
 | 
					 | 
				
			||||||
      this.reply('请群聊查看')
 | 
					 | 
				
			||||||
      return
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    return this.statusGroup()
 | 
					    return this.statusGroup()
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -65,9 +60,7 @@ export class status extends plugin {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    this.key = 'Yz:count:'
 | 
					    this.key = 'Yz:count:'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (groupId) {
 | 
					    if (groupId) this.key += `group:${groupId}:`
 | 
				
			||||||
      this.key += `group:${groupId}:`
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    this.msgKey = {
 | 
					    this.msgKey = {
 | 
				
			||||||
      day: `${this.key}sendMsg:day:`,
 | 
					      day: `${this.key}sendMsg:day:`,
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue