ModLiveControl
LEARN MODLIVECONTROL

From your first canvas to a team-run stream.

Set up OBS, organize your canvas, invite your mods and create your own widgets. Choose a section or search for the tool you need.

Documented tools

See what each tool does and how to set it up for your channel.

What is ModLiveControl

ModLiveControl is a web panel for preparing and controlling what appears on your stream. You and your team can place images, videos, sounds, text and widgets on a shared canvas. OBS displays the result through a Browser source. Your moderators work in their browsers without accessing your desktop.

The dashboard lists your panels. The control panel is the editor for an individual overlay. The OBS link displays the stream output. These are three different views: share the editing link with your authorized team and use the output link in your streaming software.

Use the panel tools or install Community designs. To create your own, its editor supports HTML, CSS, JavaScript, data and configurable fields. This guide distinguishes panel features from options that depend on your browser or external services.

Back to contents ↑

Your first overlay

1. Sign in and open the dashboard. Link the channel account you want to use. Select New overlay, give it a recognizable name, then choose the channel and resolution. A name such as “Main stream” helps distinguish it from test panels.

2. Open Control on that overlay’s card. Add text or an image and place it inside the canvas. Select the element to see its properties. Test this workflow with a simple canvas before adding many assets.

3. Copy its OBS link and add it as a Browser source. Use the width and height specified for that overlay. Check that the same element appears. Then invite a moderator and verify that their changes reach the correct output.

Back to contents ↑

Account, channels and dashboard

Your ModLiveControl account identifies who has access. Linked Twitch or Kick accounts identify the channels and connections you use. Signing in does not automatically grant all reward permissions for a platform: authorize that connection from the relevant tool.

My overlays shows your panels and the invited tab lists those available to you as a collaborator. Authorized staff may see an additional tab. Each card opens its own panel. Settings lets you change your display name, language and linked accounts. Community opens inside the control panel.

Check your subscription for storage and overlay limits. Before deleting an account, separately review any active external subscription. Deleting a profile, unlinking a channel and cancelling a subscription are different actions.

Back to contents ↑

Once signed in, the home page header shows DASHBOARD, including on mobile. Open it to access your overlays. After creating one, the guide includes a close button and an arrow indicating more steps below; you can reopen the OBS guide from the dashboard.

Connect to OBS

In OBS, go to Sources, select + and choose Browser. Paste the overlay output link, not the control panel address. Match its width and height to the panel resolution. Place it above your game or camera; the order in OBS also determines what appears in front.

Do not confuse Browser source dimensions with its displayed size in a scene. If the canvas is 1920 × 1080, creating the source at another resolution can crop the result. Standalone tool links may use their own dimensions: follow the dimensions specified by that tool.

To manage audio in OBS, check the option to control audio through OBS and inspect the mixer. Monitoring determines what you hear; output determines what is broadcast. Avoid capturing the same sound twice through desktop audio and the source.

Back to contents ↑

The control panel also has Copy overlay in its top bar. It copies the complete overlay URL for the OBS browser source. The button displays Copied and is disabled briefly to confirm the action. This is neither the editor access link nor an individual layer source.

Canvas and properties

The canvas represents the projection area. Select an element to move it and view its properties. Controls depend on its type: text has different options from audio, an image or a remote camera. If properties are missing, first check which layer is selected.

Fit view centers the workspace. Preview zoom makes editing more comfortable; it does not itself resize the broadcast source. To change what viewers see, adjust the element’s size or position.

Pan moves the workspace even when your pointer is over an element. Return to Select to manipulate a layer. Use clear names to identify transparent elements or those that do not have content yet.

Back to contents ↑

Layers, groups and locks

The overlay uses a single canvas. Organize elements in Layers and group those belonging to the same composition. Drag to reorder and check which items sit in front or behind. A covered layer may still be running even when you cannot see it.

The eye controls visibility and the lock protects against accidental changes. Hiding, locking, removing from the canvas and deleting a library file are different actions. Removing a layer is not the same as freeing stored file space.

When cleaning up, check whether the operation affects the canvas or the library and whether it includes pinned items. Keep original files you may want to reuse. The Universal alerts gallery is managed from its own dialog.

Prepare changes without changing the live layout

The panel uses one canvas and a layer list. Select Pause live changes before rearranging a composition during a broadcast. The overlay keeps the layout from the start of preparation while you move, add, resize or remove multiple layers in the editor.

When finished, review the whole composition and choose Apply all to display it. Discard restores the previous layout. This pause prepares the layout; it is not the Song Request pause button and does not disconnect account events.

