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.