Minehut / Meta

Report bugs or issues and request features and updates for Minehut
31 stars 21 forks source link

Discord Threads #702

Open n-tdi opened 3 years ago

n-tdi commented 3 years ago

Feature request

Checklist

Platform

Discord **Describe the feature**

Allowing Creation of threads in discord channels such as #Community-help or #Skript How the feature is useful

When in peek times of the channels, its easy for chat to get flooded, with threads you can separate the Asker and the Answerer in to their own text channel to resolve the issue better.

Use 👍 and 👎 reactions to indicate you agree or disagree with this suggestion! Feel free to discuss the idea in the comments.

Centrect commented 3 years ago

Won't happen yet due to the Minehut discord bot not really having the ability to moderate threads

n-tdi commented 3 years ago

Using the Thread Create event (assuming the bot is written in discord.js) you can just check if the threads name bypasses the blacklisted words filter.

https://discord.com/developers/docs/topics/threads

Sniped commented 3 years ago

Using the Thread Create event (assuming the bot is written in discord.js) you can just check if the threads name bypasses the blacklisted words filter.

https://discord.com/developers/docs/topics/threads

The Minehut bot currently uses v12, the stable release of discord.js, which does not currently support threads. I believe that we should wait for v13 of discord.js to become the stable release of discord.js before we add this feature.

Going back to the main issue, I believe that threading could be introduced as a way to separate community support questions in a "ticket" style. There can be a main channel (such as the #support-info channel) and then there can be a button to create a thread about the support question. People interested in answering support questions can look at the thread list on some channel and join the threads that need attention. Potentially, maybe even have a role that people can react to to get notified of when new support "tickets" are created. I'm not sure if pinging an entire role joins the entire role to the thread or not.

CoreyShupe commented 3 years ago

Seems like this could be used better to generate an "FAQ" where if you have an issue you can look through threads or be referenced to one. I'm unsure if there's a way to reference threads at the moment though.

tarna commented 3 years ago

Seems like this could be used better to generate an "FAQ" where if you have an issue you can look through threads or be referenced to one. I'm unsure if there's a way to reference threads at the moment though.

By reference thread do you mean where you can ping a channel name in which you click and it takes you to that channel? If so, yes you can do the same with threads. Just <#channel id> to do that.

Sniped commented 3 years ago

Seems like this could be used better to generate an "FAQ" where if you have an issue you can look through threads or be referenced to one. I'm unsure if there's a way to reference threads at the moment though.

Are you proposing a list of read-only threads that give answers to certain questions or something like Stackoverflow where you look through threads that other people made with the same problem/question as you?

CoreyShupe commented 3 years ago

Are you proposing a list of read-only threads that give answers to certain questions or something like Stackoverflow where you look through threads that other people made with the same problem/question as you?

not a read-only, more of a read-write then ones which get solved get placed into a read-only mode then you can look through and see if someone has the same problem. So essentially yes but community generated which start as writable and can be marked as read-only if it's a good solution and the thread is named appropriately.

n-tdi commented 3 years ago

Threads are temporary and get deleted after a day (at max). There could be a way to convert all the messages to a permanent text channel but that might get messy..

Sniped commented 3 years ago

Threads are temporary and get deleted after a day (at max). There could be a way to convert all the messages to a permanent text channel but that might get messy..

I believe they only get archived, a member can still access the thread despite it being archived, no?

tarna commented 3 years ago

Threads are temporary and get deleted after a day (at max). There could be a way to convert all the messages to a permanent text channel but that might get messy..

Threads don't get deleted, just archived and they only get archived after a day of inactivity by default, not just after a day. And since Minehut is max boost level, people can set a thread to archive after 1 week of inactivity.

Sniped commented 3 years ago

not a read-only, more of a read-write then ones which get solved get placed into a read-only mode then you can look through and see if someone has the same problem. So essentially yes but community generated which start as writable and can be marked as read-only if it's a good solution and the thread is named appropriately.

Would there be an easy way for people to get threads that pertain to their question/problem? Such as being able to search keywords that relate to their problem and get threads titled with those keywords? Going through what may be pages of threads just to find one that pertains to their question/problem seems a bit tedious imo.

tarna commented 3 years ago

Would there be an easy way for people to get threads that pertain to their question/problem? Such as being able to search keywords that relate to their problem and get threads titled with those keywords? Going through what may be pages of threads just to find one that pertains to their question/problem seems a bit tedious imo.

The discord search feature also shows messages in threads. So one could just search their issue/question to find like a thread about it. But that could also still get hard to look through. The bot could have like a command or something to search for things like that maybe.

Also about your suggestion where someone could press like a button to create a thread to ask a question in, can you create a thread without a message to start it from? Like usually you have to start a thread from a message and the thread name will be the message it was started from.

Sniped commented 3 years ago

Also about your suggestion where someone could press like a button to create a thread to ask a question in, can you create a thread without a message to start it from? Like usually you have to start a thread from a message and the thread name will be the message it was started from.

Yeah, I didn't realize that when I originally wrote the suggestion. I think that maybe the bot could send an embed in the thread that allows for (maybe?) a moderator to mark the thread as resolved via a button put as a message component on the embed.

tarna commented 3 years ago

Yeah, I didn't realize that when I originally wrote the suggestion. I think that maybe the bot could send an embed in the thread that allows for (maybe?) a moderator to mark the thread as resolved via a button put as a message component on the embed.

I got an idea. What if there is this new channel just for threads. A user will do a command like !command <question> and the bot will send a message to that thread channel and start a thread from that message. The channel will have a collection of all the question threads people have made. This could also help with the issue of how people could search for threads. Just search a certain word or question in that channel using the Discord search feature to find if there has been a thread about it.

Sniped commented 3 years ago

I got an idea. What if there is this new channel just for threads. A user will do a command like !command and the bot will send a message to that thread channel and start a thread from that message. The channel will have a collection of all the question threads people have made. This could also help with the issue of how people could search for threads. Just search a certain word or question in that channel using the Discord search feature to find if there has been a thread about it.

I wonder if, when a member clicks the button a message, the bot can ask for further input to the user on what their issue is and create the thread that way. The thing with a command is that I fear it may be too complicated for someone just joining the discord that needs support on their server. Looking at discord.js docs, it could be possible to get an input through a follow up message on the interaction, though that might look weird in a channel. Maybe when the button is clicked, the bot sends a DM to the member asking for further input?

tarna commented 3 years ago

I wonder if, when a member clicks the button a message, the bot can ask for further input to the user on what their issue is and create the thread that way. The thing with a command is that I fear it may be too complicated for someone just joining the discord that needs support on their server. Looking at discord.js docs, it could be possible to get an input through a follow up message on the interaction, though that might look weird in a channel. Maybe when the button is clicked, the bot sends a DM to the member asking for further input?

Ya I see. And that could work. Pressing a button in a channel could dm the user asking what their issue was and it will create a thread from that. And the bot could also send that client side message thing, not sure if it has a name, in that channel saying to check their dms or something for it.

Another thing is that would this feature only be used for normal Minehut related questions or maybe also for the skript and code channel. Since the skript channel is the 2nd most active channel on the Discord and the code channel seems to be growing more activity since the announcement of custom plugins coming. What we could do is use the Select Menu component which could have 3 options. help, skript, and code or something like that. The user will select one of those 3 topics and then press the button, which will do the thread creation and stuff.

Sniped commented 3 years ago

Ya I see. And that could work. Pressing a button in a channel could dm the user asking what their issue was and it will create a thread from that. And the bot could also send that client side message thing, not sure if it has a name, in that channel saying to check their dms or something for it.

Would be good to tell users to enable DM's if they're disabled as well.

Another thing is that would this feature only be used for normal Minehut related questions or maybe also for the skript and code channel. Since the skript channel is the 2nd most active channel on the Discord and the code channel seems to be growing more activity since the announcement of custom plugins coming. What we could do is use the Select Menu component which could have 3 options. help, skript, and code or something like that. The user will select one of those 3 topics and then press the button, which will do the thread creation and stuff.

This could be done, though I also believe that the skript channel and the code channel should still be able to be used for skript and code talk as well as for support using this, so having the parent channel housing the support threads still unlocked. Though people might not understand the process and still ask questions in the parent channel regardless of the threading system.