mirror of
https://github.com/Mrs4s/MiraiGo.git
synced 2025-05-04 19:17:38 +08:00
ref: remove guild FindMember func & remove guild members cache
This commit is contained in:
parent
34bb74d1d1
commit
a2e7548a2b
@ -41,9 +41,9 @@ type (
|
||||
CoverUrl string
|
||||
AvatarUrl string
|
||||
Channels []*ChannelInfo
|
||||
Bots []*GuildMemberInfo
|
||||
Members []*GuildMemberInfo
|
||||
Admins []*GuildMemberInfo
|
||||
// Bots []*GuildMemberInfo
|
||||
// Members []*GuildMemberInfo
|
||||
// Admins []*GuildMemberInfo
|
||||
}
|
||||
|
||||
// GuildMeta 频道数据
|
||||
@ -145,25 +145,6 @@ func (s *GuildService) FindGuild(guildId uint64) *GuildInfo {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (g *GuildInfo) FindMember(tinyId uint64) *GuildMemberInfo {
|
||||
for i := 0; i < len(g.Members); i++ {
|
||||
if g.Members[i].TinyId == tinyId {
|
||||
return g.Members[i]
|
||||
}
|
||||
}
|
||||
for i := 0; i < len(g.Admins); i++ {
|
||||
if g.Admins[i].TinyId == tinyId {
|
||||
return g.Admins[i]
|
||||
}
|
||||
}
|
||||
for i := 0; i < len(g.Bots); i++ {
|
||||
if g.Bots[i].TinyId == tinyId {
|
||||
return g.Bots[i]
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (g *GuildInfo) FindChannel(channelId uint64) *ChannelInfo {
|
||||
for _, c := range g.Channels {
|
||||
if c.ChannelId == channelId {
|
||||
@ -785,7 +766,7 @@ func decodeGuildPushFirstView(c *QQClient, _ *incomingPacketInfo, payload []byte
|
||||
} else {
|
||||
info.Channels = channels
|
||||
}
|
||||
info.Bots, info.Members, info.Admins, _ = c.GuildService.GetGuildMembers(info.GuildId)
|
||||
// info.Bots, info.Members, info.Admins, _ = c.GuildService.GetGuildMembers(info.GuildId)
|
||||
c.GuildService.Guilds = append(c.GuildService.Guilds, info)
|
||||
}
|
||||
}
|
||||
|
@ -174,10 +174,12 @@ func (c *QQClient) processGuildEventBody(m *channel.ChannelMsgContent, eventBody
|
||||
NewChannelInfo: newInfo,
|
||||
})
|
||||
case eventBody.JoinGuild != nil:
|
||||
/* 应该不会重复推送把, 不会吧不会吧
|
||||
if mem := guild.FindMember(eventBody.JoinGuild.GetMemberTinyid()); mem != nil {
|
||||
c.Info("ignore join guild event: member %v already exists", mem.TinyId)
|
||||
return
|
||||
}
|
||||
*/
|
||||
profile, err := c.GuildService.GetGuildMemberProfileInfo(guild.GuildId, eventBody.JoinGuild.GetMemberTinyid())
|
||||
if err != nil {
|
||||
c.Error("error to decode member join guild event: get member profile error: %v", err)
|
||||
@ -187,7 +189,7 @@ func (c *QQClient) processGuildEventBody(m *channel.ChannelMsgContent, eventBody
|
||||
TinyId: profile.TinyId,
|
||||
Nickname: profile.Nickname,
|
||||
}
|
||||
guild.Members = append(guild.Members, info)
|
||||
// guild.Members = append(guild.Members, info)
|
||||
c.dispatchMemberJoinedGuildEvent(&MemberJoinGuildEvent{
|
||||
Guild: guild,
|
||||
Member: info,
|
||||
|
Loading…
x
Reference in New Issue
Block a user