Skip to content

[giveaways] Creation Thread #61

@calebj

Description

@calebj

Since GiveawayBot is officially dead, and I've been wanting to write this for a week or two, here's the thread.

All of my cogs are for Red v2, and this one will be too. Once the issues in the v2 cogs are resolved, I'll start working on a config system I'm happy with and then get to work on porting to v3.

Below is the original usage:

  • !ghelp - Provides the bot's commands via Direct Message
  • !gcreate - Interactive giveaway setup
  • !gstart <time> [winners] [prize] - Starts a new giveaway in the current channel. Users can react with a 🎉 to enter the giveaway. The time can be in seconds, minutes, hours, or days. Specify the time unit with an "s", "m", "h", or "d", for example 30s or 2h. If you include a number of winners, it must be in the form #w, for example 2w or 5w.
  • !greroll [messsageId] - Re-rolls a winner. If you provided a message ID, it rerolls the giveaway at that ID. If you leave it blank, it looks in the current channel for the most recent giveaway and rerolls from that.
  • !gend [messageId] - Ends a giveaway immediately. If you provided a message ID it will end the giveaway at that ID. If you leave it blank, it looks in the current channel for the most recent giveaway and ends that.
  • !glist - Lists currently-running giveaways on the server.

These are the changes I plan to make to the UI from the original commands:

  • Make each command a subcommand of [p]giveaway
  • Remove [p]ghelp
  • Use enhanced <time> field parsing (supports combinations of units like the rest of my cogs)
  • Parse the number of winners with ONLY numbers, as the w unit represents weeks

And these are some extra features I would like to add:

  • Allow users to confirm whether they received the thing being given away
  • Edit giveaway time remaining
  • Add option to trigger a drawing when the number of reactions is N or X% of the server's population
  • Limit giveaway creation and drawing to members with certain role(s)
    • Or exclude certain roles
  • Customize the reaction used to enter

Metadata

Metadata

Assignees

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions