Skip to main content

Moderation Actions

Use code moderation actions only for commands that are restricted to trusted roles. For normal automated moderation, use the dashboard moderation rules.

Single-Viewer Actions​

Timeout Viewer​

Times out one viewer from Kick chat.

API reference

moderation.timeout

moderation.timeout(username, minutes)
Input
username
string

Kick username.

minutes
number

Timeout duration in minutes.

Output
boolean

True when the timeout request completed.

Timeout viewerAdvanced Script
moderation.timeout("JohnKicklet", 1);
async.messages.send("Viewer timed out.");

Ban Viewer​

Bans one viewer from Kick chat.

API reference

moderation.ban

moderation.ban(username)
Input
username
string

Kick username.

Output
boolean

True when the ban request completed.

Ban viewerAdvanced Script
moderation.ban("JohnKicklet");
async.messages.send("Viewer banned.");

Clear Chat​

Clears the Kick chat.

API reference

moderation.clearChat

moderation.clearChat()
Input

This helper does not take input parameters.

Output
boolean

True when the clear request completed.

Clear chatAdvanced Script
moderation.clearChat();

Bulk Actions​

Bulk actions target viewers who recently sent a matching message. Use excludedRoles to protect trusted roles and similarity when near-matches should count.

Ban Matching Messages​

Bans viewers who recently sent a matching message.

API reference

moderation.banAll

moderation.banAll(message, options?)
Input
message
string

Message text to match.

optionsoptional
object

Optional similarity and excludedRoles settings.

Output
number

Number of affected viewers.

Ban matching messagesAdvanced Script
const amount = moderation.banAll("spam text");
async.messages.send(`Banned ${amount} viewers.`);
Ban with exclusions and similarityAdvanced Script
const amount = moderation.banAll("spam text", {
similarity: 40,
excludedRoles: ["vip", "og"],
});
async.messages.send(`Banned ${amount} viewers.`);

Timeout Matching Messages​

Times out viewers who recently sent a matching message.

API reference

moderation.timeoutAll

moderation.timeoutAll(message, minutes, options?)
Input
message
string

Message text to match.

minutes
number

Timeout duration in minutes.

optionsoptional
object

Optional similarity and excludedRoles settings.

Output
number

Number of affected viewers.

Timeout matching messagesAdvanced Script
const amount = moderation.timeoutAll("spam text", 2, {
similarity: 40,
excludedRoles: ["vip", "og"],
});
async.messages.send(`Timed out ${amount} viewers.`);

Async Moderation Actions​

Async wrapper for moderation.ban(username).

API reference

async.moderation.ban

async.moderation.ban(username)
Input
username
string

Kick username.

Output
boolean

True when the ban request completed.

Async wrapper for moderation.timeout(username, minutes).

API reference

async.moderation.timeout

async.moderation.timeout(username, minutes)
Input
username
string

Kick username.

minutes
number

Timeout duration in minutes.

Output
boolean

True when the timeout request completed.

Async wrapper for moderation.clearChat().

API reference

async.moderation.clearChat

async.moderation.clearChat()
Input

This helper does not take input parameters.

Output
boolean

True when the clear request completed.

Async wrapper for moderation.banAll(message, options?).

API reference

async.moderation.banAll

async.moderation.banAll(message, options?)
Input
message
string

Message text to match.

optionsoptional
object

Optional similarity and excludedRoles settings.

Output
number

Number of affected viewers.

Async wrapper for moderation.timeoutAll(message, minutes, options?).

API reference

async.moderation.timeoutAll

async.moderation.timeoutAll(message, minutes, options?)
Input
message
string

Message text to match.

minutes
number

Timeout duration in minutes.

optionsoptional
object

Optional similarity and excludedRoles settings.

Output
number

Number of affected viewers.