1 Ordered punch-list (aiming to complete by 2021-01-08)
2 -----------------------------------------------------
4 • Add "meta" as a checkbox field on puzzle creation/edit
6 • Tweak /hunt and /round to treat meta puzzles as special (sort them
7 first and add some META label)
9 • Make `/puzzle` for a meta puzzle also display the names/answers of
10 all puzzles in the round.
12 • Add /tag to add/remove tags (will force to all caps and store as a
13 prefix as part of the state string for now)
15 Specifically, this should be "/tag TAG_NAME" or "/tag +TAG_NAME" to
16 add a tag and "/tag -TAG_NAME" to remove a tag.
18 • Make the /hunt command drop from the database any rounds that have 0
21 Recently-proposed ideas (not yet prioritized)
22 ---------------------------------------------
23 • Set-up an announcements Slack channel that's auto fed by email to a
24 particular email address.
26 • Have Turbot explicitly report long state strings to the channel,
27 (since the implicit report from settting the abbreviated topic won't
28 have the whole message).
30 • In messages (like from /solved) don't use a raw user_name value from
31 the request, but instead some tagged version of a user ID (which
32 Slack will render as a display name).
34 • Allow a hunt (and perhaps a round) to have multiple URLs
36 • Provide an "Archive channel" button in the channel when outputting
37 the message that results from /solved.
39 • Would it be helpful to have some sort of "tools" command to collect
40 pointers to useful tools and allow for searching of them?
42 • Investigate what from snap2 we could incorporate into our sheets:
44 https://github.com/kevinychen/snap2
46 • Watch the recent hunt workshop that had some recommendations on
47 tools and see what from that we should incorporate
49 • Think about writing some custom solving tools, (like Qat, or
50 Nutrimatic, or Snap2, etc.)
52 • Fix slash commands to pass off processing to a separate Lambda and
53 then return immediately (removing the annoying "operation timeout"
54 complaints from Slack even when the command works exactly as it
60 • Select round fields by default based on the round of the puzzle for
61 the channel in which `/puzzle` is invoked.
63 • Consider putting a round prefix into the channel name to group a
64 round's puzzles in the channel list.
66 Hunt overview commands and filters
67 ----------------------------------
69 • On the Turbot home screen allow a dropdown for Unsolved/Solved/All
72 • On the Turbot home screen add a text box for a search hstring (to
73 work like the search string now available in "/hunt").
78 • Incorporate puzzle file uploads into the database state for each
79 puzzle. Any file uploaded to the Slack should get included
80 initially, but when editing a puzzle users can drop irrelevant files
81 or label relevant files.
83 Opt-in for channel invitations
84 ------------------------------
86 • Consider adding a user option to allow a user to opt-in to auto
87 invitation for all newly-created puzzle channels
92 • Add the solution to the sheet name on solved: "[TITLE] - Solved [ANSWER]"
94 • Use a hunt-specific Google Drive folder for creating all the
95 sheets. (This way, we can share out the "mh2021" folder to all team
96 members so that people can browse the sheets that way if wanted, and
97 have backup access to all of them on the off chance of Slack not
100 • Come up with a better sheet template (Nathan has got one available here:
102 https://docs.google.com/spreadsheets/d/1drSoyrE4gM3JaGweDkOybwXWdKPIDTfUmB1gQCYS3Uw/edit#gid=1471575838
104 • Put the puzzle's name into the primary tab of the sheet
106 • When copying tabs from the spreadsheet template, don't leave the
107 default "Copy of " text in place.
109 • Do something to make it more clear which tabs exist just as
110 backup/reference from the original template vs. any new tab a user
111 has created during the hunt. (Perhaps color the reference tabs
117 • Add support for recording/displaying those who have current roles
119 Maybe this should just be a "Post" in the main hunt channel, (and
120 need not have any direct Turbot support?)
122 • Think about some way to express solve priority
127 • Implement code to close out an entire hunt after the fact
129 • Figure out what tool we want to use for shared drawing on a puzzle
130 and integrate that into Turbot, (give a command that will generate a
131 new URL and will insert that URL into the Slack topic and the list
132 of links at the top of the sheet).
134 • Think about using a URL shortener API for the sheet URLs (to leave
135 more room in a channel topic for state string content)