Recently-proposed ideas (not yet prioritized) --------------------------------------------- • 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). • In messages (like from /solved) don't use a raw user_name value from the request, but instead some tagged version of a user ID (which Slack will render as a display name). Round management ---------------- • Add a /round command which is identical to /hunt except that it acts on only the puzzles in the same round(s) as the current puzzle. • Select round fields by default based on the round of the puzzle for the channel in which `/puzzle` is invoked. • Consider putting a round prefix into the channel name to group a round's puzzles in the channel list. Meta-puzzle support ------------------- • Figure out a good mechanism for linking puzzles to a meta-puzzle that they feed into. Is this different or the same as the round mechanism described above? 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"). • Figure out what we want for tagging and searching on tags (beyond what's already possible with the state strings). Editing puzzle fields --------------------- • Implement a command to display the status of the current puzzle within the channel. Need a name for this command. • Extend the in-channel puzzle display to also allow editing of all puzzle fields • Implement an /archive command to allow for easy archiving of a channel for a solved puzzle (but make sure archived puzzles still show up in global hunt/round views). • Ensure that both spreadsheet and channel are updated in response to any changes. 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-out of 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 ------------------- • 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.) • Question: Having "SOLVED" at the beginning of the sheet name is nice for makint it noticeable with the sheet open, but it changes the order of the sheet in the folder view. Do we maybe want to put "SOLVED" at the end of the name so that puzzle sheets can be reliably found in an ordered position regardless of solved status? • Come up with a better sheet template • Put the puzzle's name into the primary tab of the sheet • When copying tabs from the spreadsheet template, don't leave the default "Copy of " text in place. • 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 • 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)