pinano-discord / Pinano-Discord-Bot

A Discord bot for the Pinano guild
MIT License
9 stars 11 forks source link

Move recital roles to p!stats card #78

Open pianiststickman opened 5 years ago

Juliacare commented 4 years ago

Ill make some card designs in the next few days in between piano practice. God smite me if I don't.

Juliacare commented 4 years ago

Achievement_card recent_recital one_to_five

ten_to_twentyfive five_to_ten

Juliacare commented 4 years ago

twentyfive_to_fifty

pianiststickman commented 4 years ago

Having thought about this for a bit, I'm convinced that the right thing to do is to convert the stats card to an embed. Several reasons:

  1. All of the information currently captured by the card, as well as its organization, fits neatly into an embed concept. Current session/overall time, ranks, and achievements turn into fields. The profile picture goes into the embed's thumbnail. The username becomes the title. Perhaps most crucially, badges can be implemented as custom emojis.
  2. We get Unicode support back by completely bypassing jimp.
  3. Animated thumbnails are actually animated in embeds.
  4. Embeds are flexible, graphics are not. If we run out of space on the graphic or want to add a new badge we have to upload new assets. We don't need to do any of that with an embed. (We would still potentially need to update logic to actually recognize when to award the badge, of course.)
pianiststickman commented 4 years ago

So here's a first stab at badges and the graphics we'll need:

I think that's a good start for now. Looking at the old list of achievements we floated around I do like the idea of "focused" as well, but we can worry about that later. Note that we'll need to upload the emojis first before the bot changes, because the bot requires the IDs of the emojis.

Juliacare commented 4 years ago

recital badges: something like 🏆 or 🏅 with the number of the recital overlaid on top of it, in the colour of that recital's current role on Discord. These to be uploaded as :Recital_1:, :Recital_2:, etc. as custom emojis on the server.

I believe this is a bad idea and were better off simply listing out the recitals parcipated and then give a badge based on total recitals played like 1 5 10 15 20, bad idea because this is going to just increase work for the recital managers and theyre already so unmotivated to do half of the things we ask of them.

Juliacare commented 4 years ago

hundredhours twofiftyhours fivehundredhours fortyhours

pianiststickman commented 4 years ago

I still disagree regarding the recitals. First, it shouldn't be any more work for the RMs than what is currently happening. In fact it should make it easier, if the bot can batch process an entire role into a recital code (i.e. everybody with role "Performer" gets recital code 36 - that could be one command). The second reason is that early recital badges are a point of pride for our members with more lengthy tenures and I'd rather keep that by not reducing recital participation to "number of recitals played". It's possible that they don't need to be badges but a plain-text list seems like it'd be rather unaesthetic...

Juliacare commented 4 years ago

I'm just unsure how to make these recital badges work. -We could have it generate a new badge based upon assets and just recolour the assets to a random hexcode from a list but that might give weird results or make all badges just recolours which can look a bit unappealing. -Making a badge for every recital can be a bit tedious as the bot has to be updated every recital as well if that was the case. -Another option is plain text which I have to agree looks kind of dull. -Then theres the option of 1-5, 6-10, 11-15 etc which I understand can be a bit impersonal so to say.

pianiststickman commented 4 years ago

Quick triage comment: this is still a good idea, it's just probably more work than it's worth right now.