-
Notifications
You must be signed in to change notification settings - Fork 26
Auctions
Auctions module is a chat game that can be started by any user using auction
command. The actual syntax is:
auction <Type> <Copies> <StartingBid> <MinimumIncrement> <MaximumIncrement> <AuctionedItem>
Example: auction normal 1 1000 500 10000 The Witcher® 3: Wild Hunt
The Type
of the auction must be specified as one of the available types from below (either as a string, or a number). Copies
are specified as 8-bit unsigned integer. StartingBid
is specified as 32-bit unsigned integer. MinimumIncrement
and MaximumIncrement
are specified as 16-bit unsinged integers. AuctionedItem
is any user-specified string, can include special and whitespace characters, as well as platform-specific formatting.
The auction can be cancelled at any moment through cancel
command sent by the creator of the auction, or appropriate moderators of the channel. In addition to that, the auction will be automatically cancelled if the total number of actions reaches 255
. Action is interpreted as any kind of game progress, either executed by the user, or by the auctioneer.
Normal auction is the situation where the user hosting the auction wants to sell his AuctionedItem
to one of the other users. The auction starts with a minimum of StartingBid
and maximum of MaximumIncrement
added to it. After the first bid is done, every following bid must be between MinimumIncrement
(inclusive) and MaximumIncrement
(inclusive) added to the current value.
Users bid by posting a single message containing the bid amount, as an integer. A message that can't be parsed into an integer isn't considered as a bid, and will not be taken into account.
The auctioneer will move to the next stage every 15
seconds while no valid bid is done, GoingOnce
, GoingTwice
and Gone
, in order. Creating a valid bid resets the stage back to Bidding
. Once Gone
stage is reached, the auction is closed and the AuctionedItem
is sold (if there was at least one valid bid), or the auction is cancelled (otherwise).
Once auction is Gone
, top bidders equal to Copies
count will win the game for the real price of the lowest of their (latest) bids.
Reverse auction is the situation where the user hosting the auction wants to buy AuctionedItem
from one of the other users. The auction starts with a minimum of StartingBid
and goes up by a random value between MinimumIncrement
(inclusive) and MaximumIncrement
(inclusive). It's possible to set both to the same value in order to avoid random increment.
Users sell their AuctionedItem
by posting a single "sold" message, case insensitive. Posting a "sold" message is equal to finishing an auction by selling the item for current bid in the auction. A message that can't be interpreted as "sold" will not be taken into account.
The auctioneer will increase the bid every 5
seconds until one of the users decide to sell the item, or the auction is cancelled (by the owner/moderator, or due to actions limit).
The auction ends when all Copies
will be sold. Afterwards, all users that managed to sell the item obtain the amount equal to the highest value that the item was sold for.