1 Turbot: Slack automation for the Halibut that Bass team to do puzzle hunts
3 Turbot is a Slack integration which facilitates puzzle tracking,
4 spreadsheet creation, and other useful features for remote
7 From the user point of view, all functionality is available in Slack
8 by means of the "Turbot" App and Slack commands such as "/new",
9 "/edit", "/state", "/solved", "/tag", "/hunt", "/round", "puzzle", and
10 "/rot". Each command has some built-in documentation (just type the
11 command to see it) and the "/help" command gives an overview of all
12 commands. Additionally "/help <command>" can be used to get help on
15 There is also a user document that we plan to add to this repository.
17 From the developer point of view, the code is implemented as a set of
18 AWS Lambda functions as well as the configuration of the Slack app to
19 invoke the correct functions.
21 There are a few places where pieces are deployed or configured:
23 * The AWS account is associated with a root login of
24 crwth@puzzlers.org. If you need access to this account, just ask
25 Carl at that email and he'll help you out. The Turbot lambda is
26 named "turbot" and can be deployed with "make deploy" from this
29 * The Google docs for the spreadsheet template and for every
30 puzzle-specific spreadsheet are stored in a Google account for the
31 email address turbot@cworth.org . Again Carl will be happy to
32 share these out to anyone, (including sharing the hunt-specific
33 Google drive directory containing all the sheets for a specific
34 hunt to everyone in the hunt).
36 * The Turbot lambda needs access to pickled credentials for the
37 Google account for creating and updating Google sheets. To update
38 these a human must run ./gsheets-authenticate.py and then login to
39 the turbot@cworth.org Google account in the web browser that pops
40 up. This will result in a file named
41 .gsheets-pickle.base64. Finally, the user must go to the Systems
42 Manager pane in the AWS console, click on Parameter Store in the
43 left menu and then edit the GSHEETS_PICKLE_BASE64 parameter to
44 have a value of the contents of the .gsheets-pickle.base64 file.
46 * The Turbot Slack app is maintained at the following URL:
47 https://api.slack.com/apps/A01B6C96E21 This is where the AWS
48 Lambda URLs are configured for specific slash commands, etc.
50 * Finally, any particular Slack instance using Turbot needs to add
51 the Turbot app which is under "Settings and Administration ->
52 Manage Apps" available for any Slack user that is an admin for
53 that particular Slack instance.
55 If you have feedback or questions about Turbot, please direct them to
56 crwth@puzzlers.org or find Carl Worth (Crwth) in Slack and he can
57 invite you to the #tech-planning channel where development details are