The !Quote Command: Turn Stream Moments Into Lore

Save the things you said that you'll regret, and let chat pull them back out for the rest of your streaming career.

!quote
Get Started Free

What Does the !Quote Command Do?

A quote command is a small database attached to your chat. Someone — usually a mod — captures a line you just said with !addquote, and from then on anyone can pull it back up by typing !quote. With no argument the bot returns a random entry; with a number it returns that specific one, so “quote 47” becomes a thing your regulars say to each other.

Unlike every other command in this cluster, this one grows. A link command says the same thing on day one and day five hundred. A quote list starts empty and slowly fills with the specific, unrepeatable things that happened on your stream: the misread word, the confidently wrong fact, the sentence that made sense in context and is indefensible outside it. Six months in, the command is a record of your channel that nobody else could have written.

The mechanics are three or four related commands rather than one. !quote recalls, !addquote stores, !delquote removes, and !editquote fixes typos in an entry. Whether your bot ships this as a built-in feature or leaves you to build it determines almost everything about how painful the setup is, which is covered in the setup sections below.

It's worth being clear about what a quote command is not: it isn't a clipping tool. A clip captures the moment with audio and video; a quote captures the line as text, in chat, instantly, and stays retrievable for years without anyone opening a clip page. They complement each other — plenty of channels clip the moment and quote it — but the quote is the one that gets typed at you eight months later.

Quotes Are How Inside Jokes Become Community Lore

Every community that outlasts its novelty has a shared vocabulary — references that mean nothing to an outsider and instantly identify an insider. In a stream that vocabulary comes from moments: things you said, things chat said back, things that went catastrophically wrong on camera. Those moments are enormously valuable and almost impossible to hold onto, because live content evaporates. Nobody rewatches an eight-hour VOD to find the thing that was funny in hour three.

A quote list is the cheapest possible archive of that shared vocabulary. It converts a fleeting moment into a permanent, one-line artefact that any viewer can summon. And it does something subtler: it lets new viewers acquire the community's history. A newcomer who types !quote a few times out of curiosity picks up the running jokes far faster than one who has to wait to encounter them naturally. That's how a stranger starts feeling like a regular.

It also changes the dynamic of your bad moments. Saying something stupid on stream stops being a thing to be embarrassed about and starts being a thing to be collected — chat's reaction to a misstep becomes “quote that” rather than a silence you have to talk your way out of. That's a genuinely useful pressure valve for anyone who streams for hours at a time and is going to say something incoherent eventually.

For your mods, the quote command is one of the few purely fun tools they get. Most moderation work is invisible and thankless — deleting spam, timing out trolls, answering the same question for the ninth time. Being the person who captures the line is a small creative role that costs nothing to hand out and that good mods genuinely enjoy. Give the add permission to your mod team and they'll build the archive for you.

And unlike most engagement mechanics, quotes appreciate over time. A follower count is a number; a quote list is content. At a hundred entries it becomes something you can do a stream about — reading the archive back, ranking them, letting chat vote on the worst one. Channels that have run a quote command for years treat it as a genuine asset, and there's no version of the strategy where starting later is better than starting now.

!Quote Variations & Example Responses

CommandExample ResponseNotes
!quote#47: "I've never lost a fight in this game" — Dave, 12 Mar 2026, Elden RingNo argument returns a random entry. Speaker, date and game make it readable months later.
!quote 12#12: "That's not a boss, that's a door" — Dave, 4 Jan 2026A stable ID lets chat reference specific quotes. Never reuse an ID after deleting one.
!addquote That's not a boss, that's a doorQuote #128 added.Mods only. An open add permission means anything can end up in your bot's mouth.
!delquote 91Quote #91 deleted.Broadcaster or senior mods only. Export the list occasionally as a backup.
!editquote 12 That's not a boss, that's a doorwayQuote #12 updated.For typos. Editing the meaning of an old quote is how arguments start.
!quotecountThere are 128 quotes in the archive. Type !quote for a random one.A milestone hook — 100 quotes is a whole segment's worth of content.
!quote search door#12: "That's not a boss, that's a door" — Dave, 4 Jan 2026Keyword search. Only some bots support it, but it's the feature you miss most at scale.

Set Up !Quote in StreamUps

StreamUps stores quotes against your account rather than per platform, so a quote captured by a mod in Twitch chat can be recalled by a viewer in YouTube Live or Kick chat.

  1. 1Sign in to StreamUps and connect the channels you stream to.
  2. 2Open the Commands section of the dashboard and add a new command with the trigger !quote, choosing the quote response type so the bot reads from your stored list rather than a fixed message.
  3. 3Add a companion command with the trigger !addquote and set its permission level to moderators only — this is the setting that keeps your archive safe.
  4. 4Add !delquote, restricted to the broadcaster, so removals can't happen on a whim.
  5. 5Decide your format and tell your mods: capture the line, the speaker if it wasn't you, and the game. The date is stored automatically.
  6. 6Set a 15-30 second global cooldown on !quote, enable the commands on each platform and save. Export the list from the dashboard occasionally as a backup.

Set Up !Quote in Nightbot

Nightbot has no built-in quote storage — this is its biggest gap as a command bot. You have two workable options, and it's worth knowing that before you spend an evening on it.

  1. 1Option A — use a third-party quote API. Sign up for a quote service that exposes an HTTP endpoint, then in nightbot.tv open Commands, Custom, Add Command.
  2. 2Set Command to !quote and set the Message to fetch from that service using Nightbot's $(urlfetch) variable with your channel's endpoint URL, passing $(query) through so !quote 12 returns quote 12.
  3. 3Add a second command !addquote pointing at the service's add endpoint, passing $(user) and $(query), and set its User Level to Moderator.
  4. 4Option B — accept that Nightbot isn't the right tool here and run quotes through a bot with native storage, keeping Nightbot for your link and timer commands. Running two bots in one channel is normal and they don't conflict as long as their triggers differ.
  5. 5Whichever route you take, test the add command from a mod account before announcing it, and confirm a non-mod account cannot add.
  6. 6Set Cooldown to 15-30 seconds on !quote so the archive can't be spammed during a raid.