Check the preparation status before editing in another tab or sharing work with a moderator. If another person finishes preparation, review the new status before continuing. Avoid having two editors apply different compositions at once.

Back to contents

Reserved areas and organization

Add a reserved area to mark the camera, game or other content you compose in OBS. It appears in Layers and can be selected, moved and resized like another element. Edits are saved as you work; you do not need to recreate the area each time.

A reserved area is an editor layout reference. It does not capture your camera or replace an OBS source. Use clear names such as Camera or Game to identify what belongs there, then place the actual sources in OBS.

Group related layers and give them a recognizable name. Check both group and element order: an opaque image in front may cover a working widget. Lock correctly positioned items to avoid moving them accidentally.

Back to contents

Shortcuts and cropping

Drag corners to preserve aspect ratio. Hold Shift for free resizing and Alt to crop. Ctrl disables snapping during manipulation. Space or the middle mouse button lets you pan. These shortcuts are intended for a computer with a keyboard and mouse.

Delete removes selected elements; when typing in a field, keys should act on that field. Check your selection before deleting. To hide information in a capture, prepare the crop and verify actual output before displaying it publicly: zooming the editor view does not change capture.

Back to contents ↑

Team and permissions

Open Team and permissions and add the moderator’s Twitch or Kick account. You can grant whole categories or adjust individual permissions. The person must sign in with the authorized account: having the link does not grant editing access.

Several collaborators can work in one panel. Agree who controls layers, audio and assets to avoid conflicting changes to the same element. Changes arrive through the panel connection; an expired session or removed permission can prevent saving.

To revoke access, remove the person in Team and permissions. You can also disable specific permissions without removing all their access. Do not share your password. If an action is blocked, check the account and its permissions.

Back to contents ↑

Images, GIFs, videos and text

Upload file adds assets to place on the canvas. Images and GIFs work for labels, reactions and visual elements. Text lets you prepare messages without creating an image. Adjust size, position and order in the editor and check readability at broadcast resolution.

An extension does not guarantee video playback. An MKV can contain different codecs: accepting its upload does not mean every browser and OBS can decode it. Test a short section before going live and keep the original in case conversion is needed.

If an asset does not appear, check that the upload completed, its layer is visible and it is inside the canvas. A 403 upload error indicates an access rejection; simply changing the file extension does not correct that permission.

Back to contents ↑

Library and cleanup

Removing an asset from the canvas does not always delete it from the library: reuse it without uploading again. A file can be used in several layers. Review its uses before permanent deletion and separately retain originals you do not want to lose.

Unused assets can become eligible for cleanup after 24 hours, based on usage and retention flags. Keeping an asset and locking a layer are different mechanisms. Checks depend on the available cleanup process; do not assume it runs with all pages closed.

Purging the library is broader than clearing the canvas. Check whether pinned items will be preserved. Physical deletion in uploads depends on the server response: a failure must not be reported as complete deletion. Deleting an overlay from the dashboard uses a different process; this guide does not modify hosting cleanup.

Back to contents ↑

Drawings and recordings

Draw opens the drawing tools. Prepare your drawing, review its size and save it as an asset. Use a name that distinguishes it from previous versions or drawings made by other moderators. Opening the menu does not mean the drawing is saved.

Record voice uses the microphone authorized by the browser. Start capture, stop recording and wait for saving before closing. A recording that has not finished uploading is not ready for other collaborators. Test the saved asset, not only what you hear while recording.

Back to contents ↑

Audio and master volume

Element controls manage playback and voice settings when available. Master volume provides overall panel control. Also check source volume in OBS: lowering the panel does not resolve a duplicated audio route in the mixer.

If duration shows 0:00 or an invalid value, check that the complete file loads. This does not prove the microphone is broken. If only one person hears audio, compare OBS output, local monitoring and playback permissions. Use headphones while diagnosing to avoid feedback.

Back to contents ↑

Universal alerts: setup and display

Open Universal alerts in the toolbar. Enable alerts and connect the platforms you want to use. Each platform groups its event types; choose one to customize its design, text, sound and animation. Disable individual events you do not want to show.

Add to canvas creates an alert layer inside the complete overlay. Position it visibly, check its size and test that same overlay URL in OBS. You can also copy the individual URL for a dedicated browser source. Choose one output to avoid playing the same sound twice.

The editor preview helps you adjust appearance. Test saved settings in OBS checks the live output using saved configuration. Save before checking changes there and keep the correct source visible: editing a preview does not change an OBS source using another overlay.

