Skip to content

Plugin Idea: Role Shop — buy roles with economy currency #30

Description

@DeadIndian

Plugin Idea: Role Shop — buy roles with economy currency

A Role Shop where users can purchase roles using the economy currency (points/coins). Bridges the Economy system with role management. Found in UnbelievaBoat, Dank Memer, and many custom bots.

Why

Role Shops drive massive engagement by giving users something to spend their economy currency on. It creates a goal loop: earn money → save up → buy a cool role → show it off. The economy exists but there's no meaningful currency sink beyond bragging rights.

Spec

Commands (Users):

  • /roleshop — Browse available roles and prices
  • /roleshop buy <role> — Purchase a role (cost deducted from wallet)
  • /roleshop confirm — Confirm purchase (2-step for expensive roles)
  • /roleshop sell <role> — Sell a role back at 50% value
  • /roleshop collection — Your purchased roles

Commands (Admin):

  • /roleshop add <role> <price> — Add a role to the shop
  • /roleshop remove <role> — Remove a role from the shop
  • /roleshop price <role> <new-price> — Change price
  • /roleshop role-info <role> — See purchase stats for a role
  • /roleshop clear-user <user> — Reset a user's purchased roles
  • /roleshop toggle — Enable/disable the plugin

Config:

Key Type Default Description
sellRefundPercent Number 50 Percent refunded when selling a role (0=no refund)
confirmThreshold Number 10000 Price above which confirmation is required
maxRolesPerUser Number 5 Max purchasable roles per user
roleGroup String '' Optional: assign bought roles under this group
removeOnLeave Boolean true Remove purchased roles when user leaves
logChannel String '' Channel ID for purchase logs

Features:

  • Time-Limited Roles — Roles can have a duration (buy role for 7 days, auto-removed)
  • Role Bundles — Package multiple roles at a discount
  • Color Roles — Special handling: user picks the hex color when buying
  • Stock System — Limited supply roles (only 5 available, first come first served)
  • Toggleable — Per-role: permanent vs timed, exclusive vs stackable
  • Purchase Logs — Log all purchases to a configured channel
  • Hoist Priority — Configurable position for purchased roles

Model:

// Shop listing
{
  guildId: String,
  roleId: String,
  price: Number,
  stock: Number,         // -1 = unlimited
  durationMs: Number,    // 0 = permanent
  exclusive: Boolean,    // can only have 1 from this group
  createdAt: Date
}

// Purchases
{
  userId: String,
  guildId: String,
  roleId: String,
  pricePaid: Number,
  expiresAt: Date,       // null = permanent
  purchasedAt: Date
}

Acceptance Criteria

  • Browse role shop with pagination
  • Buy role with economy deduction
  • Sell role back for refund
  • Time-limited role purchases with auto-removal
  • Stock system for limited roles
  • Admin add/remove/price management
  • Integration with existing economy plugin

Metadata

Metadata

Assignees

No one assigned

    Labels

    new-pluginIdea for a brand new plugin (no repo exists yet)

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions