From 0af4b51d93b3dc566e19eb4c03fe98fb076b670b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=9A=E5=90=83=E7=82=B9=E8=8B=B9=E6=9E=9C?= <73388495+eatmoreapple@users.noreply.github.com> Date: Thu, 12 Jan 2023 18:24:14 +0800 Subject: [PATCH] =?UTF-8?q?[feat]:=20=E6=B7=BB=E5=8A=A0=20User=20=E8=BD=AC?= =?UTF-8?q?=E6=8D=A2=E5=87=BD=E6=95=B0=20(#199)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- user.go | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/user.go b/user.go index 1a0309b..0347c74 100644 --- a/user.go +++ b/user.go @@ -130,16 +130,40 @@ func (u *User) IsFriend() bool { return !u.IsGroup() && strings.HasPrefix(u.UserName, "@") && u.VerifyFlag == 0 } +// AsFriend 将当前用户转换为好友类型 +func (u *User) AsFriend() (*Friend, bool) { + if u.IsFriend() { + return &Friend{User: u}, true + } + return nil, false +} + // IsGroup 判断是否为群组 func (u *User) IsGroup() bool { return strings.HasPrefix(u.UserName, "@@") && u.VerifyFlag == 0 } +// AsGroup 将当前用户转换为群组类型 +func (u *User) AsGroup() (*Group, bool) { + if u.IsGroup() { + return &Group{User: u}, true + } + return nil, false +} + // IsMP 判断是否为公众号 func (u *User) IsMP() bool { return u.VerifyFlag == 8 || u.VerifyFlag == 24 || u.VerifyFlag == 136 } +// AsMP 将当前用户转换为公众号类型 +func (u *User) AsMP() (*Mp, bool) { + if u.IsMP() { + return &Mp{User: u}, true + } + return nil, false +} + // Pin 将联系人置顶 func (u *User) Pin() error { req := u.self.bot.Storage.Request