-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
Problem
The following code to map proto to discordgo struct:
return &discordgo.Channel{
ID: buf.Id,
GuildID: buf.GuildId,
Name: buf.Name,
Topic: buf.Topic,
Type: discordgo.ChannelType(buf.Type),
LastMessageID: buf.LastMessageId,
LastPinTimestamp: util.PbTimestamp2AsTimePtr(buf.LastPinTimestamp),
MessageCount: int(buf.MessageCount),
MemberCount: int(buf.MemberCount),
NSFW: buf.Nsfw,
Icon: buf.Icon,
Position: int(buf.Position),
Bitrate: int(buf.Bitrate),
Recipients: recipients,
Messages: nil, // Getting Library Internal State
PermissionOverwrites: permissionOverwrites,
UserLimit: int(buf.UserLimit),
ParentID: buf.ParentId,
RateLimitPerUser: int(buf.RateLimitPerUser),
OwnerID: buf.OwnerId,
ApplicationID: buf.ApplicationId,
ThreadMetadata: &discordgo.ThreadMetadata{
Archived: buf.ThreadMetadata.Archived,
AutoArchiveDuration: int(buf.ThreadMetadata.AutoArchiveDuration),
ArchiveTimestamp: buf.ThreadMetadata.ArchiveTimestamp.AsTime(),
Locked: buf.ThreadMetadata.Locked,
Invitable: buf.ThreadMetadata.Invitable,
},
Member: &discordgo.ThreadMember{
ID: buf.Member.Id,
UserID: buf.Member.UserId,
JoinTimestamp: buf.Member.JoinTimestamp.AsTime(),
Flags: int(buf.Member.Flags),
Member: BufMemberToStruct(buf.Member.Member),
},
Members: nil, // Getting Library Internal State
Flags: discordgo.ChannelFlags(buf.Flags),
AvailableTags: availableTags,
AppliedTags: buf.AppliedTags,
DefaultReactionEmoji: discordgo.ForumDefaultReaction{
EmojiID: buf.DefaultReactionEmoji.EmojiId,
EmojiName: buf.DefaultReactionEmoji.EmojiName,
},
DefaultThreadRateLimitPerUser: int(buf.DefaultThreadRateLimitPerUser),
DefaultSortOrder: defaultSortOrder,
DefaultForumLayout: discordgo.ForumLayout(buf.DefaultForumLayout),
}In the struct above, Messages and Members are stored in the discordgo library's internal stateful storage,
and it's inappropriate to send all the data on every request.
Metadata
Metadata
Assignees
Labels
No labels