Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
411 changes: 411 additions & 0 deletions src/features/community.rs

Large diffs are not rendered by default.

16 changes: 16 additions & 0 deletions src/features/groups.rs
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,14 @@ pub struct GroupMetadata {
pub member_link_mode: Option<MemberLinkMode>,
/// Total participant count.
pub size: Option<u32>,
/// Whether this group is a community parent group.
pub is_parent_group: bool,
/// JID of the parent community (for subgroups).
pub parent_group_jid: Option<Jid>,
/// Whether this is the default announcement subgroup of a community.
pub is_default_sub_group: bool,
/// Whether this is the general chat subgroup of a community.
pub is_general_chat: bool,
}

#[derive(Debug, Clone)]
Expand Down Expand Up @@ -87,6 +95,10 @@ impl GroupMetadata {
member_add_mode: group.member_add_mode,
member_link_mode: group.member_link_mode,
size: group.size,
is_parent_group: group.is_parent_group,
parent_group_jid: group.parent_group_jid,
is_default_sub_group: group.is_default_sub_group,
is_general_chat: group.is_general_chat,
}
}
}
Expand Down Expand Up @@ -390,6 +402,10 @@ mod tests {
member_add_mode: None,
member_link_mode: None,
size: None,
is_parent_group: false,
parent_group_jid: None,
is_default_sub_group: false,
is_general_chat: false,
};

assert_eq!(metadata.subject, "Test Group");
Expand Down
6 changes: 6 additions & 0 deletions src/features/mod.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
mod blocking;
pub(crate) mod chat_actions;
mod chatstate;
mod community;
mod contacts;
mod groups;
mod mex;
Expand All @@ -14,6 +15,11 @@ pub use blocking::{Blocking, BlocklistEntry};

pub use chat_actions::ChatActions;

pub use community::{
Community, CommunitySubgroup, CreateCommunityOptions, CreateCommunityResult, GroupType,
LinkSubgroupsResult, UnlinkSubgroupsResult, group_type,
};

pub use chatstate::{ChatStateType, Chatstate};

pub use contacts::{ContactInfo, Contacts, IsOnWhatsAppResult, ProfilePicture, UserInfo};
Expand Down
9 changes: 5 additions & 4 deletions src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -46,14 +46,15 @@ pub mod usync;

pub mod features;
pub use features::{
Blocking, BlocklistEntry, ChatActions, ChatStateType, Chatstate, ContactInfo, Contacts,
CreateGroupResult, GroupCreateOptions, GroupDescription, GroupMetadata, GroupParticipant,
GroupParticipantOptions, GroupSubject, Groups, IsOnWhatsAppResult, MemberAddMode,
Blocking, BlocklistEntry, ChatActions, ChatStateType, Chatstate, Community, CommunitySubgroup,
ContactInfo, Contacts, CreateCommunityOptions, CreateCommunityResult, CreateGroupResult,
GroupCreateOptions, GroupDescription, GroupMetadata, GroupParticipant, GroupParticipantOptions,
GroupSubject, GroupType, Groups, IsOnWhatsAppResult, LinkSubgroupsResult, MemberAddMode,
MemberLinkMode, MembershipApprovalMode, Mex, MexError, MexErrorExtensions, MexRequest,
MexResponse, Newsletter, NewsletterMessage, NewsletterMetadata, NewsletterReactionCount,
NewsletterRole, NewsletterState, NewsletterVerification, ParticipantChangeResponse, Presence,
PresenceError, PresenceStatus, Profile, ProfilePicture, SetProfilePictureResponse, Status,
StatusPrivacySetting, StatusSendOptions, TcToken, UserInfo,
StatusPrivacySetting, StatusSendOptions, TcToken, UnlinkSubgroupsResult, UserInfo, group_type,
};

pub mod bot;
Expand Down
Loading
Loading