-
Notifications
You must be signed in to change notification settings - Fork 26
Auctions
Auctions module is a chat activity that can be started by any user using auction
command. The actual syntax is:
auction <Type> <StartingBid> <MinimumIncrement> <MaximumIncrement> <AuctionedItem>
Example: auction normal 1000 500 10000 The Witcher® 3: Wild Hunt
The Type
of the auction must be specified as one of the available types from below. StartingBid
is specified as 32-bit unsigned integer. MinimumIncrement
and MaximumIncrement
are specified as 16-bit unsinged integers. AuctionedItem
is any user-specified string, including whitespace characters.
The auction can be canelled at any moment through cancel
command sent by the owner of the auction. In addition to that, the auction will be automatically cancelled if the total number of actions exceeds 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 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 bid), or the auction is cancelled (otherwise).
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 (either by the owner, or because of actions limit).