Community costume catalogue! (.costume)
Description
A community costume catalogue would allow users to
- Look through and use a catalogue of "costumes"
- Rank those costumes using a simple upvote/downvote system
- Contribute their own costumes to the catalogue
Each "costume" would be a .png of the "costume", as well as the costume name and author
For looking through a catalogue, a simple paginator could be set up, displaying the title costume name, the costume, how many points it has. It'll also have an option to "put it on", and vote it up and down. The user would call
.costume catalogue <hot/top/new/old, default=hot>
to look through the catalogue.
|---------------|
|<Knight Sword>|
| |
| |
| ------<- |
| |
| |
| +1863p |
|---------------|
| < | Put on| > |
| |+| |-| |
|---------------|
That paginator could be viewed for a specific costume with
.costume view <name>
and to put on a specific costume, a user could use
.costume wear <name>
For creation, a user would simply call .costume create <name>, with an image attached
If the user didn't supply a title or image, there would be a prompt to do so.
Additional sub-commands could include
stats <author>stats <name>upvote <name>downvote <name>but these really aren't necessary, just something nice to have if the dev decides they have the energy to implement them. The main ones absolutely needed have already been listed above
Reasoning
We've had the .spookify command for ages now, and not really much else in making avatars extra spooky. This could really bump community engagement in the server, with everyone competing to make the best "costume" possible.
Proposed Implementation
- Each costume would have a database entry, and an image in an external folder
- Each database entry has a name, author, up and downvotes, the filename of the image, and a "weight".
- "Putting on" a "costume" would simply be layering the "costume" on top of the user's avatar with PIL
And a "weight" system for figuring out which costumes are "hot"
- Every time a costume gets added, all the other costumes gain, say, 10 * (age of costume in days) weight.
- A costume receiving an upvote would subtract 1 weight, and a costume receiving a downvote would gain 1 weight
- Costumes with the least weight would be displayed at the top of the "hot"
Additional Details
This might need light moderation in case some costumes are really terrible
Would you like to implement this yourself?
- [ ] I'd like to implement this feature myself
- [x] Anyone can implement this feature