Icecrown-Community / Icecrown-Precious-Bot-Public

1 stars 0 forks source link

Suggestion for bot posting #54

Closed Tueri closed 3 years ago

Tueri commented 3 years ago

To set the scene, there are no "announce" channels, only M+ chat/pushing/teams in each H/A category, like so: image

When a key is posted, a channel is created with the bot post inside it, pinging relevant roles as normal, and the channel is named by the faction, armor type and a unique identifier (e.g #plate-h-03886, or #h-03886 for no stack): image

Keys that are posted this way are visible to everyone and advertisers can ping them as normal, so their permissions just mimic what we have now with the bot posting channels.

When the πŸ”’ reaction is pressed by the advertiser, the permissions of the channel then change, so that only the specific advertiser and the 4 people who are running the key can view the channel, and the channel is moved to a "running" category in Discord. It's not impossible that we have 50 keys running simultaneously, and looking ahead with growth it only becomes more likely, so a category for each armor type in the running state seems appropriate (emoji/names are not final πŸ˜„): image I feel this would easily accommodate both Horde and Alliance keys (at least for now, unless we blow up Alliance side), while still being under for channel cap (which we are still working on for more channel removals). On a Tuesday we have around 18-25 keys ongoing at any one time, which means that many additional channels (+1 for voice too), which is fine for current limitations.

If the :openboost: reaction is used, the channel permissions revert to their original state and everyone can see it again. These can be left in their running category I suppose (trying to be mindful of limitations), where the adv can just ping from there, but if not a limitation to have it moved back up to the M+ category then great.

If the β˜‘οΈ is pressed by the booster, the channel is moved down to a key completed category (only one category should ever be needed for this), and if a time limit can be set, this shouldn't be possible within the first few minutes of the key being locked: image

If the ❌ is pressed by the booster, the advertiser should get notified as normal but no further action on permissions or movement of the channel - that is for the adv to decide and boosters are too pepega with this button.

If the β˜‘οΈ is pressed by the advertiser, the run is submitted to the database, then the voice and text channels are both deleted. Which means a small change would be needed - the "Boost Ready" (the one with a link to voice etc) DM from Precious needs to include the ID of the run to help boosters keep track against their logs. If the ❌ is pressed by the advertiser, the run is marked as depleted and the admins get notified as usual (I'm unsure if the voice channel gets deleted when ❌ is pressed right now, but it should), and the channel remains for manual purge by admins once finished with the corresponding ticket/review (or allow us to click the pepe emoji and invoke self-destruct, which might be better if a booster manager role is ever introduced where they may not have power to delete channels). The permissions change on these keys once the reaction is pressed, to just decline all roles, where only admins can view. The channel could be renamed to something too like, "h-vacant-03886" (avoiding the word "deplete" for the lurkers).

πŸ”ˆ Voice channels should be purged after 1 hour of creation, if it's possible to add a timed function for this.

Therefore, as an Advertiser, you can clearly see the runs you need to submit (which means advs no longer have to wait for the #⏱️reminder channel/sift through hundreds of DM's from precious/scan the channels for unsubmitted runs). You can simply go through the channels you have open. These changes mean advertisers can't see each others' keys (unless the adv has booster roles), less clutter overall. As a Booster, you can clearly see the runs that need submitting for you, and know what gold intake to expect. It also means they don't see runs in progress or completed that they did not take part in.

For admins this is a big papaface viewer side, but for the rest it should keep things in order, and keep things relevant. It will completely negate the flooding of channels, and it may even be an idea to allow typing in these channels to help advertisers fill runs (with slowmode), as boosters will be able to offer themselves if they don't meet the bot requirements.

We may also need/want Horde and Alliance Armor type roles - Horde Plate, Alliance Leather etc, which will allow specific roles to be able to view only the armor types they are eligible for (Cloth/Mail not affected by Tank roles, permission can be set on Cloth/Mail keys for base tank role - "Rare Tank" to be able to view, and it will override anything else specified on armor types regardless).

Some edits may be required in the way a boost is setup, as we are transitioning to the website - requesting specific armor types in specific slots, as well as allowing multiple keys signed, would ensure there are no runs needing to be manually posted. As an example, a customer may want a plate stack, but due to the difficulty of finding a full plate group, the adv and the customer may agree to a partial plate group, as long as the DPS and Healer were plate, but would take any tank (these would come through like general keys would in the naming convention of the channel). A field for "customer's preferred loot spec" would be amazing too.

Papa2324 commented 3 years ago

Very interesting idea. And that's all I can currently say, I'm not sure how I feel about it, but looks interesting for sure. The only thing I'm "scared" of is the fact that they could get lost with the channels, mix things up, randomly react and go pepega. I can see that happening definitely, but apart from that sounds quite interesting. Could be useful to ask some decent boosters for opinions since they are the ones that spend their time in these channels.

Wanhedaa commented 3 years ago

The idea is interesting, i think in an another community they already use it, but obv that is a smaller community. There for:

If the β˜‘οΈ is pressed by the advertiser, the run is submitted to the database, then the voice and text channels are both deleted.

The current problem is, if an advertiser is blasting at advertising, and waiting the next day with the submits, the double channels (both text and voice) channels will be up until the advertiser doesn't submit. This means, we will have way more channels at Tuesday, than we have now.

We may also need/want Horde and Alliance Armor type roles - Horde Plate, Alliance Leather etc

This would help the advertiser's life who do boosts aswell. I kinda like this idea.

Everything else is interesting, i like this idea, but also we need to move some channels for this. For example the curve voice channel is on the bottom, while the curve channel is in the middle. If we do like this, on tuesdays while i wanna watch the stream to know where are they, will be hard to scroll always up every time i wanna watch the stream (i know, i could use the pop up version for this, but that just eats more memory and im on 98% usage already while i have 5 clients + browser open).

^ All i wanted to say with it if we have 20-25 keys on going, as a booster i'll get 86 million ping so i'll see those channels always while i have to scroll up from down to up to find the curve channel

Tueri commented 3 years ago

^ All i wanted to say with it if we have 20-25 keys on going, as a booster i'll get 86 million ping so i'll see those channels always while i have to scroll up from down to up to find the curve channel

This would not be a problem, we can just put the raid voice channels into the raid category, or split them. They are not tied to any bot function so we are free to manipulate them as we like,

IndigoICC commented 3 years ago

I'm a very big fan of this - Ergonomically; the pure appearance of the Discord for the boosters would be a welcoming change. Indeed, not for admins :papaface:. Making it "easier" for advertisers to remember to submit their runs is a plus from me. This would also negate the tickets we get from boosters if an advertiser has not submitted their run within the 24 hour limit - Essentially giving clarity and diminishing endless pings.

Faction Specific armor roles; Overall; this would give a positive limitation towards the amount of pings that are thrown out towards the current universal armor roles we've got; nothing but upside here.

Getting boosters involved; Brilliant idea. Much like the SystemTesting we have going; this is an ample opportunity to generate data and feedback from the boosters "in the field".

Sidenote: Regarding the Raiding voice channels; I've moved them to the Raids Category (will have this announced too). The Legacy voice has been moved to the Legacy Category too; I like the idea of starting to split certain channels/sections. (Will fix up permissions for them; so they are viewed solely by the respective roles).

iElsha commented 3 years ago

I love the idea it's great.

I don't think we need one running category per faction, they'll just see their boosts inside and a category count as a channel so it imitates the number of channels. image

The voice channel will get deleted when the β˜‘οΈ is pressed by the boosters (after the famous delay to avoid errors).

@Tueri I have sent you a list of active boosters that you can DM for feedback (they range from 30 to 150 runs per cycle). You can directly share the link to this post.

Choppaaz commented 3 years ago

I like the idea in fact :) This way it will be more organized

Efthymios-Papakostopoulos commented 3 years ago

The overall idea looks great πŸ‘ as it can help everyone (Boosters,Admins,Advertisers) to be more organised. Although there is the first part were it can be confusing for boosters & advertisers. I can already imagine 5+ channels open at once, advertisers asking for people to sign, them signing into other advertisers, swapping channels, boosters not being able to see some boost runs etc... it will be hella confusing.

I would suggest changing the first part by having static channels as we do right now but splitting them into Rare & Epic

After advertiser clicks πŸ”’

1) Bot deletes the boost run in the static channel 2) New channel is created with the Boosters & Advertiser in the Running category. 3) Rest follows the steps as mentioned in the original post.

