Skip to content

Instantly share code, notes, and snippets.

@GMMan
Last active August 29, 2015 14:16
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save GMMan/35fb9b8cb2f39713ded5 to your computer and use it in GitHub Desktop.
Save GMMan/35fb9b8cb2f39713ded5 to your computer and use it in GitHub Desktop.
Groupees Chat Bot Raffle System Planning Sheet

Groupees Chat Bot Raffle System

The raffle system is designed to hand out keys and gift links for use with game distribution platforms. Users can add keys to the system, and set parameters on how the keys are distributed. Other users can then query the system for available keys, and obtain one using criteria set by the user who added the key. A reputation system will be available to discourage adding of fake or used keys. All keys are distributed through private chat unless it is a random drop.

Key distribution modes

  • Random drop: bot drops a key randomly in Just Chat. Draw will be made every x minute (probably 5-10), and a probability can be specified on when a key will drop.
  • Private on request: users can open a private chat with the chat bot, and request keys. Keys can either be random or on-demand, if allowed by the user submitting the key. Maximum x requests per 24-hours.
  • Raffle: User submitting key sets type and period, and other users can submit entries.
    • Pick numbers within a range, and closest wins
    • Random pick, where everyone has the same chance of winning
    • Guess a word, requires exact spelling

Reputation system

Once a user receives a key, they can indicate whether the key works or not. If the key works, the user who added the key gets 0.2 reputation. If not, the user loses 1 reputation. Each user starts with 1 reputation. If reputation drops to 0, the user receives a 1-week ban from the raffle system, meaning keys cannot be submitted or requested, and the user cannot participate in raffles. At the end of the ban reputation resets to 1. A user can be temp-banned up to 5 times before the ban becomes permanent.

Commands

addkey

addkey <key> <name>
Adds a key to the raffle system. A key ID will be returned for use in setting up raffles.

delkey

delkey <id>
Removes key from system. Can only be done before it is given away, and only by user who added the key.

listmykeys

listmykeys
Lists keys the user has submitted/won and their status.

detail

detail <id>
Shows key details (including raffle configuration if user is key submitter)

setkeyprop

setkeyprop <id> <prop> <value>
Sets key giveaway properties.

enable

enable <id>
Enables the key to be given away.

disable

disable <id>
Suspends key from giveaway.

listactive

listactive
Lists active giveaways/raffles.

reqkey

reqkey [<id>]
Requests a specific or random key.

enter

enter <id> [<response>]
Enters a raffle, with response to number/words as required.

rep

rep [<id>] <up|down>
Assigns reputation to key submitter. If key ID is not specified, the last key is used.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment