Skip to main content

Product pipeline

Tracking something from an idea to a published listing, across nine stores, with a checklist that has to be complete before it ships.

Module: products, off until a bot owner runs /moduleadmin enable module: Products.

warning

Locked, like diplomacy. Even once your server holds a valid access key, products doesn't turn on by asking. It's tied closely enough to the business side of Titanite that a bot owner has to grant it specifically to your server's key. If you need it, say so when you request access.

Setting up a full pipeline, start to finish

  1. Turn the module on. Bot owner only, and only after your server's key is granted products:

    /moduleadmin enable module: Products guild_id: <your server ID>
  2. Point it at a forum and a staff-thread parent. Every product gets a public forum post and a private staff thread:

    /config set key: product_forum_channel value: #product-showcase
    /config set key: product_thread_channel value: #product-staff-threads

    product_forum_channel has to be an actual forum channel. The bot tags threads in it automatically as a product moves stages (see below). product_thread_channel just needs to allow private threads; the bot creates one per product there.

  3. Give each store an announcement channel. Publishing a product posts an announcement, and it needs to know where:

    /storeconfig set store: TechHaven channel: #techhaven-releases
    /storeconfig set store: "M7 Studios" channel: #m7-releases

    Run this once per store you sell through. /storeconfig list shows what's configured. A store with nothing set here still publishes fine; it just skips the announcement.

  4. Optional: a pipeline log.

    /config set key: product_log_channel value: #product-log

    Every stage advance, assignment, and checklist completion gets recorded here.

That's the whole setup. Submitting the first product is where it gets used.

The nine stores

TechHaven, M7 Studios, Hen Development, ASELFUSION, Opulent Estates, Artix Tactical, Historical Studios, Parabellum Systems, One Republic Containment. Every /product command that takes a store offers these as a dropdown. There's no free-text store name.

A worked example, start to finish

Submitting a real product and taking it all the way to published:

/product submit store: TechHaven

A modal opens: product name, a 1–3 sentence description, features (one per line). Submitting it does three things at once: mints a product ID like THU-AB1234, posts a draft thread in the product forum tagged Awaiting Imagery and WIP for Sale and Unpriced, and opens a private staff thread only staff can see.

Product name: Skybound Racer · Description: A fast-paced hoverbike racing map with three tracks and a garage system. · Features:

Three unique tracks
Customizable hoverbike garage
Leaderboard and ghost replays

The staff thread is where the rest of this happens. Everything below posts there automatically as it's done, so nobody has to ask "did anyone add the price yet."

Moving through the pipeline

Stages only move forward, one step at a time:

draft → imagery → priced → described → payhip → external_stores → parcel → published

/product advance product_id: THU-AB1234 stage: Imagery refuses anything that isn't the very next stage. Trying to jump from draft straight to priced gets refused with the one stage that's actually valid next.

Add the pieces as you go:

/product links product_id: THU-AB1234

Opens a modal for the Roblox Hub, Payhip, ClearlyDev, BuiltByBit and Parcel links. Fill in whichever apply, leave the rest blank.

/product price product_id: THU-AB1234

Robux, USD, and GBP, independently. Leave any of them blank if you're not selling in that currency.

/product describe product_id: THU-AB1234

The same description and features fields from the submit form, editable any time.

Each of these also snapshots the product's previous state before saving. Not shown anywhere yet, but the history is there if something needs reverting by hand.

The checklist

/product checklist product_id: THU-AB1234

Eight items, each a toggle button: forum post created with the right tags, six-plus images attached, priced across all three currencies, description generated, Payhip page live, external store pages live, Parcel entry created, announcement posted. Press a button to flip it; the message updates in place rather than posting a new one each time.

Publishing

/product publish product_id: THU-AB1234

Refuses unless both are true: the product is at the Parcel stage, and every checklist item is ticked. Pass both and it:

  • Moves the product to Published.
  • Re-tags the forum thread from whatever it had to Published.
  • Posts the announcement to that store's configured channel, with buttons for whichever store links were filled in.

Everyday commands

CommandWhoWhat it does
/product view <id>StaffThe full card: stage, price, links, checklist progress, recent notes
/product list [store] [stage] [page]StaffEvery product, filterable, ten per page
/product note <id>StaffAdd a note. Posts to the staff thread and stays on the product's record
/product assign <id> <member>StaffHand it to someone; adds them to the staff thread automatically
/product format <id>StaffGenerates the ready-to-paste store listing text
/product register <name> <store>AdminManually register a product that already exists outside the pipeline, skipping straight past submission

/product view also has four buttons on the card itself: Add Note, Set Links, Checklist, Format Post. Staff working from the card don't need to remember the matching slash command.

Troubleshooting

What you seeUsually means
"This feature is not enabled in this server."products is off, or your server's key doesn't have it granted. Ask Ben.
"Cannot move XY."Stages only advance one at a time, in order. The message names the one stage that's actually valid next.
"Checklist is not complete." on publishRun /product checklist and see which items are still unticked.
"Must be at Parcel stage." on publishAdvance it through the remaining stages first. Publish only works from Parcel.
The forum thread didn't get createdproduct_forum_channel isn't set, or isn't an actual forum channel. Check with /config set.
No announcement went out on publishThat store has no channel set. Run /storeconfig set for it.
The staff thread is missingproduct_thread_channel wasn't set at submission time, or the bot couldn't create a thread there. Check its permissions in that channel.