Tueri commented 3 years ago

I would suggest changing the first part by having static channels as we do right now but splitting them into Rare & Epic

Splitting Rare and Epic is not good for the overall boost economy - we don't want rare keys not filled by Epic players for example.

Not sure what you mean about the πŸ”’, my suggestion above is the same, but not deleting the channel, just moving it and changing the permissions.

Efthymios-Papakostopoulos commented 3 years ago

Splitting Rare and Epic is not good for the overall boost economy - we don't want rare keys not filled by Epic players for example.

Not sure what you mean about the πŸ”’, my suggestion above is the same, but not deleting the channel, just moving it and changing the permissions.

I do mean that i am against in the idea of having a new channel each time a boost run is posted while the bot can just deleted the message in the static channels instead and then follow the steps as you explained which they are perfect.

Tueri commented 3 years ago

I do mean that i am against in the idea of having a new channel each time a boost run is posted while the bot can just deleted the message in the static channels instead and then follow the steps as you explained which they are perfect.

From a technical perspective I don't think the dynamic embed would function if deleted then reposted, as it has the booster queue attached to it. Also, if multiple keys are posted at once in the static channel, we run into the same issue we are tyrying to mitigate, of having the boost channels flooded.

Dejnaa commented 3 years ago

Tueri, I love the idea! I like ALL of it.

Did you consider how this would work in reality when boosters sign up for multiple keys hoping to get in on any of them, and then being accepted into 1 on then having 5-6 channels to have to go into to "unsign" - which to be frank they never remember to do?

MartinPahnev commented 3 years ago

Maybe, if we add a 3rd breakpoint to the bot, after the running confirmation, that they key has started, so the bot can delete the channel, since if the key has started there will be no need to reopen and replace.

And with that 3rd confirmation, the bot can just post an embed in a channel designed for that(1 per armour type/general per faction), for the advertisers to mark as completed and submit it into the database.(Bot still provides a hyperlink to that embed to both boosters and advertisers)

Did you consider how this would work in reality when boosters sign up for multiple keys hoping to get in on any of them, and then being accepted into 1 on then having 5-6 channels to have to go into to "unsign" - which to be frank they never remember to do?

Possible to include a bot-side limit to amount of signups 1 guy can do, to prevent multisigning?

Tueri commented 3 years ago

Maybe, if we add a 3rd breakpoint to the bot, after the running confirmation, that they key has started, so the bot can delete the channel, since if the key has started there will be no need to reopen and replace.

While nice, this doesn't work well for multiple keys posted in the same RunID, where it is necessary sometimes for the key to be opened. When locked, the permissions change to just 4 people anyways so it should be fine.

Possible to include a bot-side limit to amount of signups 1 guy can do, to prevent multisigning?

Hopefully πŸ˜„

Tueri commented 3 years ago

image

Tueri commented 3 years ago

image

Tueri commented 3 years ago

image

iElsha commented 3 years ago

Implemented in the new update