Ordered punch-list (aiming to complete by 2021-01-08) ----------------------------------------------------- • 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). • 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 • 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 should set the hunt channel's topic (we recently added this for hunt editing at least) • 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-out of the auto invitation for all newly-created puzzle channels, (we have a hard-coded list inside Turbot right now called AUTO_INVITE_DENY_LIST) Sheet-related fixes ------------------- • 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 -------------- • 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)