Commands

docs.catquery.com

← Docs

Add the Bot

The bot is likely listening in your channel already. Add the bot as a moderator to use commands.

/mod 8f623f8b4ee4e7e1c12e6698a

Command Flags

▼

Commands support the following global flags (permission required, not granted by default):

-s Silent mode - suppresses command response messages
-me Selfbot mode - sends the message as the selfbot instead of the bot

Some commands may also support their own specific flags (e.g., -reverse, -loop). Check individual command documentation for details.

Command Piping

▼

Commands can be piped together to chain operations (permission required, not granted by default). Use the | character to separate commands. Output from each command becomes available for substitution in subsequent commands.

command1 | command2
Chain commands together. Output is not automatically passed; use {0}, {1}, etc. to reference previous outputs
{0}, {1}, {2}
Reference the 1st, 2nd, 3rd word from the immediate previous command's output
{1+}
All words from position 1 onwards from the immediate previous output
{^0}, {^1+}
Reference parent command's output (the command before the previous one)
{^^0}, {^^1+}
Reference grandparent command's output (two commands before the previous one)
{[0]0}, {[1]2}, {[2]3+}
Reference output from a specific pipe by index: {[pipe_index]word_index} or {[pipe_index]word_index+}
\{0}
Escape braces with backslash to use literal {0} instead of substitution
```code here```
Wrap code blocks in triple backticks to preserve them during piping (backticks are stripped from output)
Examples:
cq-user farty | send farty Hello user {4}!
Gets user info, then sends a message using the username word from the output
cq-sql ```SELECT * FROM users``` | send mychannel {0}
Runs SQL query (preserving it with backticks), then sends result to a channel
247blockedterm Restricted
▼
Description
Add or remove blocked term(s) in all 24/7 channels.
Usage
cq-247blockedterm <add|remove> <term1> [term2 ...]
Examples
Add a blocked term to all 24/7 channels.
StupidUnicorn379: cq-247blockedterm add badword
CatQuery: Done. Processed 12 channel(s) with 1 term(s).
Add multiple blocked terms to all 24/7 channels.
FartingKitty589: cq-247blockedterm add badword nastyphrase
CatQuery: Done. Processed 12 channel(s) with 2 term(s).
Remove a blocked term from all 24/7 channels.
FartyUnicorn76: cq-247blockedterm remove badword
CatQuery: Done. Processed 12 channel(s) with 1 term(s).

Permission: chat.command.247blockedterm

backup Restricted
▼
Description
Trigger a database backup.
Usage
cq-backup
Examples
Run a database backup immediately.
StupidCat931: cq-backup
CatQuery: Database backup completed successfully.

Permission: chat.command.backup

ban Restricted
▼
Description
Ban a user from using bot commands.
Usage
cq-ban <username>
Examples
Ban a user from using bot commands.
FartyCat670: cq-ban someuser
CatQuery: Banned someuser from using bot commands.

Permission: chat.command.ban

banchannel Restricted
▼
Description
Disable bot commands in a channel.
Usage
cq-banchannel [channel]
Examples
Disable commands in the current channel.
FartyPants849: cq-banchannel
CatQuery: Banned somechannel from using bot commands.
Disable commands in another channel.
PoopingPhoenix231: cq-banchannel somechannel
CatQuery: Banned somechannel from using bot commands.

Permission: chat.command.banchannel

bits Restricted
▼
Description
Get Twitch bit balance
Usage
cq-bits
Examples
Get your bit balance
FartingPhoenix908: cq-bits
CatQuery: You have 1000 bits

Permission: chat.command.bits

