From 06e40a940eab202f8c171f0a6187e62013e8f979 Mon Sep 17 00:00:00 2001 From: Mrs4s Date: Tue, 13 Oct 2020 21:05:09 +0800 Subject: [PATCH] feature: offline file event. --- coolq/bot.go | 1 + coolq/event.go | 20 ++++++++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/coolq/bot.go b/coolq/bot.go index 92258be..52219c3 100644 --- a/coolq/bot.go +++ b/coolq/bot.go @@ -61,6 +61,7 @@ func NewQQBot(cli *client.QQClient, conf *global.JsonConfig) *CQBot { bot.Client.OnGroupMessageRecalled(bot.groupRecallEvent) bot.Client.OnGroupNotify(bot.groupNotifyEvent) bot.Client.OnFriendMessageRecalled(bot.friendRecallEvent) + bot.Client.OnReceivedOfflineFile(bot.offlineFileEvent) bot.Client.OnJoinGroup(bot.joinGroupEvent) bot.Client.OnLeaveGroup(bot.leaveGroupEvent) bot.Client.OnGroupMemberJoined(bot.memberJoinEvent) diff --git a/coolq/event.go b/coolq/event.go index 3eb65ee..0ba56e6 100644 --- a/coolq/event.go +++ b/coolq/event.go @@ -278,6 +278,26 @@ func (bot *CQBot) friendRecallEvent(c *client.QQClient, e *client.FriendMessageR }) } +func (bot *CQBot) offlineFileEvent(c *client.QQClient, e *client.OfflineFileEvent) { + f := c.FindFriend(e.Sender) + if f == nil { + return + } + log.Infof("好友 %v(%v) 发送了离线文件 %v", f.Nickname, f.Uin, e.FileName) + bot.dispatchEventMessage(MSG{ + "post_type": "notice", + "notice_type": "offline_file", + "user_id": e.Sender, + "file": MSG{ + "name": e.FileName, + "size": e.FileSize, + "url": e.DownloadUrl, + }, + "self_id": c.Uin, + "time": time.Now().Unix(), + }) +} + func (bot *CQBot) joinGroupEvent(c *client.QQClient, group *client.GroupInfo) { log.Infof("Bot进入了群 %v.", formatGroupName(group)) bot.dispatchEventMessage(bot.groupIncrease(group.Code, 0, c.Uin))