Events depend on each platform connection and permissions. A manual test confirms playback but does not prove that a provider is sending real events. Check Connections and Activity to distinguish reception problems from picture or sound problems.

Back to contents

Connect Twitch, Kick, YouTube and TikTok

In Alerts, open Connections and use the relevant platform button. Authorize the correct account, then return to the panel to check its status. Signing in to ModLiveControl, linking a profile account and granting event permissions serve different purposes. If permissions are missing, authorize again from that connection.

For the platform used to create the overlay, use that same channel. Universal alerts can add your account from another platform, such as Kick to a Twitch overlay. Video rewards keep their own original-channel requirements and permissions.

YouTube uses Google authorization. Some features require live streaming to be enabled and a broadcast chat to be available. Public subscribers are checked periodically; not all users make subscriptions public. Connecting does not generate a historical alert for every previous subscriber.

TikTok uses the bridge connection shown in the panel. Copy your own overlay URL and secret into the event forwarding tool, following the Connections instructions. Do not use another user’s details or publish the secret. Configuring the bridge does not replace keeping the receiving and forwarding tool running.

Back to contents

Alert design, gallery and trimming

Select the event before editing. Adjust layout, media size, spacing, colors, typography, duration and animations. Templates support variables such as {name} and, where relevant, {amount}. For example, {name} sent x{amount} bits retains the actual name and amount without entering them manually.

Select the filename or gallery icon to choose included media or upload your own. The link icon accepts a direct HTTPS media URL. Remove media detaches it from the design; deleting an upload in the gallery deletes the stored resource and may affect other alerts using it.

For audio and supported videos, open Trim. Adjust the selection edges visually and preview the chosen portion before confirming. Check start and end times when precision matters. Trimming chooses the portion played; it does not turn a webpage link into a compatible media file.

The preview remains visible to make editing easier. After changing options, allow a few seconds for the test to restart once you finish moving the controls. Use Replay to inspect the start again. Check duration, notification volume and speech separately to identify which part needs adjustment.

Back to contents

Minimums, cooldowns and variations

The minimum amount determines when a real alert is displayed. For bits, set a minimum to avoid small-amount notifications; for raids, the minimum refers to viewers. Renewals can have a minimum month count, and Twitch subscriptions can be filtered by tier where available.

Follow cooldowns apply per user and platform. If someone follows, unfollows and follows again within the interval, they do not generate the same notification again. Another person can trigger their alert immediately. No limit disables this protection.

In Variations, add a condition and choose Edit to customize its appearance. Exactly can create an alert for 777 bits; At least sets a threshold. Exact matches take priority, and the last match wins when equivalent conditions overlap. If none matches, the base design is used.

Tests and manual replays do not apply reception minimums the same way as new events. Verify both rule values and an eligible real event. Keep the alert minimum separate from the TTS minimum: one controls whether the alert appears, while the other controls whether the message is spoken.

Back to contents

Alert speech and activity

Text to speech is available for events that support messages. Enable Read the message aloud and choose a voice. System voices depend on what is installed on the playback device; availability in your browser does not guarantee availability in another OBS installation.

Piper voices are free and download their model on first use in that browser or source. Prepare and test speech before streaming. Speech follows the notification sound; adjust its independent volume and test the full sequence, including the test message.

Minimum amount to read only limits speech. Spam protection reduces repetition and removes links depending on the level. Suppress repeat messages prevents the same text from the same person being read again during the configured interval. Include message template also reads the alert template before the viewer’s message.

In Activity, review received events and use Replay to send an alert again. Check its name, amount and message before replaying it live. Replaying is a new action on a saved event; you do not need to wait for another follow or donation to test that output.

Resetting settings replaces customization with the initial values for the scope shown in the confirmation dialog. Check that scope before accepting and keep a separate copy of templates or designs you want to reuse.

Back to contents

Start a remote source

A Remote source receives a camera or screen from another device. Adding it only creates the place where the image will appear: you must still open the preview, choose a device and start broadcasting. Creating a source and sending content are separate steps.

1. Choose camera or screen. 2. Allow capture or select a window or tab. 3. Review the image. 4. Press Start streaming. 5. Check the panel layer and OBS output. Keep the sending device’s page open.

Closing the preview and stopping transmission are different actions. Use Stop to finish. The source’s own OBS link displays it separately; check it if you do not want output to depend on placement within the main canvas. Use distinct names for multiple cameras.

