mojira / mojira-discord-bot

🎮 A Discord bot for linking to and providing information about Mojira tickets
https://discord.gg/rpCyfKV
GNU General Public License v3.0
19 stars 9 forks source link

Split pending request channels into helper requests and mod requests #100

Open SunCatMC opened 4 years ago

SunCatMC commented 4 years ago

The Problem

Currently requests that can be solved by helpers are lost in the request channel when there's a large volume of mod requests (like adding category) Same the other way around, but it's not as critical here because mods aren't locked up from resolving helper requests

Possible Solution

Split the requests into 2 categories: helper and mod request. Possibly detecting mod requests automatically and sending them into different chats, and have a way to manually switch the chat by an additional reaction

dericksonmark commented 4 years ago

Hello! To sort the requests, MojiraBot would probably need to know specific keywords to look out for. Here are the requests I usually see:

Now, to figure out which requests can be done, there needs to be some sort of priority system; if a request says, for example, "Fixed in 1.16.2", MojiraBot could be confused as to whether or not it is an affected versions request or a fix request. This list is not in order at all, but when fixing this issue, priority should be added to certain requests, like reopen requests, ownership requests, and fix versions as to not confuse the bot if multiple filtered keywords are used.

Capitalization and punctuation should be ignored.

Everything that misses any of these filters could go to the moderator channel. Some of these filters are not necessary if they do not affect any of the other filters and should be sent to the moderator channel anyway.

Anything that is reacted to, like you said, to switch the channel, could be added to a text file that stores all of these wrong channel requests. If there are any keywords that users start using in their requests that are missed by the filters, someone could take a look at the text file and modify the code.

I'm sorry for making so many category requests.

Congrats on creating mojira/mojira-discord-bot issue #100! 🎉

SunCatMC commented 4 years ago

add "forge" to modified ones

dericksonmark commented 4 years ago

Updated. Thanks!

Changes:

SunCatMC commented 4 years ago

why "relative"?

SunCatMC commented 4 years ago

and add "hide" and "delete" to comments

dericksonmark commented 4 years ago

Updated! Changes:

chandler05 commented 4 years ago

I am concerned that some users will still use confusing terms, or include multiple different requests in one request (like having an affected version and ownership request in one) Explanations for reopens might also accidentally include WAI keywords as well.

chandler05 commented 4 years ago

Plus, misspelling might be an issue too

dericksonmark commented 4 years ago

Oh, no! The reason I decided to write that comment was for which terms should be used for ownership requests, and I must've been so distracted trying to think of everything else that should be filtered out that I completely forgot. Oops. :(

To solve your issue about multiple requests, the filters should probably be set up using 'else if' statements so that a system of priority could be set up (if a keyword is higher in priority, then no more filters will be activated and the request would be sent to that channel; also, it doesn't have to be else if, that's just the only thing I know how to use to solve the issue).

Looking at my priority system again, I do think that it is not in the most logical order. Keywords for the moderator channel should probably be higher priority, as well as, like you said, reopen requests. Reopen requests should probably be first in priority followed by ownership requests; both of these request types could include other keywords.

I will change everything you said to change.

If a word is spelled incorrectly and no filter picks up a keyword, then the request would be sent to the moderator channel. If a moderator would not like to solve the request (because a helper can), or the other way around, they could react to the message with something like 🔁 , and then the request would be transferred to the opposite channel.

I hope that makes sense. :)

There are so many things that can make a report invalid:

'invalid', 'TS', 'support', 'account', 'purchase', 'payment', 'purchasing', 'optifine', 'spigot', 'bukkit', 'paper', 'bungeecord', 'forge', 'pirate', 'pirated', 'technical', 'billing', 'combat snapshot', 'combat test', 'combat testing', 'feature request', 'system requirements', 'computer requirements', 'graphics requirements', 'gpu requirements', 'system requirement', 'computer requirement', 'graphics requirement', 'gpu requirement', 'cpu requirements', 'cpu requirement', 'multiple bugs', 'multiple issues', 'outdated', 'translation', 'translations', 'crowdin', 'wrong project', 'incorrect project', 'english', or 'modified'

not all of these would have to be filtered for; that would probably be a lot of code.

NeunEinser commented 4 years ago

or include multiple different requests in one request (like having an affected version and ownership request in one)

That shouldn't be a problem as it then will contain a keyword that makes it a mod request.

SunCatMC commented 4 years ago

not all of these would have to be filtered for; that would probably be a lot of code.

it's just the same code over and over. some can even be combined like transtation[s] or multiple <bugs|issues> (not the code, just the explanation format) On the other hand having too many counditions could be slow, but i don't know how many conditions are required for noticable slowdown