Set Up !Quote in StreamElements

StreamElements has a native quote system with its own dashboard page, which makes it the easiest of the three to get running. The bot is Twitch-focused and free.

  1. 1Sign in at streamelements.com and make sure the bot has joined your channel from the Bot section.
  2. 2Open Chat Commands and check the Default Commands tab — the quote module is listed there and may only need enabling.
  3. 3Enable the quote commands and confirm the triggers you want: !quote to recall, !addquote to store, !delquote to remove, !editquote to fix.
  4. 4Set the access level for !addquote to Moderator and for !delquote to Broadcaster. Leave !quote at Everyone.
  5. 5Open the Quotes page in the dashboard to view, edit and bulk-manage the archive — this is also where you copy the list out if you ever migrate bots.
  6. 6Add a 15-30 second cooldown to !quote, then add a few starter quotes yourself so the command returns something on its first use.

Who Can Add Quotes, and What Format to Store Them In

Restrict !addquote to moderators. This is the single most important configuration decision on the page, and the reason is obvious once you've seen it go wrong: an open add permission means any viewer can write anything into a list your bot will repeat, at random, in front of your whole audience, potentially months later when nobody remembers who added it. That's a slur waiting to be read out by your own bot during a raid. Mods-only is the default in every bot that ships a quote system, and it should stay that way.

Deletion should be even tighter — broadcaster or senior mods only. Quote lists get vandalised occasionally by a mod having a bad day, and a bot without an audit trail can't tell you what was removed. If your bot supports viewing the full list from a dashboard, export it occasionally; a text file of your quotes is a two-minute insurance policy against losing years of accumulated material to a bot migration or an account problem.

On format, store more than the words. A bare line of text is often unintelligible six months later, and the fix is metadata. The three fields worth capturing are the speaker (essential the moment you have guests or co-streamers), the date, and the game or activity — “#47: 'I've never lost a fight in this game' — Dave, 12 Mar 2026, Elden Ring” carries its own context in a way that “I've never lost a fight in this game” does not. Most bots that support quotes will append the date automatically and let you write the rest into the quote text yourself.

Numbering earns its keep for the same reason. A stable ID lets chat reference a specific quote (“someone pull 12”), lets you build a bit around a countdown of the worst ones, and gives you a clean way to talk about the archive at all. Bots handle this automatically, but if you're building your own storage, never reuse an ID after a deletion — the gap is fine, the collision isn't.

Be a little selective about what goes in. A quote list of four hundred entries where thirty are funny is worse than a list of forty that all land, because !quote returns them at random and the hit rate is the whole experience. Encourage mods to capture the genuinely good ones rather than everything mildly amusing, and prune occasionally. The same rule applies to jokes that have aged badly — a quote from a year ago that reads differently now is worth deleting rather than defending.

Finally, get the quotes on screen. Pulling a random quote into a corner of your layout between scenes, or displaying the archive during a starting-soon screen, turns a chat command into visible content for the people who never type. Any browser-source overlay can do it, and if you're already running a chat overlay in OBS you have the plumbing for it. Pair that with a !so command for the guests who generated half the material and your archive starts doing promotional work as well as nostalgic work.

!Quote Command FAQ

How do I add quotes on Twitch?
Use a bot with a quote system: a moderator types !addquote followed by the line, and the bot stores it with an ID and a date. StreamUps and StreamElements support this natively; Nightbot has no built-in quote storage, so it needs a third-party API behind a $(urlfetch) command or a second bot running alongside it.
Who should be allowed to use !addquote?
Moderators only, without exception. An open add permission means any viewer can write text your bot will later repeat at random in front of your whole audience — including during a raid, months after whoever added it has gone. Every bot that ships a quote system defaults to mods-only for exactly this reason.
Can viewers request a specific quote by number?
Yes — !quote 12 returns entry 12 in every bot that stores quotes with IDs, while !quote with no argument returns a random one. Stable numbering is what lets chat reference quotes to each other, so never reuse an ID after a deletion; leave the gap.
What information should a quote include besides the words?
The speaker, the date and the game or activity. A bare line of text is frequently unintelligible six months later, and those three fields carry the context that makes it funny again. Most bots append the date automatically, so you only need to get your mods into the habit of adding the speaker and the game.
Can I move my quotes to a different bot?
Only manually, in most cases — there's no standard export format and bots don't import each other's lists. If your bot has a dashboard page showing all quotes, copy them out to a text file periodically. That backup is the difference between a bot migration costing you an afternoon and costing you years of accumulated material.
How many quotes should I have before the command is worth using?
Add five or ten yourself before you announce it, so the first person to type !quote gets something rather than an empty-list message. After that it fills naturally. Quality matters more than volume — random recall means a list where most entries don't land makes the command feel worse the bigger it gets.
Can I display quotes on stream instead of only in chat?
Yes. A browser-source overlay can pull a random quote into a corner of your layout or fill a starting-soon screen with the archive, which reaches the viewers who never type anything. It works well alongside an on-screen chat overlay, since both are just browser sources in OBS pointed at your bot's data.

Related Commands

Set Up Chat Commands in Minutes

Add !lurk, !so, !discord, and more to your Twitch, YouTube, or Kick chat with StreamUps. No bot hosting, no code—just pick your commands and go live.

Related Pages