Back to contents ↑

Mobile camera and orientation

Open the panel on your phone and use a camera source. Allow camera and, where relevant, microphone access. Select an available camera or use Flip camera. Hardware zoom and additional lenses depend on what the device exposes to the browser.

When switching between portrait and landscape, review framing. Preserving aspect ratio may leave empty space; filling can crop edges. Camera zoom changes framing, while editor zoom magnifies the workspace view. If playback becomes choppy, lower resolution or frame rate and check upload connectivity.

Avoid opening several captures of the same camera while diagnosing a busy device. Switching apps or locking the phone can interrupt capture. Test for a few minutes using the device combination you will actually use live.

Back to contents ↑

Screen sharing and its audio

The browser provides screen selection. Choose between an entire screen, a window or a tab: they expose different content. To include sound, enable the available option in the picker. Requesting audio in the panel does not force the browser to offer system audio.

When sharing a supported tab, check its audio checkbox. Some operating system, browser and capture combinations do not support that audio. Phone screen sharing depends on actual support; working camera capture does not guarantee screen capture.

Configure cropping and verify what OBS receives before broadcasting. If starting with audio fails, note the exact message and try the same selection without audio to separate the two problems. This helps diagnosis but cannot enable an unsupported feature.

Back to contents ↑

Chat, filters and badges

Add the chat widget and configure the channel it should read. Set font, colors and position for the final resolution. Text that is readable in a zoomed editor may be small when viewers watch on a phone.

Ignored users excludes accounts. Inclusion filters let you dedicate chat to specific people or available roles, such as moderators or VIPs. Decide whether to show everyone, exclude some people or allow only a group. An overly strict filter can leave chat empty.

Avatars, badges and emotes depend on provider data and connected services. If text arrives but a badge is missing, check that asset load separately. Do not confuse stream preview chat with the widget installed on the canvas; test the widget’s OBS output.

Back to contents ↑

Wheel, polls and counters

The wheel lets you prepare options and show a choice. Review labels before spinning and test its sound with master volume. Polls present choices to viewers; configure available conditions before opening participation.

Clocks, timers and counters display information without creating a separate video. Choose the widget type, configure its properties and place it in a readable area. Distinguish a manual counter, which you change yourself, from a tool connected to chat events.

Back to contents ↑

In Interactions, prepare rules that trigger a wheel, poll or goal through the available triggers. Configure the event or command, its options and its time on screen. Saving and testing are separate actions: test the animation, then save the configuration you intend to use.

Goals can use supported progress sources, such as bits or subscriptions, depending on platform and connection. Check the unit, target and current value so viewers understand what is being counted. Temporary display shows an interaction when triggered without permanently covering the screen.

Video rewards

Connect the channel with the reward permissions requested by the tool. Check the connected account before creating or editing a reward: it must be the channel that authorized that connection. Creating an overlay for a channel does not replace authorization.

Configure title, cost, instructions and maximum duration. Where available, Twitch cooldown applies to the channel reward. Review allowed video platforms per reward to restrict accepted content. Use Test before offering it publicly and verify video, sound and status.

Automatic acceptance removes manual approval when configured; it does not bypass provider restrictions. If you cancel or playback fails, check the refund status. Returning points requires the provider to accept redemption cancellation; hiding the player is not enough.

Back to contents ↑

Song Request: queue, pause and permissions

Open Song Request and choose a playback mode before accepting requests. The web player and Spotify use different services: a Spotify link is not a YouTube video. Check the sources supported by the selected mode and configure restrictions before streaming.

Choose who can request songs using the available roles. Combine allowed roles to admit, for example, subscribers and VIPs. Also check duration, duplicate and cooldown limits. Permission to request songs is separate from permission to manage or skip the queue.

Use the queue to see what is playing and what is pending. Pausing keeps requests; adding a song is not a playback command. When the queue is stopped, use Play or !songs play from an authorized account. Check the Paused status before treating silence as a failure.

Add the output you need to the canvas and check its audio in OBS. Avoid keeping two playback sources for the same overlay. If a particular song fails, test another and check whether external playback is allowed; increasing volume does not fix provider restrictions.

Back to contents

Spotify: connect your own app

In Song Request, open Your Spotify app. Each user configures their own credentials. In the Spotify developer Dashboard, create or select an app, then copy its Client ID and Client Secret into the panel fields. Save the configuration before selecting Connect Spotify.

Copy the exact redirect URL shown in the panel into your Spotify app settings. Its protocol, domain, path and any trailing slash must match. Do not substitute the overlay or control panel URL for that address.

Authorize the account you will use for playback. Development mode conditions, allowed users and playback features depend on Spotify. If your app requires listed test users, add your account in its settings. Playback may require an eligible account and an active Spotify device.

After authorization, return to Song Request and check the connection status. Reconnect if you change app credentials or revoke permissions. The Client Secret is private: do not include it in screenshots, Community posts or support messages.

Back to contents

Open the Spotify developer Dashboard

ModLiveControl chatbot

The bot posts as ModLiveControl in your Twitch chat. The broadcaster authorizes their channel in the dashboard; those permissions are reused by the panel. Moderators using commands do not need to authorize their own channels. The site administrator connects the official bot account once.

Open Chatbot → Settings to enable the bot, choose its reply language and prefix, and grant ModLiveControl moderator access. Bot language is independent from the interface language. If new permissions are needed, Administration asks you to reconnect the official account. No new Twitch application is needed.

Commands shows 165 built-in commands with aliases, usage, permissions and cooldowns. More rows appear automatically as you scroll. Search by name, alias or function; use the pencil to edit. Switches enable or disable commands. The public /commands/channel-name page reflects saved settings and actual triggers.

Moderators and lead moderators can use moderation commands. Disable, enable, part and changing the channel prefix are broadcaster-only. The verified ModLiveControl owner has global commands through their linked personal ID. Names, staff roles and ownership of another channel do not grant global access.

Back to contents ↑

Create commands and aliases

Create command lets you set a name, up to 15 aliases, a reply, access, command and user cooldowns, and live-only, offline-only or always availability. Each panel supports up to 100 custom commands, with replies up to 400 characters before substitution. Final replies are limited to 450 characters.

Choose Follow channel prefix, Use own prefix or No prefix. With a channel prefix of ¿, a fixed ?hello responds only to ?hello. An unprefixed command responds to hello as a complete first word. Changing the channel prefix never changes fixed prefixes. Aliases share the command’s prefix mode, permissions and cooldown.

From chat: ¿addcom hello Hi {user} creates unprefixed hello. ¿addcom ?greeting Hi {user} creates fixed ?greeting. ¿editcom hello New reply keeps its settings. ¿delcom hello deletes the custom command. ¿aliascom hello welcome adds an unprefixed alias; ¿unaliascom hello welcome removes it. These commands require moderator access and respect the edited command’s permissions.

You can also edit built-in command aliases and prefixes. Trigger collisions are rejected before saving. Custom commands receive no automatically added emotes. Fields accept spaces normally, and the panel shows saving, completion and error feedback.

Clip and shoutout accept custom replies. In clip use {clip}, {clipid} or {url}; for example: Save that moment! {clip}. In shoutout use {target} and {url}. Leave the reply empty to keep the original. Editing its text does not remove clip creation or the native shoutout action.

Back to contents ↑

Reply variables

Variables & help contains 83 variables. Copy them or insert them from the editor. {user}, {args}, {arg1}…{arg9}, {title}, {game}, {count} and {randomchatter} produce varied replies from the same template. Simple $(user) syntax is also recognized; JavaScript, eval and arbitrary URL fetching are not executed.

Only external data needed by the reply is requested. Title and live data use a 30-second cache; followers and subscriptions use 2 minutes. {count} increases once per execution even if used several times. Dates use UTC. Local activity and counters cover only what ModLiveControl observed; they are not presented as Twitch’s complete history.

