Ordered punch-list (aiming to complete by 2021-01-08) ----------------------------------------------------- • Add an "archive channel" button that is provided out after a puzzle has been solved. • Add tags to the puzzle edit interface • Make the /hunt command drop from the database any rounds that have 0 puzzles in them Recently-proposed ideas (not yet prioritized) --------------------------------------------- • Need a more direct way to ask for help and to find who needs help. Something like /state but with announcements in the main channel and maybe a periodic "Here's where people need help" post or something like that. • Fix all message posting in Slack to avoid limits, (breaking big messages (is it 100 blocks? need to check) into multiple smaller messages). • Set-up an announcements Slack channel that's auto fed by email to a particular email address. • Have Turbot explicitly report long state strings to the channel, (since the implicit report from settting the abbreviated topic won't have the whole message). • Allow a hunt (and perhaps a round) to have multiple URLs • Provide an "Archive channel" button in the channel when outputting the message that results from /solved. • Would it be helpful to have some sort of "tools" command to collect pointers to useful tools and allow for searching of them? • Investigate what from snap2 we could incorporate into our sheets: https://github.com/kevinychen/snap2 • Watch the recent hunt workshop that had some recommendations on tools and see what from that we should incorporate • Think about writing some custom solving tools, (like Qat, or Nutrimatic, or Snap2, etc.) • Fix slash commands to pass off processing to a separate Lambda and then return immediately (removing the annoying "operation timeout" complaints from Slack even when the command works exactly as it should). • Hunt creation and editing should set the hunt channel's topic • There should be a state string in the hunt (and support for the /state command) so that there's a supported way to edit the hunt channel's topic without destroying its links. • The Turbot Home view and the /hunt output should emit the hunt links and state string (similar to how puzzle links and state strings are already implemented). Round management ---------------- • Select round fields by default based on the round of the puzzle for the channel in which `/puzzle` is invoked. Hunt overview commands and filters ---------------------------------- • On the Turbot home screen allow a dropdown for Unsolved/Solved/All puzzles • On the Turbot home screen add a text box for a search hstring (to work like the search string now available in "/hunt"). File uploads ------------ • Incorporate puzzle file uploads into the database state for each puzzle. Any file uploaded to the Slack should get included initially, but when editing a puzzle users can drop irrelevant files or label relevant files. Opt-in for channel invitations ------------------------------ • Consider adding a user option to allow a user to opt-in to auto invitation for all newly-created puzzle channels Sheet-related fixes ------------------- • Add the solution to the sheet name on solved: "[TITLE] - Solved [ANSWER]" • Use a hunt-specific Google Drive folder for creating all the sheets. (This way, we can share out the "mh2021" folder to all team members so that people can browse the sheets that way if wanted, and have backup access to all of them on the off chance of Slack not being available.) • Do something to make it more clear which tabs exist just as backup/reference from the original template vs. any new tab a user has created during the hunt. (Perhaps color the reference tabs differently.) Un-prioritized items -------------------- • Add support for recording/displaying those who have current roles Maybe this should just be a "Post" in the main hunt channel, (and need not have any direct Turbot support?) • Think about some way to express solve priority Lower priority -------------- • Implement code to close out an entire hunt after the fact • Figure out what tool we want to use for shared drawing on a puzzle and integrate that into Turbot, (give a command that will generate a new URL and will insert that URL into the Slack topic and the list of links at the top of the sheet). • Think about using a URL shortener API for the sheet URLs (to leave more room in a channel topic for state string content)