Skip to content

spec.giveaway‐0

Orciument edited this page Nov 30, 2024 · 5 revisions

This spec covers a reduced giveaway feature set for the use in the emergency replacement bot. The integrated timers, giveaway policies, and features for the public websites are cancelled for this iteration.

Actions:

Create a blank Giveaway with the Panel

In the Giveaway List there needs to be a button to create a new blank Giveaway.

This should open in a sheet. The form should have the following fields:

  • Command Pattern (of the automatically generated command that should be used to enter the giveaway)
  • A Giveaway name (this is freeform text used to find the Command again, will maybe be displayed to the user, can be duplicate)
  • Notes (freeform text used for internal purposes. textbox should have enough height for around 500 chars)
  • Autostart Timer (Hour and Minute, at which to automatically open the giveaway. This explicitly can be null/empty. Popup Interface only needs to select in 5 minute steps. Popup Interface need explicit button to clear value)
  • Autoclose Timer (Hour and Minute, at which to automatically close the giveaway. Same specs as with the Autostart Timer)
  • Ticket cost (cost in coins of each ticket)
  • max tickets (max tickets a user can buy)
  • Allow redraw (boolean which changes if a user that is already in the winners list can be drawn again)
  • Announce winner in chat (boolean which changes if we sent a message announcing the winner publicly in twitch chat)

Create giveaway from a template

Creating a Giveaway from a template should use the same ui as creating a blank giveaway. All values listed in the creating a blank giveaway need to be used as the default when filling in the creation form. The only exceptions are the Auto-start/close Timers. The template values exist as X minute Offset (Or 0 as null/no timer) This relative time needs to be combined with the current time to make it an absolute Hour:minute stamp and then used as a default form value for the giveaway

Open a Giveaway

In the Giveaway window, you can open a closed or just created giveaway by clicking the "Start Now" Button. This enables the command and allows users to enter the giveaway.

Open a giveaway automatically at a later time

In the Giveaway window, you can open a closed or just created giveaway by setting a autostart time and saving the giveaway as normal. If the specified time is reached, the giveaway and command are enabled to allow users to enter the giveaway. The autostart time can be removed and consists of an Hour and Minute. This means that the furtherest possible value is nearly 24 Hours in the future.

When the timer run out, the timer field value needs to be automatically cleared to stop the timer from looping infinitely.

//TODO how do we exactly internally set the timer

Join A Giveaway

Draw one user

Redraw

Reject a winner

When hovering a winner, a Button with an icon should appear, this button can be used to indicate that a winner is disqualified for any reason. This change is automatically saved without further confirmation.

The Button should appear right next to the "comment on a winner" textbox and should usually to describe the reason for the disqualification.

The icon can be selected freely, it should convey a meaning of Rejecting/Removing someone/something, almost all users are removed because they are not in the chat when they are drawn, so that should be kept in mind when choosing an icon.

Currently, there should not be a requirement for the user to add a reason when rejecting a winner

//TODO this needs to be in the logs

Manually trigger a winner announcement

Comment on a winner

Used to write down miscellaneous information like the chosen colour when selecting out of multiple versions When hovering a winner, a textbox with should appear on the right side of the row. This textbox can be used to write a short notice. A Save Button right next to the Input box can be used to save the text. Pressing enter should also save the change

//TODO this needs to be in the logs

Refund one user

Refund all users

Close an opened Giveaway

Archive a giveaway

Reopen an closed Giveaway

Edit a Giveaway

This Edit Page should generally be split into 3 columns, and have a thick colour coded border (in relation to the GW status) around the entire form

Change ticket cost

Reduce maximum tickets

Edit a giveaway template

Delete a giveaway template

Create giveaway template

Cancelled Features

Removed Features are listed here for completeness and to clear up confusion

Confirm a winner

Change:

winners are now automatically accepted, but can then be rejected anytime later. This seems better because there could be complications in the process hours after the giveaway, and we would want wo mark and redraw if that is wanted

Temporary Information storage

Giveaway statuses

CREATED, RUNNING, PAUSED, ARCHIVED,

Clone this wiki locally