Skip to main content
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

  • Mute Members
  • Unmute Members
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

Implementing progressive moderation strategies
  • Use muting as an intermediate step before banning
  • Start with shorter mute durations and escalate for repeat offenses
  • Document clear escalation policies (warning → 5min mute → 1hr mute → ban)
  • Consider user history when determining mute duration
  • Provide clear communication about mute reasons and duration
Graduated moderation helps users understand boundaries while maintaining community safety.
Effective mute duration management
  • Use temporary mutes for first-time or minor infractions
  • Reserve indefinite mutes for serious or repeated violations
  • Implement automatic unmute notifications for transparency
  • Monitor mute effectiveness and adjust duration policies
Strategic duration management balances correction with user experience.
Clear mute communication practices
  • Always provide reasons for muting actions
  • Use constructive language that promotes understanding
  • Explain expected behavior changes during mute period
  • Provide information about when mute will be lifted
  • Offer channels for appeals or clarification
Transparent communication helps users learn from moderation actions.
Tracking mute effectiveness
  • Monitor user behavior after mute expiration
  • Track repeat offenses to identify problematic users
  • Analyze mute reasons to identify common issues
  • Regular review of muted users for potential early unmuting
  • Use analytics to optimize moderation policies
Continuous monitoring ensures mute policies remain effective and fair.
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.