diff --git a/plugins/adapter/ComWeChat.js b/plugins/adapter/ComWeChat.js index 02f4952..1af15e7 100644 --- a/plugins/adapter/ComWeChat.js +++ b/plugins/adapter/ComWeChat.js @@ -385,6 +385,84 @@ Bot.adapter.push(new class ComWeChatAdapter { 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) { switch (data.detail_type) { case "heartbeat": @@ -427,14 +505,12 @@ Bot.adapter.push(new class ComWeChatAdapter { case "message": this.makeMessage(data) break -/* case "notice": this.makeNotice(data) break case "request": this.makeRequest(data) break -*/ default: logger.warn(`${logger.blue(`[${data.self_id}]`)} 未知消息:${logger.magenta(JSON.stringify(data))}`) } diff --git a/plugins/adapter/go-cqhttp.js b/plugins/adapter/go-cqhttp.js index 1b9387d..0d01044 100644 --- a/plugins/adapter/go-cqhttp.js +++ b/plugins/adapter/go-cqhttp.js @@ -698,11 +698,11 @@ Bot.adapter.push(new class gocqhttpAdapter { data.notice_type = "friend" switch (data.sub_type) { 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 + 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 case "honor": logger.info(`${logger.blue(`[${data.self_id}]`)} 群荣誉:[${data.group_id}, ${data.user_id}] ${data.honor_type}`) diff --git a/plugins/system/status.js b/plugins/system/status.js index 1ae96c4..a8b9a41 100644 --- a/plugins/system/status.js +++ b/plugins/system/status.js @@ -2,7 +2,7 @@ import cfg from '../../lib/config/config.js' import moment from 'moment' export class status extends plugin { - constructor () { + constructor() { super({ name: '其他功能', dsc: '#状态', @@ -16,18 +16,13 @@ export class status extends plugin { }) } - async status () { + async status() { if (this.e.isMaster) return this.statusMaster() - - if (!this.e.isGroup) { - this.reply('请群聊查看') - return - } - + if (!this.e.isGroup) return this.reply('请群聊查看') return this.statusGroup() } - async statusMaster () { + async statusMaster() { let runTime = moment().diff(moment.unix(this.e.bot.stat.start_time), 'seconds') let Day = Math.floor(runTime / 3600 / 24) let Hour = Math.floor((runTime / 3600) % 24) @@ -52,22 +47,20 @@ export class status extends plugin { await this.reply(msg) } - async statusGroup () { + async statusGroup() { let msg = '-------状态-------' msg += await this.getCount(this.e.group_id) await this.reply(msg) } - async getCount (groupId = '') { + async getCount(groupId = '') { this.date = moment().format('MMDD') this.month = Number(moment().month()) + 1 this.key = 'Yz:count:' - if (groupId) { - this.key += `group:${groupId}:` - } + if (groupId) this.key += `group:${groupId}:` this.msgKey = { day: `${this.key}sendMsg:day:`,