cache Restricted
▼
Description
Updates the local caches.
Usage
cq-cache [cosmetics|eventbadges|streams|settings|usernames|mods|all]
Examples
Update all caches (default)
DumbKitty711: cq-cache
CatQuery: Cache updated successfully.
Update only cosmetics cache
StupidUnicorn427: cq-cache cosmetics
CatQuery: Cosmetics cache updated successfully.
Update only event badges cache
StinkyDragon453: cq-cache eventbadges
CatQuery: Event badges cache updated successfully.
Update only stream videos cache
FartingKitty991: cq-cache streams
CatQuery: Stream videos cache updated successfully.
Update only channel settings cache
StupidIgloo791: cq-cache settings
CatQuery: Channel settings cache cleared successfully.
Update only usernames cache
SmellyPants85: cq-cache usernames
CatQuery: Usernames cache cleared successfully.
Sync moderated channels for crossban support
FartyIgloo336: cq-cache mods
CatQuery: Mod list synced. 1 channel(s) lapsed.
Update all caches explicitly
FartyDragon132: cq-cache all
CatQuery: Cache updated successfully.

Permission: chat.command.cache

code Restricted
▼
Description
Redeem a 7TV code.
Usage
cq-code <code>
Examples
Redeem a 7TV code.
DumbNoodle289: cq-code ABC123
CatQuery: Code redeemed.

Permission: chat.command.code

cosmetic Restricted
▼
Description
Update your cosmetics for 7TV or Twitch.
Usage
cq-cosmetic <platform> <type> <value>
Examples
Change your 7TV badge
PoopyPants72: cq-cosmetic 7tv badge bunni
CatQuery: 7TV badge changed to Bunni
Change your 7TV paint
DumbUnicorn167: cq-cosmetic 7tv paint candy cane
CatQuery: 7TV paint changed to Candy Cane
Turn off your Twitch badge.
PoopingKitty505: cq-cosmetic twitch badge off
CatQuery: Twitch badge turned off
Change your Twitch username color.
PoopingCat254: cq-cosmetic twitch color #FF0000
CatQuery: Twitch color changed to #FF0000
Turn off your 7TV paint.
PoopyCat312: cq-cosmetic 7tv paint off
CatQuery: 7TV paint turned off

Permission: chat.command.cosmetic

countlive
▼
Description
Count live channels, optionally with at least a specified viewer count.
Usage
cq-countlive [viewer_threshold]
Examples
Count all live channels
StinkyDragon500: cq-countlive
CatQuery: There are 42 live channels with at least 0 viewers.
Count live channels with at least 5000 viewers
PoopingKitty58: cq-countlive 5000
CatQuery: There are 42 live channels with at least 5,000 viewers.

Permission: chat.command.countlive

crossban Restricted
▼
Description
Ban one or more Twitch users across every opted-in crossban channel.
Usage
cq-crossban <username[,username2,...]> [reason...]
Examples
Crossban a single user from all opted-in channels.
SmellyPants906: cq-crossban troublesome chatter evasion
CatQuery: Crossbanned troublesome in 47/50 channel(s). (2 already banned, 1 error)
Crossban multiple users from all opted-in channels.
PoopyIgloo214: cq-crossban bot1,bot2,bot3 mass follow bot
CatQuery: Crossbanned 3/3 users. Bans: 141/150. (2 already banned, 7 errors)

Permission: admin.manage.crossbans

gpt
▼
Description
Query GPT model for concise factual answers.
Aliases
ask
Usage
cq-gpt <question>
Examples
Ask a question to the GPT model.
SmellyUnicorn150: cq-gpt What is the capital of France?
CatQuery: Paris

Permission: chat.command.gpt

help
▼
Description
View available commands, or get details on a specific command
Aliases
cmds, commands, docs
Usage
cq-help [command]
Examples
View available commands
StinkyCat519: cq-help
CatQuery: https://docs.catquery.com/commands
View details for a specific command
StinkyNoodle1: cq-help summarize
CatQuery: https://docs.catquery.com/commands?cmd=summarize

Permission: chat.command.help

join
▼
Description
Joins a channel permanently.
Usage
cq-join [username]
Examples
Join your own channel
DumbKitty982: cq-join
CatQuery: The bot is already listening to your channel.
Join another channel
PoopyPhoenix426: cq-join username
CatQuery: The bot is listening to username's channel.

Permission: chat.command.join

joinlive Restricted
▼
Description
Join live channels with at least a specified viewer count.
Usage
cq-joinlive <viewer_threshold>
Examples
Join live channels with at least 10000 viewers
DumbPhoenix696: cq-joinlive 10000
CatQuery: Successfully joined 25 live channels with at least 10,000 viewers.

Permission: chat.command.joinlive

live
▼
Description
Controls Twitch streams.
Aliases
stream
Usage
cq-live <start|stop|restart|change|list> [username] [videoId]
Examples
Start your stream with a specific video.
FartyDragon289: cq-live start mc
CatQuery: Started stream for yourname with video mc
Start your stream with any available video.
DumbIgloo22: cq-live start
CatQuery: Started stream for yourname with video night
Stop your running stream.
PoopyIgloo497: cq-live stop
CatQuery: Stopped stream for yourname
Restart your stream with the same video.
StinkyCat156: cq-live restart
CatQuery: Restarted stream for yourname
Change the video being streamed.
SmellyIgloo973: cq-live change alt
CatQuery: Changed stream for yourname to video alt
List available videos for your stream.
FartyDragon751: cq-live list
CatQuery: Available videos for yourname: alt, mc, night
(Admin) Start a stream for another user.
SmellyPhoenix192: cq-live start catquery mc
CatQuery: Started stream for catquery with video mc
(Admin) List available videos for another user.
PoopyUnicorn144: cq-live list catquery
CatQuery: Available videos for catquery: alt, mc, night

Permission: chat.command.live

monitor Restricted
▼
Description
Manually add one or more users to the monitored users table.
Usage
cq-monitor [-crossban] <username[,username2,...]> <reason>
Examples
Monitor a user for a specific reason.
DumbNoodle890: cq-monitor @someuser Discord Scammer Bot
CatQuery: Now monitoring someuser - Reason: Discord Scammer Bot
Monitor multiple users for the same reason.
SmellyKitty766: cq-monitor bot1,bot2,bot3 mass follow bot
CatQuery: Now monitoring 3 users - Reason: mass follow bot
Monitor a user and crossban them from opted-in channels.
StupidKitty253: cq-monitor -crossban @someuser Discord Scammer Bot
CatQuery: Now monitoring someuser - Reason: Discord Scammer Bot. Crossbanned someuser in 47/50 channel(s).

Permission: admin.manage.monitoring

name Restricted
▼
Description
Updates Twitch display name.
Usage
cq-name [display_name]
Examples
Change the Twitch display name.
StupidCat706: cq-name CatQuery
CatQuery: Display name updated

Permission: chat.command.name

namechange
▼
Description
Retrieves the username change history for a specified Twitch user.
Aliases
nc, namechanges
Usage
cq-namechange <username>
Examples
Get username change history for user 'farty'.
PoopyUnicorn316: cq-namechange farty
CatQuery: Known names for farty: oldname1, farty

Permission: chat.command.namechange

ping
▼
Description
Ping the bot to get its current status.
Usage
cq-ping
Examples
Ping the bot.
PoopyPants672: cq-ping
CatQuery: Uptime: 2h 34m | Memory: 156.3 MB | CPU: 2.5% | Channels Joined: 42 | Firehose: 3 | msgs/min: 1,234 | Messages this session: 5,100

Permission: chat.command.ping

points Restricted
▼
Description
Get your channel points balance.
Usage
cq-points <channel>
Examples
Get channel points for a channel.
FartingPants125: cq-points some_channel
CatQuery: You have 1000 channel points in some_channel

Permission: chat.command.points

potat Restricted
▼
Description
Run a Potat command via the Potat API.
Aliases
p
Usage
cq-potat <command>
Examples
Run a Potat command.
StinkyDragon276: cq-potat js 2 + 2
CatQuery: 4

Permission: chat.command.potat