Browse all 83 variables
VariableMeaning
{user}Sender login
{userid}Sender Twitch ID
{displayname}Sender display name
{mention}Sender @mention
{channel}Channel login
{channelid}Channel ID
{channelname}Channel display name
{args}Text after command
{query}Same as args
{prefix}This command’s prefix
{globalprefix}Channel-wide prefix
{command}Full primary trigger
{alias}Name or alias used
{commands}Public commands page
{bot}ModLiveControl name
{language}Reply language es/en
{userurl}Sender channel URL
{channelurl}Channel URL
{chaturl}Channel chat URL
{subscribeurl}Subscribe URL
{target}First argument or sender
{targeturl}First argument channel URL
{argcount}Argument count
{lastarg}Last argument
{upper}Uppercase arguments
{lower}Lowercase arguments
{urlencode}URL-encoded arguments
{length}Argument character count
{date}UTC date
{time}UTC time
{datetime}UTC date and time
{timestamp}Unix seconds
{year}UTC year
{month}UTC month
{day}UTC day
{hour}UTC hour
{minute}UTC minute
{second}UTC second
{weekday}Weekday 1=Monday
{timezone}UTC timezone
{tacos}Taco balance
{level}Local level
{messages}Sender local message count
{channelmessages}Channel local message count
{knownusers}Retained participants
{activechatters}Senders in past 5 minutes
{activity}Activity state
{activityreason}Activity reason
{activitytime}Time in state
{accountfirstseen}First recorded local activity
{commandcooldown}Command cooldown in seconds
{usercooldown}User cooldown in seconds
{random}Random number 0–100
{dice}Random number 1–6
{coin}Heads or tails
{randomcolor}Random hex color
{botuptime}Time since bot activation
{title}Current title; 30 s cache
{game}Current category; 30 s cache
{gameid}Category ID
{channellanguage}Broadcast language
{viewers}Current viewers
{islive}Live true/false
{uptime}Stream uptime
{streamid}Stream ID
{startedat}Stream start date
{followers}Followers; 2 min cache
{subscribers}Active subscribers; 2 min cache
{subpoints}Subscriber points; 2 min cache
{randomchatter}Random sender in past 5 minutes
{count}Times this counter executed
{clip}Clip URL; clip reply only
{clipid}Clip ID; clip reply only
{url}Generated URL; clip or shoutout
{arg1}Argument 1
{arg2}Argument 2
{arg3}Argument 3
{arg4}Argument 4
{arg5}Argument 5
{arg6}Argument 6
{arg7}Argument 7
{arg8}Argument 8
{arg9}Argument 9
Back to contents ↑

History, activity and emotes

RL / randomline, firstseen, lastseen, countline and countlinechannel query Zonian by default. Choose IVR or a local sample under Settings. The complete provider archive is not downloaded. Twitch /clear clears the chat window and no longer invalidates the entire historical archive.

Optout still excludes a user; an observed individual deletion prevents reposting that line. Unavailable random selections are retried up to three times. Providers may not cover a channel, fail, or retain messages deleted before the bot connected. Failures are reported; history is not invented.

AFK, brb, food, sleep, work, study, shower, lurk, gaming, coding and exercise keep a reason and start time. Your next message ends the absence. Rafk restores the state and original start within ten minutes of returning; back returns manually. Status checks a state.

7tv, bttv, ffz and esearch search emotes by name. Emotecount counts channel emotes by provider. Allemotes and 7tvemotes/bttvemotes/ffzemotes split them into messages up to 480 characters without splitting names. Lists are paced within Twitch limits rather than sent all at once. One pending list per channel, up to 250 messages or 128 KiB, and a ten-minute lookup cache. Failed providers are named.

Emote list commands can be enabled or disabled. Spam repeats text 1 to 5 times; fill repeats text within one message. Both require moderation and have a five-minute default cooldown. They do not execute chained commands. Twitch limits still apply when the owner bypasses local cooldowns.

Back to contents ↑

Moderation, games and tools

Clear deletes chat as ModLiveControl. So / shoutout uses Twitch’s native shoutout and shares the channel; if Twitch rejects it, the bot shows the link and reason. The bot needs moderator access and the required scopes. Twitch requires the sender to be live with viewers and enforces its own shoutout limits.

Title and game show current values without arguments; with text, moderators and lead moderators can change them. Settitle and setgame remain available. Category matching ignores punctuation, such as Project P.I.T.T. Similar matches are ranked using queried live audiences; an exact ID is also accepted.

Vanish requests a one-second self timeout and explains why moderators or the broadcaster cannot receive it. Slow, followersmode, emoteonly, subonly and uniquechat change chat modes as ModLiveControl, with matching commands to disable them. Announce posts an official announcement.

Tacos can add, subtract or leave the balance unchanged, without making it negative. Gamble accepts an amount, percentage or all: 25% win and 75% loss. Cooldownreset costs 7 tacos to claim again and can be purchased once every 30 minutes. It charges nothing if claiming was already available. Tacos are internal points with no monetary value.

Dictionary looks up definitions; epicgames opens a store search; randomnumber picks within a range; countdown calculates time until a date. Lower, upper, length, reverse, countwords and urlencode work with text. Followage and accountage display years, months, weeks, days, hours, minutes and seconds as applicable.

Back to contents ↑

Reward notices and management

Video messages are edited only in Video rewards → Bot notices. Change the language and text for received, cooldown, available and refunded notices. Received and available notices are off for new configurations; existing channel choices are preserved.

