How To Add, Import, and Manage Quotes

SheevChat can save memorable chat messages with attribution, recall them through commands, and import an existing quote collection.

Quote a Chat Message

Hover over or keyboard-focus a normal message in the main Chat panel and choose Quote.

SheevChat saves the message in this form:

"Message text" - @Username

It prefers the platform username and retains source information. Long messages are shortened cleanly so the text and attribution remain within the quote limit. Events and SheevChat's own echoed messages cannot be quoted.

The compact message actions also include Reply and Pin. Reply uses native Twitch or Kick threading when available; YouTube and TikTok receive an @username mention on the source platform.

Use Quote Commands

Review the built-in quote commands under Bot Commands → Commands and set their platforms, permissions, and cooldowns before enabling them.

Common workflows include:

!quote
!quote 12
!quoteadd A memorable moment
!quoteremove 12

Keep add and remove commands restricted to trusted roles. Exact aliases and enabled platforms are shown on each command card.

Manage Quotes in Data Manager

Open Bot Commands → Data Manager → Quotes to:

  • Review quote text, attribution, and visible number
  • Add a quote manually
  • Delete one quote
  • Import a collection
  • Delete all quotes using the displayed confirmation phrase

Canceling a delete keeps the quote. After a confirmed deletion, the quote tools remain usable without reopening Data Manager.

Understand Quote Numbers

New quotes use one more than the highest number currently visible in the library.

  • Deleting the latest quote allows that highest number to be reused.
  • Deleting a middle quote does not renumber the remaining library.
  • An empty library begins again at quote 1.
  • Imported IDs do not overwrite or force SheevChat's visible numbering.

Import Quotes

Choose Import from the Quotes toolbar, select a file or supported saved source, and preview it before adding anything.

Supported input includes:

  • SheevChat or third-party JSON
  • Wrapped JSON collections
  • JSON string lists
  • Header-based CSV
  • Plain-text lists with one quote per line
  • Saved StreamElements quote data

Compact Format Examples

JSON can use any one of these shapes:

  • Object list: [{"text":"Never trust the tutorial boss.","author":"Sheeves","platform":"twitch"}]
  • Wrapped list: {"quotes":[{"quote":"That was absolutely planned.","username":"Viewer"}]}
  • String list: ["One quote per string","Another quote"]

CSV requires a header with a text, quote, or message column:

message,user,source,date
"Hello, chat","Viewer","twitch","2026-09-13T10:00:00Z"

Plain text uses one quote per non-empty line:

"A quoted message" - @Viewer
Another quote without attribution

Accepted optional aliases include author/username/user, platform/source, added_by/addedby/addedBy, and created_at/createdat/createdAt/timestamp/date. Quote text is required and cannot exceed 500 characters.

The preview separates valid new quotes, duplicates, and invalid rows. Import is additive: it does not replace the existing library or trust imported IDs as SheevChat quote numbers.

Import Safely

  1. Back up SheevChat before importing a large library.
  2. Preview the source.
  3. Review duplicates and invalid entries.
  4. Import the valid selection.
  5. Test !quote and a specific quote number.

Common Problems

  • Quote button is missing: Use a normal incoming message in the main Chat panel; events and self-echoes are excluded.
  • Duplicate is rejected: The same attributed quote already exists.
  • Imported rows are invalid: Confirm the file uses a supported JSON, CSV, or one-line-per-quote text structure.
  • Quote number changed after deleting the latest: New numbers follow the highest quote that currently remains.
  • Viewer can remove quotes: Raise the removal command's minimum permission.

For general migration workflows, see Importing Data from Other Bots.