XmtpElixirSdk.Groups
(xmtp_elixir_sdk v0.1.2)
Copy Markdown
Group membership, roles, permissions, and metadata.
Use this module once you already have a group conversation and need to manage it.
Common tasks:
- change group name, image, description, or app data
- inspect or update group permissions
- add or remove members
- promote or demote admins and super admins
- inspect group debug information and timestamps
Summary
Functions
@spec add_admin(XmtpElixirSdk.Conversation.t(), String.t()) :: {:ok, XmtpElixirSdk.Conversation.t()} | {:error, XmtpElixirSdk.Error.t()}
@spec add_members(XmtpElixirSdk.Conversation.t(), [String.t()]) :: {:ok, XmtpElixirSdk.Conversation.t()} | {:error, XmtpElixirSdk.Error.t()}
@spec add_members_by_identifiers(XmtpElixirSdk.Conversation.t(), [ XmtpElixirSdk.Types.Identifier.t() ]) :: {:ok, XmtpElixirSdk.Conversation.t()} | {:error, XmtpElixirSdk.Error.t()}
@spec add_super_admin(XmtpElixirSdk.Conversation.t(), String.t()) :: {:ok, XmtpElixirSdk.Conversation.t()} | {:error, XmtpElixirSdk.Error.t()}
@spec debug_info(XmtpElixirSdk.Conversation.t()) :: {:ok, XmtpElixirSdk.Types.ConversationDebugInfo.t()} | {:error, XmtpElixirSdk.Error.t()}
@spec hmac_keys(XmtpElixirSdk.Conversation.t()) :: {:ok, [XmtpElixirSdk.Types.HmacKeyEntry.t()]} | {:error, XmtpElixirSdk.Error.t()}
@spec is_admin(XmtpElixirSdk.Conversation.t(), String.t()) :: {:ok, boolean()} | {:error, XmtpElixirSdk.Error.t()}
@spec is_message_disappearing_enabled(XmtpElixirSdk.Conversation.t()) :: {:ok, boolean()} | {:error, XmtpElixirSdk.Error.t()}
@spec is_pending_removal(XmtpElixirSdk.Conversation.t()) :: {:ok, boolean()} | {:error, XmtpElixirSdk.Error.t()}
@spec is_super_admin(XmtpElixirSdk.Conversation.t(), String.t()) :: {:ok, boolean()} | {:error, XmtpElixirSdk.Error.t()}
@spec last_read_times(XmtpElixirSdk.Conversation.t()) :: {:ok, [XmtpElixirSdk.Types.LastReadTime.t()]} | {:error, XmtpElixirSdk.Error.t()}
@spec list_admins(XmtpElixirSdk.Conversation.t()) :: {:ok, [String.t()]} | {:error, XmtpElixirSdk.Error.t()}
@spec list_super_admins(XmtpElixirSdk.Conversation.t()) :: {:ok, [String.t()]} | {:error, XmtpElixirSdk.Error.t()}
@spec message_disappearing_settings(XmtpElixirSdk.Conversation.t()) :: {:ok, XmtpElixirSdk.Types.DisappearingSettings.t() | nil} | {:error, XmtpElixirSdk.Error.t()}
@spec paused_for_version(XmtpElixirSdk.Conversation.t()) :: {:ok, String.t() | nil} | {:error, XmtpElixirSdk.Error.t()}
@spec permissions(XmtpElixirSdk.Conversation.t()) :: {:ok, XmtpElixirSdk.Types.Permissions.t()} | {:error, XmtpElixirSdk.Error.t()}
@spec remove_admin(XmtpElixirSdk.Conversation.t(), String.t()) :: {:ok, XmtpElixirSdk.Conversation.t()} | {:error, XmtpElixirSdk.Error.t()}
@spec remove_members(XmtpElixirSdk.Conversation.t(), [String.t()]) :: {:ok, XmtpElixirSdk.Conversation.t()} | {:error, XmtpElixirSdk.Error.t()}
@spec remove_members_by_identifiers(XmtpElixirSdk.Conversation.t(), [ XmtpElixirSdk.Types.Identifier.t() ]) :: {:ok, XmtpElixirSdk.Conversation.t()} | {:error, XmtpElixirSdk.Error.t()}
@spec remove_message_disappearing_settings(XmtpElixirSdk.Conversation.t()) :: {:ok, XmtpElixirSdk.Conversation.t()} | {:error, XmtpElixirSdk.Error.t()}
@spec remove_super_admin(XmtpElixirSdk.Conversation.t(), String.t()) :: {:ok, XmtpElixirSdk.Conversation.t()} | {:error, XmtpElixirSdk.Error.t()}
@spec request_removal(XmtpElixirSdk.Conversation.t()) :: {:ok, XmtpElixirSdk.Conversation.t()} | {:error, XmtpElixirSdk.Error.t()}
@spec sync(XmtpElixirSdk.Conversation.t()) :: {:ok, XmtpElixirSdk.Conversation.t()} | {:error, XmtpElixirSdk.Error.t()}
@spec update_app_data(XmtpElixirSdk.Conversation.t(), String.t()) :: {:ok, XmtpElixirSdk.Conversation.t()} | {:error, XmtpElixirSdk.Error.t()}
@spec update_description(XmtpElixirSdk.Conversation.t(), String.t()) :: {:ok, XmtpElixirSdk.Conversation.t()} | {:error, XmtpElixirSdk.Error.t()}
@spec update_image_url(XmtpElixirSdk.Conversation.t(), String.t()) :: {:ok, XmtpElixirSdk.Conversation.t()} | {:error, XmtpElixirSdk.Error.t()}
@spec update_message_disappearing_settings( XmtpElixirSdk.Conversation.t(), non_neg_integer(), non_neg_integer() ) :: {:ok, XmtpElixirSdk.Conversation.t()} | {:error, XmtpElixirSdk.Error.t()}
@spec update_name(XmtpElixirSdk.Conversation.t(), String.t()) :: {:ok, XmtpElixirSdk.Conversation.t()} | {:error, XmtpElixirSdk.Error.t()}
@spec update_permission( XmtpElixirSdk.Conversation.t(), atom(), atom(), XmtpElixirSdk.Types.metadata_field() | nil ) :: {:ok, XmtpElixirSdk.Conversation.t()} | {:error, XmtpElixirSdk.Error.t()}