--- a/libpurple/purpleconversationmembers.h Sat Mar 22 19:51:38 2025 -0500 +++ b/libpurple/purpleconversationmembers.h Tue Mar 25 00:21:37 2025 -0500 @@ -84,6 +84,23 @@ PurpleConversationMember *purple_conversation_members_add_member(PurpleConversationMembers *members, PurpleContactInfo *info, gboolean announce, const char *message); /** + * purple_conversation_members_extend: + * @members1: the instance + * @members2: (transfer full): the conversation members to add to the end + * + * Adds all of the members from one conversation members to the other. + * + * All members from @members2 will be added to @members1 and then be freed. + * + * This is usefull for protocol plugins when initially joining a chat or when + * there is a mass join event when federated servers reconnect. + * + * Since: 3.0 + */ +PURPLE_AVAILABLE_IN_3_0 +void purple_conversation_members_extend(PurpleConversationMembers *members1, PurpleConversationMembers *members2); + +/** * purple_conversation_members_find_member: * @members: The instance. * @info: A [class@ContactInfo instance]