Open 23nd opened 6 years ago
@Navi-King While designing the tech spec, I came up with 7-9 more questions:
.shop
shows the time remaining on the auction item, I think intervals of time are fine (maybe borrow the current time system used for reminders, etc.)Okay, if auctions are going to be bound to the channel that they were defined in, that raises a few more questions:
.AuctionAdd
command? Without this, you won't be able to define auctions in a private channel for public use..AuctionHouse
only list auctions for the current channel? Or should it just specify which channel each auction is active in? Or maybe it should accept a Channel mention/ID parameter to filter the results with?I also have some other questions:
.cmdcooldown
command? Or do you prefer it to be managed internally with a AuctionCooldown config setting?.AuctionInfo
to check the status and get the bid history for a given auction item. With this, people can check if the auction failed to deliver the reward to the winner..AuctionClaim
for winners to claim their reward should an auction fail to deliver (whether due to a disconnect or some other error like being blocked from DMs or a Role not existing)..cmdcooldown
would interfere with bidding from one to the next.Re: 1. If auctions will always be defined in their home channel, then you won't be able to privately define the reward for the auction (like a steam code) unless there is a command for changing the reward value before it gets delivered.
oh I see. Hmm, in that guess yeah I guess it would be good to have a channel argument.
Oh, upon closer inspection, I see that .shoplistadd
is what you currently use to add secret rewards to an existing item in the shop. Would you prefer something like that for auctions?
This would mean:
.shopadd
.auctionadd
, .auctionaddprize
, and .auctionstart
.auctioninfo
would need to show the results separately for each iteration, with the latest iteration being displayed by defaultThe way I was going to handle it was to iterate over the prize list (in order) so that the Nth prize goes to the Nth highest bidder. However, it may get complicated if you want to be able to change the order of rewards after you've already added them. In such a case, it might be best to let you remove items and add them back in the order you want them (1st to the top bidder, 2nd to the next, etc.).
Yes, each iteration has its own ID. You can get information about a specific iteration by doing .auctioninfo AuctionID ITER=IterationID (Page#)
so that IterationID and Page# do not get mixed up. I was planning to have the default .auctioninfo AuctionID
show info for the latest iteration, but I can easily change this to list all of the existing iterations with their Start/End dates and status.
I added the quotes for these to the commission sheet so you can see how long/how much this will take. The tech spec is nearly done as well-- just fine-tuning the details for each command right now. I also just added the tech spec folder to your LinBot folder.
I think both of your suggestions are good. I'd also like to suggest that the output for the complete .auctioninfo command show how many pages there are kind of like in the other pagination (e.g., page 1/X).
Yes, of course!
.h .shopadd