-
-
Notifications
You must be signed in to change notification settings - Fork 104
Introduce thread-based help system #445
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Tais993
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just quick comments while looking through the code
application/src/main/java/org/togetherjava/tjbot/commands/help/HelpThreadOverviewUpdater.java
Outdated
Show resolved
Hide resolved
application/src/main/java/org/togetherjava/tjbot/commands/help/HelpThreadOverviewUpdater.java
Outdated
Show resolved
Hide resolved
|
Try: Ping role instead of adding everyone to the thread manually, but: |
a89ec53 to
af053de
Compare
Did not work. Instead, try adding the ping via message edit in hindsight. |
|
Results of first beta test:
|
9173aad to
73dbeaf
Compare
3ad6f75 to
8505f2f
Compare
PoC for thread overview Auto update more frequently, adding close command Removed old free-system Adjust top helper system Implicit ask listener, invite author to thread, more stable listening Added user cooldown Adjusted cooldown time Adding tags and auto-invite helpers tag -> category (to avoid confusion with tag system) Change help category command Added categorizing of active question overview getGuilds() -> getGuildCache() (CR Tais) Bot message cleanup routine invite helpers via soft-ping Fixed some bug with the overview sorting overview by creation time desc changing cleanup timer 5min -> 2min Bugfix with overview message retrieval added "how to ask" explanation improved "how to ask" explanation Bugfix wrong messages selected as status messages Removed code duplication, code polish Javadoc bugfix with change category not matching Fixed missing docs Overloads should be placed next to each other (linter)
8505f2f to
a1d3e54
Compare
|
Kudos, SonarCloud Quality Gate passed! |
|
Merging after 7 days of inactivity |






















Overview
Implements and closes #444 .
This provides a thread based help system, replacing our current channel based help system.
The system consists of two channels:
#ask_here, the go-to channel to ask questions:#active_questions, the go-to channel for helpers:How to ask
Ask command
The main way to ask questions is by using the
/askcommand in the staging channel. Users can select a title and a category:The bot then creates a thread for the question, adds the asker and all helpers interested in the selected category. The user can now proceed and enter their details in the thread:
Implicit ask, fallback
Additionally, there is a fallback mechanism that catches everyone not using the
/askcommand but just posting directly into the channel:The bot picks this message up, crafts a title by taking the first words of the text and creates a proper question thread for the user. The original message of the user will be deleted for cleanup and transferred to the thread instead:
How to help
Helpers can either drop in and out as they want, using the overview provided in the overview channel (
#active_questions) or the full thread list provided in Discord:Or they select categories they are interested in, via a dialog in the overview channel:
Helpers are then automatically added to threads about these topics. The role settings can be adjusted at any time, allowing helpers to opt in and out as they want.
Extras
Close
Once the question is resolved, it can be closed using the
/closecommand. Otherwise, it will automatically be closed after 24h of inactivity:Change category
If users selected the wrong category for their questions, the
/change-help-categorycommand can be used to adjust the category in hindsight:Helpers for the new category are automatically added to the question thread.
Config
The config changed, we removed the old free-system:
and therefore added the new help system:
For the system to work, you have to create the following channels (adjust based on your config):
#ask_hereactive_questionsand the following roles:
Java - HelperFrameworks - HelperJavaFX|Swing - HelperChecklist
Ensure (at least) author can reopen their channel for follow-ups(anyone can unarchive without extra perms)/role-selectto be fixed (needed for category roles)Beta 1
DELETE_MESSAGE_AFTER-> change 5min to 2min/change-categoryin manually created threadexplore possibility to ping helpers after actual question has been posted (first message of author?), or maybe just after 1 minute. gives enough time to flesh out the question