Notices identify the reward by name. Cooldown cancellations include the refund reason and remaining time in readable units. Videos also shows availability per reward. Templates support {user}, {reward}, {duration}, {seconds} and {reason}.

Automatically complete is enabled by default in reward settings. Turn it off to leave successfully played redemptions pending in Twitch/Kick so the broadcaster can complete or refund them there. A pending redemption does not replay. Failures and cancellations always request refunds. Changing this option does not change already finished redemptions.

Up to 500 played redemptions awaiting a manual decision are retained; at that limit, new redemptions are canceled and refunded until older ones are resolved. The server checks five manual decisions per minute. Offline channels may refund or wait according to your setting; OBS playback does not require a connected moderator.

Back to contents ↑

Gemini, administration and data

Ask needs a Gemini key. Create chatbot-integrations.php beside staff-config.php outside public_html, or inside the configured private_dir. It must return a PHP array with gemini → enabled: true and api_key. Remove the .example extension. If both locations exist, private_dir takes priority. Administration shows the detected location and whether enabling, a key or a file correction is needed.

Ask sends only the question to Google, not chat history, Twitch keys or account data. Defaults allow 100 global requests per day, 20 per channel, one per user per minute and one globally every 12 seconds. Google applies its own quotas; free-tier models and availability depend on the project. There is no automatic fallback to a paid model.

Administration links the owner’s personal ID, connects ModLiveControl and resumes the bot. Stop pauses global replies; restart resumes and renews connections. Load, unload and reload control already installed commands. They do not download code or restart the hosting server. The owner can toggle command cooldown bypass; AI, messaging and external service quotas still apply.

Data lives outside public_html in private_dir/chatbot/. Each panel has an ID_OF_PANEL.json file. customCommands stores replies and options; commandSettings stores built-in overrides, aliases, prefixes and cooldowns. Writes use locking and atomic replacement. These are JSON data, not PHP code blocks.

The same file includes operational state and statistics. To reset commands only, keep a backup and remove only customCommands, commandSettings and commandUses; do it with the bot paused to avoid simultaneous writes. Do not delete _official.json if you want to keep the official connection. Watchtime uses separate files and rewards live in private_dir/video-rewards/.

Back to contents ↑

Browse and install Community

Community is inside the control panel. Browse shared widgets and overlays, search by name and filter by category. The catalog loads in batches so browsing many designs does not mean running every widget on your computer.

Open a listing and review its description, version and images. Preview it before adding to the canvas. Then adjust configurable fields and check panel output. A presentation image is not a functional test; use the design with your own values.

Ratings let you express an opinion without public comments: an account keeps one vote and can change it. Sorting and featured listings help discovery. Usage counts do not replace checking whether a widget suits your resolution and needs.

Back to contents ↑

Favorites is a catalog filter. Return to All to show every category and change sorting to explore recent or highly rated items. Select your current vote again to remove it, or the opposite vote to change it.

Create widgets: HTML, CSS and JavaScript

Open the Community editor and start blank or with an example. HTML defines structure, CSS presentation and JavaScript behavior. Begin with visible text and simple styling: errors are easier to spot before adding animations and events.

Test inside the panel. If using events, use the editor’s available tests. Do not publish merely because no error appears: check that content renders, responds to settings and fits the chosen size. Also test empty input and long text.

The widget runs isolated from the panel. Use the editor’s supported interface; do not assume access to accounts, credentials or the parent document. Avoid unbounded loops, unnecessary downloads and large assets. A lightweight design is easier to run alongside a game and OBS.

Back to contents ↑

Data, fields and languages

Data stores values and fields describe what installers can customize. Expose a title and a color, for example, instead of requiring CSS editing. Use clear names and defaults that display something when tested.

Validate blocks using the format expected by the editor. JSON does not support comments or trailing commas. Change one field at a time and check that the widget uses the value: displaying a setting does not make code apply it automatically.

Panel language and design content are different. Add the variants you need and review titles, buttons and examples in each. Do not mix languages in one label. Changing language should preserve user-selected values.

Back to contents ↑

Publish, review and update

Prepare title, category, description, version and images. Explain what the design does, what needs configuring and which services it needs. Choose Other when no category fits. Your channel link is optional. Images should represent the version you are submitting.

Submit for review and check status in your publications. Staff can accept or reject a submission; submitting does not automatically make it a public recommendation. Before updating, change the version, explain differences and test default and customized values.

Keep a code copy before major changes. Review options before replacing or withdrawing a version others use. Publication review does not replace testing different resolutions or remove external service limitations.

