Skip to content

Auctions

Łukasz Domeradzki edited this page Mar 9, 2019 · 46 revisions

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>

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.


Normal (1)

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 (2)

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.

Clone this wiki locally