presence
▼
Description
Updates 7TV presence.
Usage
cq-presence [username]
Examples
Update your own 7TV presence.
StupidPants845: cq-presence
CatQuery: Presence updated.
Update 7TV presence for user 'farty'.
DumbPants172: cq-presence farty
CatQuery: Presence updated for farty.
Update 7TV presence with @ symbol.
FartingPants417: cq-presence @farty
CatQuery: Presence updated for farty.

Permission: chat.command.presence

profile Restricted
▼
Description
Set profile settings for different platforms and types.
Usage
cq-profile <platform> <type> [profile|time] [time] [flags]
Examples
Set 7TV paint profile to 'rainbow' and update every 10 seconds
SmellyCat199: cq-profile 7tv paint rainbow 10000
CatQuery: Successfully updated 2 setting(s).
Set 7TV badge profile to cycle through badges, no timer change
SmellyDragon657: cq-profile 7tv badge cycling
CatQuery: Successfully updated 1 setting(s).
Change only the 7TV paint timer to 15 seconds without changing profile
PoopyPhoenix51: cq-profile 7tv paint 15000
CatQuery: Successfully updated 1 setting(s).
Set Twitch badge profile with flags for custom behavior
FartyPants286: cq-profile twitch badge premium -reverse -skip
CatQuery: Successfully updated 1 setting(s).
Set Twitch color profile to 'spectrum' and change timer to 20 seconds
SmellyNoodle832: cq-profile twitch color spectrum 20000
CatQuery: Successfully updated 2 setting(s).
Disable 7TV paint by setting profile to 'off'
PoopyKitty659: cq-profile 7tv paint off
CatQuery: Successfully updated 1 setting(s).
Set 7TV badge with multiple flags for advanced control
FartyCat661: cq-profile 7tv badge founder -loop -randomize
CatQuery: Successfully updated 1 setting(s).

Permission: chat.command.profile

pull Restricted
▼
Description
Updates and restarts services.
Usage
cq-pull [chat|chat-processor|chat-coordinator|chat-worker|api|firehose|streams|redirects|proxy|all]
Examples
Pull the latest artifacts and restart all services.
PoopingKitty173: cq-pull
CatQuery: Pulling latest artifacts... Successfully updated. Restarting all services...
Update and restart the API service.
DumbNoodle254: cq-pull api
CatQuery: Pulling latest artifacts for api... Successfully updated api. Restarting api...

Permission: chat.command.pull

reboot Restricted
▼
Description
Reboots the VM.
Usage
cq-reboot
Examples
Reboot the VM and notify the channel.
StinkyKitty890: cq-reboot
CatQuery: Rebooting...

Permission: system.manage.services

rejoinfailed Restricted
▼
Description
Retries failed permanent channel joins.
Usage
cq-rejoinfailed
Examples
Rejoin all permanent channels that previously failed to join.
FartyUnicorn629: cq-rejoinfailed
CatQuery: Reset failed channels and rejoining them on next cycle.

Permission: chat.command.rejoinfailed

restart Restricted
▼
Description
Restarts the chat fleet (or one part of it), or another named service.
Usage
cq-restart [chat-processor|chat-coordinator|chat-worker|chat-worker-<id>|api|firehose|streams|redirects|proxy|all]
Examples
Restart the whole chat fleet and notify the channel.
PoopyPants484: cq-restart
CatQuery: Restarting...
Restart only one chat worker by its stable ID.
PoopingNoodle302: cq-restart chat-worker-3
CatQuery: Restarting chat-worker-3...

Permission: system.manage.services

restore Restricted
▼
Description
Restores database tables from backups.
Usage
cq-restore [table1 [table2 ...]] [table:filename ...]
Examples
Restore all backed-up tables from their latest backups.
SmellyPhoenix872: cq-restore
CatQuery: Restore complete: channels_permanent, channel_settings, user_access, user_names, settings
Restore only the channels and user_access tables.
StinkyNoodle494: cq-restore channels_permanent user_access
CatQuery: Restore complete: channels_permanent, user_access
Restore channels from a specific backup file, user_access from latest.
StupidPants986: cq-restore channels_permanent:channels_permanent-2026-01-01T00-00-00-000-abc.json user_access
CatQuery: Restore complete: channels_permanent, user_access

Permission: chat.command.restore

send Restricted
▼
Description
Sends a message to a specified Twitch channel as the bot or selfbot.
Usage
cq-send <channel> <message>
Examples
Send 'Hello, world!' to the channel 'mychannel' as the bot.
StupidDragon750: cq-send mychannel Hello, world!
No command response.

Permission: chat.command.send

sql Restricted
▼
Description
Executes a SQL query against the database.
Usage
cq-sql <SQL statement>
Examples
Select users from the users table.
FartyKitty320: cq-sql SELECT id, username FROM users LIMIT 2
CatQuery: {"rows":2,"results":[{"id":"123456","username":"alice"},{"id":"789012","username":"bob"}]}

Permission: chat.command.sql

stats
▼
Description
Show all global counts, or choose bits, subs, resubs, gifted, new, prime, messages, bans, or timeouts to include when recording started. Singular and plural names work, such as prime/primes and sub/subs.
Usage
cq-stats [bits|subs|resubs|gifted|new|prime|messages|bans|timeouts]
Examples
Show all global counts without start times
FartyNoodle451: cq-stats
CatQuery: Bans: 10 | Gifted subs: 25 | Messages: 20,000 | New subs: 50 | Prime subs: 15 | Resubs: 25 | Timeouts: 40 | Bits: 1,000 | Subs: 100
Show bits and when recording started
PoopyKitty265: cq-stats bits
CatQuery: Bits: 1,000 | Started at: 2026-09-18 12:00:00 UTC
Show total subscriptions and when recording started
DumbNoodle144: cq-stats subs
CatQuery: Subs: 100 | Started at: 2026-09-18 12:00:00 UTC
Show resubscriptions and when recording started
StupidUnicorn550: cq-stats resubs
CatQuery: Resubs: 25 | Started at: 2026-09-18 12:00:00 UTC
Show gifted subscriptions and when recording started
FartingNoodle271: cq-stats gifted
CatQuery: Gifted subs: 25 | Started at: 2026-09-18 12:00:00 UTC
Show new subscriptions and when recording started
PoopingKitty754: cq-stats new
CatQuery: New subs: 50 | Started at: 2026-09-18 12:00:00 UTC
Show Prime subscriptions (primes also works) and when recording started
StupidPhoenix798: cq-stats prime
CatQuery: Prime subs: 15 | Started at: 2026-09-18 12:00:00 UTC
Show messages and when recording started
SmellyPhoenix514: cq-stats messages
CatQuery: Messages: 20,000 | Started at: 2026-09-18 12:00:00 UTC
Show permanent bans and when recording started
StinkyCat799: cq-stats bans
CatQuery: Bans: 10 | Started at: 2026-09-18 12:00:00 UTC
Show timeouts and when recording started
PoopyIgloo618: cq-stats timeouts
CatQuery: Timeouts: 40 | Started at: 2026-09-18 12:00:00 UTC

Permission: chat.command.stats

stresstest Restricted
▼
Description
Manage a stress test of channel joining.
Usage
cq-stresstest <stage <target|stop>|start|stop|status|cleanup>
Examples
Activate staged channels.
SmellyNoodle354: cq-stresstest start
CatQuery: Started activating stress-test channels toward 100,000 active channel(s).
Stage 100,000 stress-test channels.
FartingDragon569: cq-stresstest stage 100000
CatQuery: Started staging 100,000 stress-test channels.
Show stress-test progress.
StinkyUnicorn913: cq-stresstest status
CatQuery: Channel stress test is running (target: 100,000).
Remove all stress-test channels.
SmellyNoodle883: cq-stresstest cleanup
CatQuery: Started cleanup of 100,000 stress-test channel(s).

Permission: chat.command.stresstest

summarize
▼
Description
Summarize recent chat messages from a Twitch channel.
Aliases
summary
Usage
cq-summarize [channel] [count]
Examples
Summarize recent messages from current channel (defaults to 100).
PoopingPants919: cq-summarize
CatQuery: Streaming tech and code discussions.
Summarize the last 10 messages from current channel.
FartingUnicorn757: cq-summarize 10
CatQuery: Build issues and deployment strategies.
Summarize the last 100 messages from a specific channel.
FartingCat877: cq-summarize potatbotat 100
CatQuery: WebRTC, HackerNews posts, and Pion library implementations.
Summarize recent messages from a specific channel (defaults to 100).
PoopingUnicorn916: cq-summarize potatbotat
CatQuery: Streaming tech and code discussions.
Summarize messages from a numeric username with @ symbol.
PoopingNoodle160: cq-summarize @1234 50
CatQuery: Gaming and tech topics.

Permission: chat.command.summarize

summarizetopic
▼
Description
Summarize recent chat messages from the current channel focused on a specific topic.
Aliases
topic
Usage
cq-summarizetopic [count] <topic>
Examples
Summarize chat about a topic (defaults to 100 messages).
PoopyKitty324: cq-summarizetopic webrtc and pion stuff
CatQuery: WebRTC and Pion library were discussed along with related networking topics.
Summarize the last 500 messages focused on a topic (count first).
DumbNoodle375: cq-summarizetopic 500 webrtc and the 100 other ways to build IP stuff
CatQuery: WebRTC, HackerNews posts, and Pion library implementations.
Summarize with count at the end of the topic.
PoopingNoodle261: cq-summarizetopic webrtc and pion stuff, github changes too 10
CatQuery: Recent WebRTC and Pion-related GitHub changes were discussed.

Permission: chat.command.summarizetopic

unban Restricted
▼
Description
Unbans a user, allowing them to use bot commands again.
Usage
cq-unban <username>
Examples
Unban a user and restore their access
DumbDragon214: cq-unban someuser
CatQuery: Unbanned someuser.

Permission: chat.command.unban

unbanchannel Restricted
▼
Description
Allow bot commands in a channel.
Usage
cq-unbanchannel [channel]
Examples
Enable commands in the current channel.
PoopyUnicorn281: cq-unbanchannel
CatQuery: Unbanned somechannel. Bot commands are enabled.
Enable commands in another channel.
PoopingUnicorn849: cq-unbanchannel somechannel
CatQuery: Unbanned somechannel. Bot commands are enabled.

Permission: chat.command.unbanchannel

uncrossban Restricted
▼
Description
Unban one or more Twitch users across every opted-in moderated channel.
Usage
cq-uncrossban <username[,username2,...]>
Examples
Remove a crossban from all opted-in channels.
SmellyKitty23: cq-uncrossban troublesome
CatQuery: Uncrossbanned troublesome in 47/50 channel(s). (3 not banned)
Remove crossbans for multiple users.
StinkyCat333: cq-uncrossban bot1,bot2,bot3
CatQuery: Uncrossbanned 3/3 users. Unbans: 141/150. (9 not banned)

Permission: admin.manage.crossbans

unmonitor Restricted
▼
Description
Remove one or more users from the monitored users table.
Usage
cq-unmonitor <username[,username2,...]>
Examples
Stop monitoring a user.
PoopingPhoenix578: cq-unmonitor someuser
CatQuery: No longer monitoring someuser
Stop monitoring multiple users.
DumbKitty972: cq-unmonitor bot1,bot2,bot3
CatQuery: No longer monitoring 3/3 users. (1 not found)

Permission: admin.manage.monitoring

user
▼
Description
Returns Twitch user information.
Aliases
u
Usage
cq-user <username>
Examples
Get info for the Twitch user 'farty'.
FartyCat645: cq-user farty
CatQuery: ID: 123456 | Username: farty | Created: 2011-03-16T17:06:00Z | Known names: 2

Permission: chat.command.user