Back to contents ↑

To change an existing post, use its edit action in My posts. Check that you are editing that post before submitting; creating a new one has a different result. Creator profiles and collections help you find other designs by the same author and share selections.

Production and markers

Production groups tools for organizing the stream, including markers. Mark moments you want to find later and add context so another moderator knows what happened. A marker references a moment; it is not a video or a stream recording.

Check the list before clearing it. If several people handle production, agree on names to avoid duplicates. Stream preview lets you follow the broadcast while editing. Close it when not needed to avoid extra playback and free workspace.

Back to contents ↑

Use the panel on mobile

Mobile navigation separates canvas, tools, layers and properties. Select a layer and open Properties to edit without displaying every desktop column. Use landscape if you need more space to review a camera.

The keyboard can cover the canvas. Close it before checking final framing and use Fit view to recenter. Capture features depend on the browser. For operations needing Alt or Ctrl, use available controls or a computer with a keyboard.

Back to contents ↑

Keep your setup lightweight

Use the assets you actually need. A large library should not mean playing all its videos. Check duplicate sources, cameras open in several tabs, large GIFs and unused previews. Start with a simple canvas as a performance baseline.

If upload bandwidth is limited, lower camera quality or frame rate before adding more viewers. In custom widgets, cancel unnecessary timers and listeners. Test control, OBS and remote devices together: a browser-only test does not verify OBS output.

Back to contents ↑

Save, test and close settings

Within a dialog, switching tabs lets you continue configuring the widget. Check the pending changes indicator and save when finished. Testing previews a result and does not always save configuration: distinguish a local preview from a test that sends content live.

When closing offers Save, Discard and Cancel, Save keeps edits, Discard returns to saved values and Cancel keeps the dialog open. If saving fails, keep the editor open until resolved; refreshing the page may lose changes that have not been saved.

Check the final result in the OBS source as well as the panel. The browser may have different voices, audio permissions or sessions. Before streaming, test a complete alert, a song request and any interaction your audience will use.

Back to contents

Troubleshoot and get help

I cannot save: check the panel and authorized account. If permission_denied appears, retain the error path and the action you were performing. Repeated dragging does not restore permissions and can fill the console with the same failure.

Blank remote source: check whether the sender started broadcasting and whether the session exists. Then inspect connection and received tracks. A failure before connection is not fixed by changing size or volume. If an asset is behind another, first inspect layers.

When requesting help, include browser, device, steps, expected result and exact message. A status screenshot is more useful than a huge list of extension errors. Do not include passwords, private keys or session tokens. Keep original assets before cleanup operations.

Back to contents ↑

ModLive Voz: receiving and moderating audio

Open ModLive Voz from your panel. Review your channel rules and share the public link shown in the setup section. That page lets your community record or submit audio; it does not grant access to panel controls.

Add the source to the canvas to show voices in your full overlay. The individual OBS link is an alternative for a separate source. The canvas placement guide only helps position the content: viewers do not see it.

In Inbox, review received messages, play them and replay earlier ones. Favorites and Archive help keep them organized. Listen before approving; enabling automatic playback lets content submitted by others reach your stream.

Manage team permissions in Team and permissions. For someone who will only moderate voices, create a ModLive Voz invitation for their account and platform. They must sign in with the specified account; do not share your private panel link.

Audio uses your panel storage even though it does not appear in Library. Check the usage and limit shown in ModLive Voz and use its cleanup option to free space. Paid submissions require completing the payment setup shown in the tool before you announce that you accept payments.

Clocks and countdowns

Choose the widget type for what you want to show: a counter, stopwatch, timer or clock. In Properties, adjust its title, size, style and background. The background can be transparent; you do not need a box covering your stream.

For a duration, enter hours, minutes and seconds. For a countdown to an event, choose the target date and time and check its time zone. The date limit is 20 years. Use start, pause and reset to check how it works before going live.

Language, navigation and help

The language selector in the header keeps your choice between pages. On tool introduction pages, it also changes the localized URL. The interface supports Spanish, English, German, French, Portuguese and Russian; platform names, commands and user-written text are not automatically translated.

The interface language and Chatbot replies are separate settings. Check the reply language inside Chatbot before enabling it. Command and variable descriptions use your website language; tool translations are downloaded by language and reused during the session.

Use Support on public pages to open the help chat on the home page. Explain which tool failed, what you did and what message appeared. You can attach a screenshot; avoid passwords, app secrets and private panel links.