change some fields to private
This commit is contained in:
parent
5f14a13c62
commit
326f200976
4
bot.go
4
bot.go
@ -223,9 +223,9 @@ func (b *Bot) WebInit() error {
|
||||
return err
|
||||
}
|
||||
// 设置当前的用户
|
||||
b.self = &Self{Bot: b, User: &resp.User}
|
||||
b.self = &Self{bot: b, User: &resp.User}
|
||||
b.self.formatEmoji()
|
||||
b.self.Self = b.self
|
||||
b.self.self = b.self
|
||||
b.Storage.Response = resp
|
||||
|
||||
// 通知手机客户端已经登录
|
||||
|
@ -278,7 +278,7 @@ func (c *Client) WebWxGetHeadImg(user *User) (*http.Response, error) {
|
||||
} else {
|
||||
params := url.Values{}
|
||||
params.Add("username", user.UserName)
|
||||
params.Add("skey", user.Self.Bot.Storage.Request.Skey)
|
||||
params.Add("skey", user.self.bot.Storage.Request.Skey)
|
||||
params.Add("type", "big")
|
||||
params.Add("chatroomid", user.EncryChatRoomId)
|
||||
params.Add("seq", "0")
|
||||
|
10
message.go
10
message.go
@ -71,7 +71,7 @@ func (m *Message) Sender() (*User, error) {
|
||||
user, exist := members.GetByUserName(m.FromUserName)
|
||||
if !exist {
|
||||
// 找不到, 从服务器获取
|
||||
user = &User{Self: m.bot.self, UserName: m.FromUserName}
|
||||
user = &User{self: m.bot.self, UserName: m.FromUserName}
|
||||
err = user.Detail()
|
||||
}
|
||||
if m.IsSendByGroup() && len(user.MemberList) == 0 {
|
||||
@ -629,13 +629,13 @@ type RevokeMsg struct {
|
||||
// SentMessage 已发送的信息
|
||||
type SentMessage struct {
|
||||
*SendMessage
|
||||
Self *Self
|
||||
self *Self
|
||||
MsgId string
|
||||
}
|
||||
|
||||
// Revoke 撤回该消息
|
||||
func (s *SentMessage) Revoke() error {
|
||||
return s.Self.RevokeMessage(s)
|
||||
return s.self.RevokeMessage(s)
|
||||
}
|
||||
|
||||
// CanRevoke 是否可以撤回该消息
|
||||
@ -657,7 +657,7 @@ func (s *SentMessage) ForwardToFriends(friends ...*Friend) error {
|
||||
|
||||
// ForwardToFriendsWithDelay 转发该消息给好友,延迟指定时间
|
||||
func (s *SentMessage) ForwardToFriendsWithDelay(delay time.Duration, friends ...*Friend) error {
|
||||
return s.Self.ForwardMessageToFriends(s, delay, friends...)
|
||||
return s.self.ForwardMessageToFriends(s, delay, friends...)
|
||||
}
|
||||
|
||||
// ForwardToGroups 转发该消息给群组
|
||||
@ -669,7 +669,7 @@ func (s *SentMessage) ForwardToGroups(groups ...*Group) error {
|
||||
|
||||
// ForwardToGroupsWithDelay 转发该消息给群组, 延迟指定时间
|
||||
func (s *SentMessage) ForwardToGroupsWithDelay(delay time.Duration, groups ...*Group) error {
|
||||
return s.Self.ForwardMessageToGroups(s, delay, groups...)
|
||||
return s.self.ForwardMessageToGroups(s, delay, groups...)
|
||||
}
|
||||
|
||||
type appmsg struct {
|
||||
|
46
relations.go
46
relations.go
@ -15,32 +15,32 @@ func (f Friend) String() string {
|
||||
|
||||
// SetRemarkName 重命名当前好友
|
||||
func (f *Friend) SetRemarkName(name string) error {
|
||||
return f.Self.SetRemarkNameToFriend(f, name)
|
||||
return f.self.SetRemarkNameToFriend(f, name)
|
||||
}
|
||||
|
||||
// SendText 发送文本消息
|
||||
func (f *Friend) SendText(content string) (*SentMessage, error) {
|
||||
return f.Self.SendTextToFriend(f, content)
|
||||
return f.self.SendTextToFriend(f, content)
|
||||
}
|
||||
|
||||
// SendImage 发送图片消息
|
||||
func (f *Friend) SendImage(file *os.File) (*SentMessage, error) {
|
||||
return f.Self.SendImageToFriend(f, file)
|
||||
return f.self.SendImageToFriend(f, file)
|
||||
}
|
||||
|
||||
// SendVideo 发送视频消息
|
||||
func (f *Friend) SendVideo(file *os.File) (*SentMessage, error) {
|
||||
return f.Self.SendVideoToFriend(f, file)
|
||||
return f.self.SendVideoToFriend(f, file)
|
||||
}
|
||||
|
||||
// SendFile 发送文件消息
|
||||
func (f *Friend) SendFile(file *os.File) (*SentMessage, error) {
|
||||
return f.Self.SendFileToFriend(f, file)
|
||||
return f.self.SendFileToFriend(f, file)
|
||||
}
|
||||
|
||||
// AddIntoGroup 拉该好友入群
|
||||
func (f *Friend) AddIntoGroup(groups ...*Group) error {
|
||||
return f.Self.AddFriendIntoManyGroups(f, groups...)
|
||||
return f.self.AddFriendIntoManyGroups(f, groups...)
|
||||
}
|
||||
|
||||
type Friends []*Friend
|
||||
@ -112,7 +112,7 @@ func (f Friends) SendText(text string, delays ...time.Duration) error {
|
||||
if len(delays) > 0 {
|
||||
delay = delays[0]
|
||||
}
|
||||
self := f.First().Self
|
||||
self := f.First().self
|
||||
return self.SendTextToFriends(text, delay, f...)
|
||||
}
|
||||
|
||||
@ -125,7 +125,7 @@ func (f Friends) SendImage(file *os.File, delays ...time.Duration) error {
|
||||
if len(delays) > 0 {
|
||||
delay = delays[0]
|
||||
}
|
||||
self := f.First().Self
|
||||
self := f.First().self
|
||||
return self.SendImageToFriends(file, delay, f...)
|
||||
}
|
||||
|
||||
@ -138,7 +138,7 @@ func (f Friends) SendFile(file *os.File, delay ...time.Duration) error {
|
||||
if len(delay) > 0 {
|
||||
d = delay[0]
|
||||
}
|
||||
self := f.First().Self
|
||||
self := f.First().self
|
||||
return self.SendFileToFriends(file, d, f...)
|
||||
}
|
||||
|
||||
@ -151,22 +151,22 @@ func (g Group) String() string {
|
||||
|
||||
// SendText 发行文本消息给当前的群组
|
||||
func (g *Group) SendText(content string) (*SentMessage, error) {
|
||||
return g.Self.SendTextToGroup(g, content)
|
||||
return g.self.SendTextToGroup(g, content)
|
||||
}
|
||||
|
||||
// SendImage 发行图片消息给当前的群组
|
||||
func (g *Group) SendImage(file *os.File) (*SentMessage, error) {
|
||||
return g.Self.SendImageToGroup(g, file)
|
||||
return g.self.SendImageToGroup(g, file)
|
||||
}
|
||||
|
||||
// SendVideo 发行视频消息给当前的群组
|
||||
func (g *Group) SendVideo(file *os.File) (*SentMessage, error) {
|
||||
return g.Self.SendVideoToGroup(g, file)
|
||||
return g.self.SendVideoToGroup(g, file)
|
||||
}
|
||||
|
||||
// SendFile 发送文件给当前的群组
|
||||
func (g *Group) SendFile(file *os.File) (*SentMessage, error) {
|
||||
return g.Self.SendFileToGroup(g, file)
|
||||
return g.self.SendFileToGroup(g, file)
|
||||
}
|
||||
|
||||
// Members 获取所有的群成员
|
||||
@ -174,25 +174,25 @@ func (g *Group) Members() (Members, error) {
|
||||
if err := g.Detail(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
g.MemberList.init(g.Self)
|
||||
g.MemberList.init(g.self)
|
||||
return g.MemberList, nil
|
||||
}
|
||||
|
||||
// AddFriendsIn 拉好友入群
|
||||
func (g *Group) AddFriendsIn(friends ...*Friend) error {
|
||||
return g.Self.AddFriendsIntoGroup(g, friends...)
|
||||
return g.self.AddFriendsIntoGroup(g, friends...)
|
||||
}
|
||||
|
||||
// RemoveMembers 从群聊中移除用户
|
||||
// Deprecated
|
||||
// 无论是网页版,还是程序上都不起作用
|
||||
func (g *Group) RemoveMembers(members Members) error {
|
||||
return g.Self.RemoveMemberFromGroup(g, members)
|
||||
return g.self.RemoveMemberFromGroup(g, members)
|
||||
}
|
||||
|
||||
// Rename 群组重命名
|
||||
func (g *Group) Rename(name string) error {
|
||||
return g.Self.RenameGroup(g, name)
|
||||
return g.self.RenameGroup(g, name)
|
||||
}
|
||||
|
||||
// SearchMemberByUsername 根据用户名查找群成员
|
||||
@ -249,7 +249,7 @@ func (g Groups) SendText(text string, delay ...time.Duration) error {
|
||||
if len(delay) > 0 {
|
||||
d = delay[0]
|
||||
}
|
||||
self := g.First().Self
|
||||
self := g.First().self
|
||||
return self.SendTextToGroups(text, d, g...)
|
||||
}
|
||||
|
||||
@ -262,7 +262,7 @@ func (g Groups) SendImage(file *os.File, delay ...time.Duration) error {
|
||||
if len(delay) > 0 {
|
||||
d = delay[0]
|
||||
}
|
||||
self := g.First().Self
|
||||
self := g.First().self
|
||||
return self.SendImageToGroups(file, d, g...)
|
||||
}
|
||||
|
||||
@ -275,7 +275,7 @@ func (g Groups) SendFile(file *os.File, delay ...time.Duration) error {
|
||||
if len(delay) > 0 {
|
||||
d = delay[0]
|
||||
}
|
||||
self := g.First().Self
|
||||
self := g.First().self
|
||||
return self.SendFileToGroups(file, d, g...)
|
||||
}
|
||||
|
||||
@ -381,17 +381,17 @@ func (m Mps) SearchByNickName(limit int, nickName string) (results Mps) {
|
||||
|
||||
// SendText 发送文本消息给公众号
|
||||
func (m *Mp) SendText(content string) (*SentMessage, error) {
|
||||
return m.Self.SendTextToMp(m, content)
|
||||
return m.self.SendTextToMp(m, content)
|
||||
}
|
||||
|
||||
// SendImage 发送图片消息给公众号
|
||||
func (m *Mp) SendImage(file *os.File) (*SentMessage, error) {
|
||||
return m.Self.SendImageToMp(m, file)
|
||||
return m.self.SendImageToMp(m, file)
|
||||
}
|
||||
|
||||
// SendFile 发送文件消息给公众号
|
||||
func (m *Mp) SendFile(file *os.File) (*SentMessage, error) {
|
||||
return m.Self.SendFileToMp(m, file)
|
||||
return m.self.SendFileToMp(m, file)
|
||||
}
|
||||
|
||||
// GetByUsername 根据username查询一个Friend
|
||||
|
121
user.go
121
user.go
@ -49,7 +49,7 @@ type User struct {
|
||||
|
||||
MemberList Members
|
||||
|
||||
Self *Self `json:"-"`
|
||||
self *Self
|
||||
}
|
||||
|
||||
// implement fmt.Stringer
|
||||
@ -60,7 +60,7 @@ func (u *User) String() string {
|
||||
// GetAvatarResponse 获取用户头像
|
||||
func (u *User) GetAvatarResponse() (resp *http.Response, err error) {
|
||||
for i := 0; i < 3; i++ {
|
||||
resp, err = u.Self.Bot.Caller.Client.WebWxGetHeadImg(u)
|
||||
resp, err = u.self.bot.Caller.Client.WebWxGetHeadImg(u)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -99,19 +99,19 @@ func (u *User) SaveAvatarWithWriter(writer io.Writer) error {
|
||||
|
||||
// Detail 获取用户的详情
|
||||
func (u *User) Detail() error {
|
||||
if u.UserName == u.Self.UserName {
|
||||
if u.UserName == u.self.UserName {
|
||||
return nil
|
||||
}
|
||||
members := Members{u}
|
||||
request := u.Self.Bot.Storage.Request
|
||||
newMembers, err := u.Self.Bot.Caller.WebWxBatchGetContact(members, request)
|
||||
request := u.self.bot.Storage.Request
|
||||
newMembers, err := u.self.bot.Caller.WebWxBatchGetContact(members, request)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
newMembers.init(u.Self)
|
||||
newMembers.init(u.self)
|
||||
user := newMembers.First()
|
||||
*u = *user
|
||||
u.MemberList.init(u.Self)
|
||||
u.MemberList.init(u.self)
|
||||
return nil
|
||||
}
|
||||
|
||||
@ -132,14 +132,14 @@ func (u *User) IsMP() bool {
|
||||
|
||||
// Pin 将联系人置顶
|
||||
func (u *User) Pin() error {
|
||||
req := u.Self.Bot.Storage.Request
|
||||
return u.Self.Bot.Caller.WebWxRelationPin(req, u, 1)
|
||||
req := u.self.bot.Storage.Request
|
||||
return u.self.bot.Caller.WebWxRelationPin(req, u, 1)
|
||||
}
|
||||
|
||||
// UnPin 将联系人取消置顶
|
||||
func (u *User) UnPin() error {
|
||||
req := u.Self.Bot.Storage.Request
|
||||
return u.Self.Bot.Caller.WebWxRelationPin(req, u, 0)
|
||||
req := u.self.bot.Storage.Request
|
||||
return u.self.bot.Caller.WebWxRelationPin(req, u, 0)
|
||||
}
|
||||
|
||||
// IsPin 判断当前联系人(好友、群组、公众号)是否为置顶状态
|
||||
@ -170,6 +170,16 @@ func (u *User) ID() string {
|
||||
return ""
|
||||
}
|
||||
|
||||
// Self 返回当前用户
|
||||
func (u *User) Self() *Self {
|
||||
return u.self
|
||||
}
|
||||
|
||||
// IsSelf 判断是否为当前用户
|
||||
func (u *User) IsSelf() bool {
|
||||
return u.UserName == u.Self().UserName
|
||||
}
|
||||
|
||||
// 格式化emoji表情
|
||||
func (u *User) formatEmoji() {
|
||||
u.NickName = FormatEmoji(u.NickName)
|
||||
@ -180,7 +190,7 @@ func (u *User) formatEmoji() {
|
||||
// Self 自己,当前登录用户对象
|
||||
type Self struct {
|
||||
*User
|
||||
Bot *Bot
|
||||
bot *Bot
|
||||
fileHelper *Friend
|
||||
members Members
|
||||
friends Friends
|
||||
@ -202,8 +212,8 @@ func (s *Self) Members(update ...bool) (Members, error) {
|
||||
|
||||
// 更新联系人处理
|
||||
func (s *Self) updateMembers() error {
|
||||
info := s.Bot.Storage.LoginInfo
|
||||
members, err := s.Bot.Caller.WebWxGetContact(info)
|
||||
info := s.bot.Storage.LoginInfo
|
||||
members, err := s.bot.Caller.WebWxGetContact(info)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -269,30 +279,30 @@ func (s *Self) sendTextToUser(user *User, text string) (*SentMessage, error) {
|
||||
msg := NewTextSendMessage(text, s.UserName, user.UserName)
|
||||
msg.FromUserName = s.UserName
|
||||
msg.ToUserName = user.UserName
|
||||
info := s.Bot.Storage.LoginInfo
|
||||
request := s.Bot.Storage.Request
|
||||
sentMessage, err := s.Bot.Caller.WebWxSendMsg(msg, info, request)
|
||||
info := s.bot.Storage.LoginInfo
|
||||
request := s.bot.Storage.Request
|
||||
sentMessage, err := s.bot.Caller.WebWxSendMsg(msg, info, request)
|
||||
return s.sendMessageWrapper(sentMessage, err)
|
||||
}
|
||||
|
||||
func (s *Self) sendImageToUser(user *User, file *os.File) (*SentMessage, error) {
|
||||
req := s.Bot.Storage.Request
|
||||
info := s.Bot.Storage.LoginInfo
|
||||
sentMessage, err := s.Bot.Caller.WebWxSendImageMsg(file, req, info, s.UserName, user.UserName)
|
||||
req := s.bot.Storage.Request
|
||||
info := s.bot.Storage.LoginInfo
|
||||
sentMessage, err := s.bot.Caller.WebWxSendImageMsg(file, req, info, s.UserName, user.UserName)
|
||||
return s.sendMessageWrapper(sentMessage, err)
|
||||
}
|
||||
|
||||
func (s *Self) sendVideoToUser(user *User, file *os.File) (*SentMessage, error) {
|
||||
req := s.Bot.Storage.Request
|
||||
info := s.Bot.Storage.LoginInfo
|
||||
sentMessage, err := s.Bot.Caller.WebWxSendVideoMsg(file, req, info, s.UserName, user.UserName)
|
||||
req := s.bot.Storage.Request
|
||||
info := s.bot.Storage.LoginInfo
|
||||
sentMessage, err := s.bot.Caller.WebWxSendVideoMsg(file, req, info, s.UserName, user.UserName)
|
||||
return s.sendMessageWrapper(sentMessage, err)
|
||||
}
|
||||
|
||||
func (s *Self) sendFileToUser(user *User, file *os.File) (*SentMessage, error) {
|
||||
req := s.Bot.Storage.Request
|
||||
info := s.Bot.Storage.LoginInfo
|
||||
sentMessage, err := s.Bot.Caller.WebWxSendFile(file, req, info, s.UserName, user.UserName)
|
||||
req := s.bot.Storage.Request
|
||||
info := s.bot.Storage.LoginInfo
|
||||
sentMessage, err := s.bot.Caller.WebWxSendFile(file, req, info, s.UserName, user.UserName)
|
||||
return s.sendMessageWrapper(sentMessage, err)
|
||||
}
|
||||
|
||||
@ -320,8 +330,8 @@ func (s *Self) SendFileToFriend(friend *Friend, file *os.File) (*SentMessage, er
|
||||
//
|
||||
// self.SetRemarkNameToFriend(friend, "remark") // or friend.SetRemarkName("remark")
|
||||
func (s *Self) SetRemarkNameToFriend(friend *Friend, remarkName string) error {
|
||||
req := s.Bot.Storage.Request
|
||||
return s.Bot.Caller.WebWxOplog(req, remarkName, friend.UserName)
|
||||
req := s.bot.Storage.Request
|
||||
return s.bot.Caller.WebWxOplog(req, remarkName, friend.UserName)
|
||||
}
|
||||
|
||||
// CreateGroup 创建群聊
|
||||
@ -331,13 +341,13 @@ func (s *Self) CreateGroup(topic string, friends ...*Friend) (*Group, error) {
|
||||
if len(friends) < 2 {
|
||||
return nil, errors.New("a group must be at least 2 members")
|
||||
}
|
||||
req := s.Bot.Storage.Request
|
||||
info := s.Bot.Storage.LoginInfo
|
||||
group, err := s.Bot.Caller.WebWxCreateChatRoom(req, info, topic, friends)
|
||||
req := s.bot.Storage.Request
|
||||
info := s.bot.Storage.LoginInfo
|
||||
group, err := s.bot.Caller.WebWxCreateChatRoom(req, info, topic, friends)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
group.Self = s
|
||||
group.self = s
|
||||
err = group.Detail()
|
||||
return group, err
|
||||
}
|
||||
@ -361,9 +371,9 @@ func (s *Self) AddFriendsIntoGroup(group *Group, friends ...*Friend) error {
|
||||
}
|
||||
}
|
||||
}
|
||||
req := s.Bot.Storage.Request
|
||||
info := s.Bot.Storage.LoginInfo
|
||||
return s.Bot.Caller.AddFriendIntoChatRoom(req, info, group, friends...)
|
||||
req := s.bot.Storage.Request
|
||||
info := s.bot.Storage.LoginInfo
|
||||
return s.bot.Caller.AddFriendIntoChatRoom(req, info, group, friends...)
|
||||
}
|
||||
|
||||
// RemoveMemberFromGroup 从群聊中移除用户
|
||||
@ -392,9 +402,9 @@ func (s *Self) RemoveMemberFromGroup(group *Group, members Members) error {
|
||||
if count != len(members) {
|
||||
return errors.New("invalid members")
|
||||
}
|
||||
req := s.Bot.Storage.Request
|
||||
info := s.Bot.Storage.LoginInfo
|
||||
return s.Bot.Caller.RemoveFriendFromChatRoom(req, info, group, members...)
|
||||
req := s.bot.Storage.Request
|
||||
info := s.bot.Storage.LoginInfo
|
||||
return s.bot.Caller.RemoveFriendFromChatRoom(req, info, group, members...)
|
||||
}
|
||||
|
||||
// AddFriendIntoManyGroups 拉好友进多个群聊
|
||||
@ -410,9 +420,9 @@ func (s *Self) AddFriendIntoManyGroups(friend *Friend, groups ...*Group) error {
|
||||
|
||||
// RenameGroup 群组重命名
|
||||
func (s *Self) RenameGroup(group *Group, newName string) error {
|
||||
req := s.Bot.Storage.Request
|
||||
info := s.Bot.Storage.LoginInfo
|
||||
return s.Bot.Caller.WebWxRenameChatRoom(req, info, newName, group)
|
||||
req := s.bot.Storage.Request
|
||||
info := s.bot.Storage.LoginInfo
|
||||
return s.bot.Caller.WebWxRenameChatRoom(req, info, newName, group)
|
||||
}
|
||||
|
||||
// SendTextToGroup 发送文本消息给群组
|
||||
@ -442,19 +452,19 @@ func (s *Self) SendFileToGroup(group *Group, file *os.File) (*SentMessage, error
|
||||
// self.RevokeMessage(sentMessage) // or sentMessage.Revoke()
|
||||
// }
|
||||
func (s *Self) RevokeMessage(msg *SentMessage) error {
|
||||
return s.Bot.Caller.WebWxRevokeMsg(msg, s.Bot.Storage.Request)
|
||||
return s.bot.Caller.WebWxRevokeMsg(msg, s.bot.Storage.Request)
|
||||
}
|
||||
|
||||
// 转发消息接口
|
||||
func (s *Self) forwardMessage(msg *SentMessage, delay time.Duration, users ...*User) error {
|
||||
info := s.Bot.Storage.LoginInfo
|
||||
req := s.Bot.Storage.Request
|
||||
info := s.bot.Storage.LoginInfo
|
||||
req := s.bot.Storage.Request
|
||||
switch msg.Type {
|
||||
case MsgTypeText:
|
||||
for _, user := range users {
|
||||
msg.FromUserName = s.UserName
|
||||
msg.ToUserName = user.UserName
|
||||
if _, err := s.Self.Bot.Caller.WebWxSendMsg(msg.SendMessage, info, req); err != nil {
|
||||
if _, err := s.self.bot.Caller.WebWxSendMsg(msg.SendMessage, info, req); err != nil {
|
||||
return err
|
||||
}
|
||||
time.Sleep(delay)
|
||||
@ -463,7 +473,7 @@ func (s *Self) forwardMessage(msg *SentMessage, delay time.Duration, users ...*U
|
||||
for _, user := range users {
|
||||
msg.FromUserName = s.UserName
|
||||
msg.ToUserName = user.UserName
|
||||
if _, err := s.Self.Bot.Caller.Client.WebWxSendMsgImg(msg.SendMessage, req, info); err != nil {
|
||||
if _, err := s.self.bot.Caller.Client.WebWxSendMsgImg(msg.SendMessage, req, info); err != nil {
|
||||
return err
|
||||
}
|
||||
time.Sleep(delay)
|
||||
@ -472,7 +482,7 @@ func (s *Self) forwardMessage(msg *SentMessage, delay time.Duration, users ...*U
|
||||
for _, user := range users {
|
||||
msg.FromUserName = s.UserName
|
||||
msg.ToUserName = user.UserName
|
||||
if _, err := s.Self.Bot.Caller.Client.WebWxSendAppMsg(msg.SendMessage, req); err != nil {
|
||||
if _, err := s.self.bot.Caller.Client.WebWxSendAppMsg(msg.SendMessage, req); err != nil {
|
||||
return err
|
||||
}
|
||||
time.Sleep(delay)
|
||||
@ -721,7 +731,7 @@ func (m Members) detail(self *Self) error {
|
||||
times = count / 50
|
||||
}
|
||||
var newMembers Members
|
||||
request := self.Bot.Storage.Request
|
||||
request := self.bot.Storage.Request
|
||||
var pMembers Members
|
||||
// 分情况依次更新
|
||||
for i := 1; i <= times; i++ {
|
||||
@ -730,7 +740,7 @@ func (m Members) detail(self *Self) error {
|
||||
} else {
|
||||
pMembers = members[(i-1)*50 : i*50]
|
||||
}
|
||||
nMembers, err := self.Bot.Caller.WebWxBatchGetContact(pMembers, request)
|
||||
nMembers, err := self.bot.Caller.WebWxBatchGetContact(pMembers, request)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -742,7 +752,7 @@ func (m Members) detail(self *Self) error {
|
||||
// 将全部剩余的更新完毕
|
||||
left := count - total
|
||||
pMembers = members[total : total+left]
|
||||
nMembers, err := self.Bot.Caller.WebWxBatchGetContact(pMembers, request)
|
||||
nMembers, err := self.bot.Caller.WebWxBatchGetContact(pMembers, request)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -757,13 +767,13 @@ func (m Members) detail(self *Self) error {
|
||||
|
||||
func (m Members) init(self *Self) {
|
||||
for _, member := range m {
|
||||
member.Self = self
|
||||
member.self = self
|
||||
member.formatEmoji()
|
||||
}
|
||||
}
|
||||
|
||||
func newFriend(username string, self *Self) *Friend {
|
||||
return &Friend{&User{UserName: username, Self: self}}
|
||||
return &Friend{&User{UserName: username, self: self}}
|
||||
}
|
||||
|
||||
// NewFriendHelper 创建一个文件传输助手
|
||||
@ -796,6 +806,11 @@ func (s *Self) sendMessageWrapper(message *SentMessage, err error) (*SentMessage
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
message.Self = s
|
||||
message.self = s
|
||||
return message, nil
|
||||
}
|
||||
|
||||
// Bot 获取当前用户的机器人
|
||||
func (s *Self) Bot() *Bot {
|
||||
return s.bot
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user