Key Benefit: Provide graduated moderation by restricting messaging while preserving channel access, offering a less severe alternative to banning for managing disruptive behavior.

Feature Overview

Mute Management allows moderators to restrict users’ ability to send messages while preserving their ability to read and observe channel conversations. This provides a measured response to disruptive behavior without completely removing users from the community.

Mute Members

Restrict messaging privileges
  • Silence disruptive users
  • Maintain read-only access
  • Set temporary restrictions
  • Graduated moderation approach

Unmute Members

Restore messaging privileges
  • Reinstate messaging rights
  • End temporary restrictions
  • Reward improved behavior
  • Flexible moderation management
Channel Type Limitation: Mute functionality is not applicable to Broadcast and Conversation channels. Calling mute operations on these channel types will result in an error.

Mute System Concepts

Understanding the mute system helps implement effective graduated moderation:
ConceptDescriptionDuration Options
Channel MuteUser restricted from sending messagesTemporary or indefinite
Read-Only AccessUser can observe but not participateMaintains channel visibility
Mute DurationTime-based restriction periodMinutes, hours, days, or permanent
Auto-UnmuteAutomatic restoration after timeoutSystem-managed expiration
Mute Characteristics:
  • Muted users can still read all channel messages
  • Messages sent by muted users are rejected by the system
  • Mute status is channel-specific (not global)
  • Mutes can be temporary with automatic expiration or indefinite
  • Only users with moderation permissions can mute/unmute members

Implementation Guide

Restrict messaging privileges for disruptive usersApply temporary or permanent messaging restrictions while maintaining users’ ability to observe channel conversations.

Core Operations

MethodPurposeWhen to Use
muteMembersRestrict user messagingManaging disruptive behavior
getMutedMembersList muted usersReviewing mute status

Code Examples

let channelModeration = AmityChannelModeration(client: client, andChannel: "<channel-id>")

do {
let ismuted = try await channelModeration.muteMembers(["<user-id>"], mutePeriod: 600)
} catch {
// Handle error here
}
Duration Management: The timeout parameter allows for temporary or permanent muting. Pass -1 for indefinite muting, or specify time in seconds/minutes for temporary restrictions.

Best Practices

Implementation Strategy: Start with basic mute/unmute functionality, then add duration management and confirmation flows. Implement comprehensive logging and analytics for understanding moderation effectiveness. Consider integrating with your broader community guidelines and escalation policies.